¿Cómo monte Samba compartir como usuario no root

14

¿Existe un tutorial paso a paso que instruya en detalle cómo montar un recurso compartido Samba para que lo use un usuario no root en un escritorio Ubuntu 10.04?

Nota: existen numerosos hilos en la búsqueda de Google que se ocupan de este problema aparentemente nuevo. Las instrucciones que solían funcionar en Ubuntu 8.04 (o una versión anterior de smbfs) ya no funcionan.

Necesito encontrar algo actualizado y reproducible.

Android Eve
fuente

Respuestas:

13

Una herramienta muy buena para montar fácilmente sus recursos compartidos de samba en su carpeta de inicio es SMBNetFS . Con esta herramienta puede acceder a sus recursos compartidos de samba en casi todas las aplicaciones simplemente a través de un punto de montaje en su hogar.

Cómo usar SMBnetFS:

  • Instale el paquete a través de su administrador de paquetes
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf copiar configuración estándar
  • cp /etc/samba/smb.conf ~/.smb/smb.conf copiar la configuración de samba
  • mkdir ~/sambashare o cualquier otro nombre para el punto de montaje
  • smbnetfs ~/sambashare montar los recursos compartidos en el punto de montaje

Lamentablemente, solo hay poca documentación disponible. Consulte las man smbnetfsopciones y revise el archivo de preguntas frecuentes en /usr/share/doc/smbnetfs.

Takkat
fuente
+1 para los pasos detallados. Espero que esto funcione con Eclipse, porque con gvfs Eclipse definitivamente no funciona. ¿Sabes cómo SMBnetFS es diferente de smbfs?
Android Eve
2
SMBNetFS usa fusible. Asegúrese de que los usuarios estén en el fusegrupo.
Takkat 01 de
+1 otra vez! ¿Gfvs no usa FUSE también? ¿En qué se diferencia de lo que ya tengo preempaquetado (gvfs) con mi escritorio GNOME?
Android Eve
8

Cuando use gnome, simplemente puede escribir smb: // url en Nautilus. Normalmente se deben instalar gvfs-fuse y otros paquetes de gvfs, para que pueda montar samba directamente con el explorador de archivos. Además, debe encontrar todas las cosas montadas en su carpeta ~ / .gvfs. Esto incluso funciona con otros protocolos y archivos comprimidos, etc.

gvfs-mount smb://user@server/storage

Lo probé con eclipse y otras herramientas y funciona. Se debe instalar gvfs-fuse.

matthias.lukaszek
fuente
Gracias, pero Eclipse no funcionará con esto. Ya lo intenté, por eso estaba preguntando específicamente sobre smbmount (un enlace simbólico a mount.cifs que forma parte del paquete smbfs).
Android Eve
2
¿Entonces eclipse no puede acceder a .gvfs en el directorio de inicio? Que yo sepa, todos los programas deberían poder hacer esto. Corrígeme si me equivoco.
matthias.lukaszek
2

man mountle ayudará a determinar qué opciones desea. Si el sistema de Windows siempre estará disponible. Simplemente puede agregar el soporte al /etc/fstaby se montará. Puede permitir que el usuario monte y desmonte la partición según sea necesario usando las opciones user,noauto. Para permitir que otros lo desmonten, cambie usera users.

Autofs también admite montajes bajo demanda utilizando samba. El encantamiento depende de qué directorios desea montar cuando. Lo he ejecutado con éxito en un entorno de desarrollo.

EDITAR: si necesita hacer esto para muchos usuarios, sugiero usar autofs para hacer el montaje. Esto no requiere cambios en fstab. Obtener credenciales para los distintos usuarios puede ser un problema. Utilizo una estructura de directorio en el formulario /net/$HOST/$USERpara mis monturas. Autofs está configurado para la /net/$HOSTparte del montaje y monta automáticamente los directorios debajo de él según sea necesario.

Los enfoques de montaje particulares dependen de sus necesidades. He tenido casos en los que los usuarios necesitaban su directorio de escritorio montado en el servidor, aunque los montajes típicos están basados ​​en el servidor.

