Quiero montar un recurso compartido SMB protegido por contraseña (servido por una máquina con Windows). El recurso compartido está protegido por un nombre de usuario y una contraseña, y no puedo escribir la contraseña en un archivo, quiero que se me solicite la contraseña en el momento del montaje.
Necesito una solución que funcione incluso cuando el usuario en la máquina cliente no tiene ningún privilegio administrativo, por lo que cualquier método que se use para montar el recurso compartido no debe permitirle obtener permisos de root. La instalación inicial se puede hacer como root. Los usuarios deben poder especificar nombres de servidor arbitrarios. Mi necesidad inmediata es con Ubuntu 12.04, pero cuanto más amplia sea la solución aplicable, mejor.
El cliente no tiene cabeza, así que estoy buscando una herramienta de línea de comandos.
Lo que probé:
mount.cifs
:si bien se puede convertir en setuid root, sus autores no lo consideran seguro. Ejecutándolo bajosudo
tiene el mismo problema.smbnetfs
,fusesmb
:No pude convencer a ninguno de los dos para que me pidieran una contraseña.- Nautilus y gvfs:
gvfs-mount smb://servername/sharename
falla conError mounting location: volume doesn't implement mount
.
¿Cómo puedo montar un recurso compartido de Samba desde la línea de comandos, como usuario no root, con una solicitud de contraseña?
Respuesta aceptada:
"Ubicación de montaje de error:el volumen no implementa el montaje" aparentemente se traduce como "Necesito D-Bus pero no está disponible". (Gracias al colega gurú de venturax por esta información). Dentro de una sesión SSH, puedo usar gvfs-mount
siempre que dbus-daemon
se inicia primero y la variable de entorno DBUS_SESSION_BUS_ADDRESS
está configurado.
export $(dbus-launch)
gvfs-mount smb://workgroupname;[email protected]/sharename
# Type password
ls ~/.gvfs/'sharename on hostname'
gvfs-mount
y otras utilidades GVFS deben comunicarse con la misma sesión de D-Bus. Por lo tanto, si usa varias sesiones SSH o usa montajes en sesiones de inicio de sesión, debe:
- iniciar D-Bus la primera vez que se necesite, a más tardar;
- tenga cuidado de no dejar que D-Bus termine con la sesión, siempre que haya sistemas de archivos GVFS montados;
- reutilice la sesión de D-Bus existente en el momento del inicio de sesión, si hay una.
Consulte Reutilizar sesiones de D-Bus en sesiones de inicio de sesión para eso.