¿Cómo montar un recurso compartido de Windows / Samba Windows en Linux?

21

En Linux (Ubuntu 12.04) quiero montar una partición de Windows Share / Windows nombrada //winshareden la red. No conozco la IP ni nada más.

En un sistema Ubuntu, puedo montar un directorio con

mount  //winshared/mypath /mnt/win

mientras que en otro sistema Ubuntu el mismo comando solo da

mount error: could not resolve address for winshared: Unknown error

La configuración de red parece ser la misma en ambos sistemas, e instalé smbfsy samba(este último con errores). ¿Necesito instalar algo más? ¿Necesito configurar algo? ¿Cómo descubrir las diferencias cruciales entre ambos sistemas para obtener el mismo trabajo de montaje en ambos sistemas?

Información Adicional:

  1. Cuando uso smbclientpara conectarme a la partición / compartir / lo que sea de Windows, funciona en el primer sistema pero no en el otro. El error es:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. Siguiendo este tutorial , instalé smbfsy cifs-utils, pero el mountcomando de arriba todavía da el mismo error, que NO se describe en el tutorial.

  3. También tengo una entrada en /etc/fstablectura

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    con el archivo /etc/samba/wincredidéntico a un mismo archivo en el sistema, el montaje funciona. El md5sum de ambos archivos es idéntico. Por lo tanto, se puede excluir un error con respecto a las credenciales.

Alex
fuente
Vea el tutorial en Ubuntu Wiki: wiki.ubuntu.com/MountWindowsSharesPermanently
slm
Instalé los dos paquetes, ¡pero sigo teniendo el mismo error!
Alex
He actualizado la pregunta; Publiqué la línea de fstab y verifiqué que el archivo de credenciales es correcto.
Alex
3
Obtendría esto funcionando desde la línea de comando primero, poner la línea en / etc / fstab solo hace que sea más complicado depurarlo para comenzar. Si no puede montar desde la línea de comando, entonces es otra cosa. Lo uso todos los días:mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt
slm
No, cambiar el permiso a 600 no soluciona el problema.
Alex

Respuestas:

15

O tiene un problema de resolución de nombres (que puede verificar, por ejemplo, haciendo ping al host compartido desde su host Ubuntu) o el módulo smbfs no está cargado.

Es posible que tenga que instalar smbfs primero con apt-get -y install smbfsy luego insertar el módulo con modprobe smbfs, pero después de eso debería ser bueno mount -t smbs.

Lo que estás buscando es mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.

Sami Laine
fuente
smbfsestá instalado, pero se modprobe smbfsdevuelve FATAL: Module smbfs not found.¿Necesito comenzar smbfsprimero? ¿Si es así, cómo? ¿Cómo hacer que se inicie automáticamente después de un reinicio?
Alex
@Alex - No hay nada para comenzar. Te faltan paquetes muy probablemente.
slm
@Alex: vea este tutorial de Ubuntu, tiene todo lo que necesita: wiki.ubuntu.com/MountWindowsSharesPermanently
slm
Seguí este tutorial, ¡pero sigo teniendo el mismo error!
Alex
1
En Ubunut 18.04, salté la instalación de smbfs y simplemente lo usé -t cifs. Además, puede omitir el argumento de la contraseña si se está ejecutando de forma interactiva ya que mount le pedirá su contraseña.
MrMas
3

Estoy usando un BeagleBone Black con Debian 4.9 y, debido a su capacidad de almacenamiento limitada, necesitaba montar una carpeta remota alojada en un escritorio de Windows 10. (Sé que esto probablemente no sea el mejor desde el punto de vista del diseño del sistema, pero las necesidades empresariales a menudo dejan poco espacio para eso). Entonces, tener que improvisar, es lo que se me ocurrió.

Después de encontrarse con muchos, muchos problemas al intentar montar una carpeta compartida de Windows 10, esta es mi solución, para que otros puedan beneficiarse de mi experiencia.

Host "remoto" de Windows 10

  1. Habilite el soporte para compartir archivos SMB1.0 / CIFS en las características de Windows ( detalles ).
  2. Inicie el servicio Windows NetLogon .
  3. Habilite Compartir en la carpeta que desea compartir.

Cliente Debian Linux

  1. Instalar paquetes de soporte: smbclienty cif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. Cree un directorio de destino para montar el recurso compartido remoto:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. Montar carpeta remota:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    ACTUALIZACIÓN: Después de actualizar mi instalación local de Debian a la versión 6.3, mi mountcomando se rompió y me verspidió que agregara la opción para especificar SMB1:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    
Jim cayó
fuente
2
SMB1 está desactualizado, y realmente debería intentar evitar usarlo siempre que sea posible. Si incluye vers=2.1en las mountopciones obtendrá SMB 2. También sería mejor usar en credentialslugar de usernamey password. Y es posible que no necesite el sec=ntmldespués de todo eso.
Roaima
@roaima Gracias por los consejos, pero estoy atrapado usando las cosas viejas. Gracias por arreglar el formato del código también. No me dejaba poner el código entre los elementos de la lista.
Jim cayó
mountno se rompió pasó a usar SMB2 o posiblemente 3. SMB1 ha quedado en desuso durante más de diez años y aún no debería estar usándolo.
Roaima
@roaima Es bueno saberlo, pero desafortunadamente Windows 10 parece admitir solo "SMB1.0 / CIFS". Además, esto es para una red privada, por lo que no estoy demasiado preocupado por la seguridad.
Jim cayó
Windows 10 es compatible con SMB2 y SMB3. Debes instalar un paquete de soporte para permitir que vuelva a SMB1.
Roaima
1

Verifique que winbind esté instalado; luego, en su /etc/nsswitch.confarchivo, debe winsaparecer en la hostslínea.

Algo como:

hosts: files wins dns

Puede haber otros módulos en la lista, dependiendo de qué paquetes estén instalados en su sistema.

Juliano
fuente
Probé esta solución ayer en Ubuntu 12.04 64bit y funcionó muy bien. Gracias. Hoy estoy haciendo lo mismo en Ubuntu 12.04 32bit y falla, extraño.
Czarek Tomczak
1
@update: Resulta que tienes que instalar el paquete winbind sudo apt-get install winbind.
Czarek Tomczak