Para una organización grande con muchos usuarios, puede tener sentido mover los directorios a un servidor Linux y usar Samba para compartir los archivos con los usuarios de Windows. No he intentado lo contrario, pero puede ser posible.

BillThor
fuente
Esto funciona, pero necesita acceso de root para cambiar fstab. Incluso si es root, tenga en cuenta que no es práctico si tiene que hacerlo para muchos usuarios, cada uno con un recurso compartido específico para montar (como en una gran organización donde cada usuario tiene un recurso compartido personal en un servidor de archivos centralizado).
0

Encontré esta pregunta mientras investigaba la magia que realicé recientemente para hacer exactamente esto para uno de mis usuarios. Mi flujo de trabajo difiere notablemente de las otras respuestas. Sin embargo, tenga en cuenta que este es el caso más simple posible.

Asumiendo que su nombre de usuario es aey su hogar es/home/ae

1) Configurar smbfs:
mkdir /home/ae/.smb

1a) Si se necesitan credenciales de inicio de sesión de Windows, cree y edite el archivo: /home/ae/.smb/smbnetfs.confpara tener contenido:

auth winuser "winpassword"

winuseres el usuario creado en la computadora con Windows a la que desea acceder. winpasswordes la contraseña de ese usuario para iniciar sesión en Windows en esa computadora.

2) Crea tu punto de montaje:
mkdir /home/ae/nethood

3) Ejecute el comando smbnetfs:
smbnetfs /home/ae/nethood


Tenga en cuenta que todo el "entorno de red" se mostrará debajo /home/ae/nethoodcon los grupos de trabajo como la primera capa de subdirectorios.

Todos los listados a continuación se copiaron de mi navegación de carpetas como usuario no privilegiado en un host ubuntu. Nombre de usuario y grupo cambiado a ae. sudonunca fue usado. Las computadoras con Windows están en una red informal de Windows y las carpetas compartidas están protegidas por usuario / contraseña (en la computadora con Windows usando el nombre de usuario y la contraseña de Windows).

$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae   ae     0 Dec 31  1969 .
drwxr-xr-x 9 ae   ae    21 Jul 28 11:49 ..
drwxrwxrwx 2 root root   0 Dec 31  1969 WORKGROUP

Explore el grupo de trabajo WORKGROUP:

$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root  0 Dec 31  1969 .
drwxrwxrwx 9 root root  0 Dec 31  1969 ..
lrwxrwxrwx 1 root root 11 Dec 31  1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31  1969 NEWPC -> ../NEWPC

Cambie el directorio a las computadoras y todas las carpetas compartidas se enumerarán y se accederá de forma normal.

$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31  1969 .
drwxrwxrwx 9 root root 0 Dec 31  1969 ..
drwxrwxrwx 2 root root 0 Dec 31  1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31  1969 Users

Y los archivos:

$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root     0 Dec 31  1969 .
drwxrwxrwx 2 root root     0 Dec 31  1969 ..
-rwxr--r-- 1 ae   ae    1.5K Jan 25  2013 Command Prompt.lnk
-????????? ? ?    ?        ?            ? desktop.ini
-rwxr--r-- 1 ae   ae    156K May 28  2013 Download %25285%2529.iif
-rwxr--r-- 1 ae   ae    2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae   ae     178 Feb  4  2013 import orders.bat
-rwxr--r-- 1 ae   ae    2.3M Mar 30  2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae   ae       0 May 20  2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae   ae    406K Jun  6  2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae   ae     15M May  8  2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae   ae    1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae   ae    1.1K Jul 24 12:31 VB Demo.lnk

Observe que los directorios anteriores tienen propiedad root root. La propiedad del archivo será la misma que la de su usuario.

Ningún otro usuario podrá acceder a las carpetas independientemente del punto de montaje o la propiedad o los permisos de esa carpeta. Si su usuario puede "escribir" en esa carpeta (y está vacía), smbnetfs montará el entorno de la red allí y no permitirá el acceso de nadie más, incluso root. Para roottener acceso, debes hacerlo su ae.


Si no hay carpetas compartidas, el directorio de la computadora estará vacío.

Si no tiene credenciales para la computadora con Windows, puede obtener el error:
ls: cannot open directory .: Input/output error

Chris K
fuente