Permisos del recurso compartido cifs montado (compartido desde FreeNAS)

9

Tengo una instalación de FreeNAS ejecutándose en VirtualBox. Cuando intento montar uno de mis recursos compartidos de FreeNAS en Ubuntu 12.10, los permisos en el recurso compartido me impiden ingresar al directorio, enumerar o crear archivos.

Mi intención era proporcionar un recurso compartido donde la johncuenta de FreeNAS tiene plena autoridad y las cuentas barbaray marktienen acceso de solo lectura. Sin embargo, los permisos del recurso compartido montado me impiden incluso enumerar el directorio, y mucho menos crear o leer cualquier archivo allí.

¿Estoy haciendo algo mal al montar el recurso compartido?

Intentaré proporcionar más información a continuación.

Configuré mi FreeNAS de acuerdo con las instrucciones que se encuentran aquí . El almacenamiento resultante tiene permisos como se muestra aquí:

ingrese la descripción de la imagen aquí

(Sé que necesito ajustar los permisos de escritura para el grupo).

En Windows7, no tengo problemas para montar el recurso compartido:

C:\Users\John>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : Orion
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : dibnatri.net


Wireless LAN adapter Wireless Network Connection:

   Connection-specific DNS Suffix  . : dibnatri.net
   Description . . . . . . . . . . . : Intel(R) Centrino(R) Wireless-N 1030
   Physical Address. . . . . . . . . : [redacted]
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.1.100(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Tuesday, May 14, 2013 6:47:24 AM
   Lease Expires . . . . . . . . . . : Friday, June 20, 2149 1:24:02 PM
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DNS Servers . . . . . . . . . . . : 192.168.1.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : dibnatri.net
   Description . . . . . . . . . . . : Realtek PCIe FE Family Controller
   Physical Address. . . . . . . . . : [redacted]
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

  [snip]

C:\Users\John>net use
New connections will be remembered.

There are no entries in the list.


C:\Users\John>net use y: /user:john \\192.168.1.20\Tunes
The password is invalid for \\192.168.1.20\Tunes.

Enter the password for 'john' to connect to '192.168.1.20':
The command completed successfully.

Y:\>net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           Y:        \\192.168.1.20\Tunes      Microsoft Windows Network
The command completed successfully.


C:\Users\John>y:

Y:\>dir
 Volume in drive Y is Tunes
 Volume Serial Number is 1D20-98EC

 Directory of Y:\

05/14/2013  06:54 AM    <DIR>          .
05/13/2013  02:58 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  6,131,715,282,944 bytes free

Y:\>copy con test1
sss
^Z
        1 file(s) copied.

Y:\>dir
 Volume in drive Y is Tunes
 Volume Serial Number is 1D20-98EC

 Directory of Y:\

05/14/2013  06:56 AM    <DIR>          .
05/13/2013  02:58 PM    <DIR>          ..
05/14/2013  06:56 AM                 5 test1
               1 File(s)              5 bytes
               2 Dir(s)  6,131,715,447,808 bytes free

Y:\>type test1
sss

Sin embargo, intentar hacer lo mismo con Ubuntu no funciona tan bien:

[johnd:~] $ ifconfig
eth0      Link encap:Ethernet  HWaddr [redacted]  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:215 errors:0 dropped:0 overruns:0 frame:0
          TX packets:215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:20073 (20.0 KB)  TX bytes:20073 (20.0 KB)

wlan0     Link encap:Ethernet  HWaddr [redacted]  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4e80:93ff:fe0c:f3a0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2287 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1669164 (1.6 MB)  TX bytes:761260 (761.2 KB)

[johnd:~] $ sudo mount -l
[sudo] password for johnd: 
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
/dev/sda6 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfsd-fuse on /run/user/johnd/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=johnd)
[johnd:~] $ ls /mnt/
[johnd:~] $ sudo mkdir /mnt/tunes
[johnd:~] $ ls -l /mnt/
total 4 
drwxr-xr-x 2 root root 4096 May 14 07:04 tunes
[johnd:~] $ ls -l /mnt/
total 4
drwxr-xr-x 2 root root 4096 May 14 07:04 tunes

Tenga en cuenta los permisos y el propietario de /mnt/tunesarriba. Está a punto de cambiar, aunque no sé si eso es esperado / correcto.

[johnd:~] $ sudo mount -t cifs //192.168.1.20/Tunes /mnt/tunes -o rw,user=john
Password: 
[johnd:~] $ ls -l /mnt/
total 0
drwxrwx--- 2 1001 1003 0 May 14 06:56 tunes

1001es el uid de johnmi FreeNAS y 1003es el gid de usersallí. johnDebería tener acceso completo.

[johnd:~] 1 $ ll /mnt/tunes
ls: cannot open directory /mnt/tunes: Permission denied
[johnd:~] 1 $ cat>/mnt/tunes/test2
bash: /mnt/tunes/test2: Permission denied
[johnd:~] 2 $ 

¿Qué estoy haciendo mal aquí?

John Dibling
fuente
Tenga en cuenta que estoy cómodo en Linux, pero de ninguna manera soy un experto. Hay mucho que no sé sobre permisos, acciones, etc.
John Dibling
Es posible que deba pasar las credenciales CIFS en la llamada de montaje (ha pasado un tiempo desde que trabajé con los montajes CIFS), pero consulte este enlace askubuntu.com/questions/72471/…
rtmie
si lo intentas como súper usuario, ¿puedes enumerarlo? Copiar ? rm?
codeScriber
@ John Dibling ¿Por qué no crear un recurso compartido CIFS y un recurso compartido NFS en el mismo directorio? Entonces, ¿puede establecer permisos para grupos específicos y agregar a John al grupo de escritura y Barbara y Mark al grupo de solo lectura?
BsdHelper
@BsdHelper: Supongo que eso funcionaría para clientes * nix, pero Windows no habla NFS y necesitaría acceso de lectura / escritura desde cualquier parte del mundo. Desde que publiqué esta pregunta, abandoné completamente FreeNAS y adopté un enfoque de bricolaje. Ahora tengo un servidor Linux que ejecuta una matriz RAID 5 de 5 TB con los permisos correctos establecidos en todas partes. Resulta que no necesitaba FreeNAS en absoluto. Gracias por tu sugerencia.
John Dibling

Respuestas:

2

escriba el montaje (/ etc / fstab en este caso) con el parámetro noperm para indicar al cliente local que ignore las verificaciones de permisos. Se ve así (funciona para mí, ya que había ignorado los derechos de permisos locales)

//remote-ip/share /local-path/dir/ cifs  credentials=/your-credential-file,iocharset=utf8,uid=local-user-uid,gid=local-group-id,**noperm** 0 0
palo73
fuente
1

Debe agregar opciones para forzar el uid y el gid a los valores que desea en su máquina cliente en lugar de los valores del servidor. Esto se puede hacer agregando las opciones

uid=xxxx forceuid gid=xxxx forceguid

a su comando de montaje.

Requist
fuente
Esto es lo que experimenté al montar un recurso compartido cifs en mi máquina fstab : el punto de montaje localmente debe tener asignado el usuario local uid y gid. Los permisos en el NAS son secundarios siempre que se presente el combo de usuario / paso correcto para el recurso compartido durante el montaje.
douggro
0

Esto funciona bien para mi:

  • acceso de escritura para un usuario específico
  • acceso de lectura para todos los demás usuarios a través de la cuenta de invitado

Recuerde que en Unix, los usuarios necesitan el conjunto de permisos ejecutables para los directorios que necesitan recorrer .

Jan-Philip Gehrcke
fuente
-1

FreeNAS está basado en Unix y desea montarlo en una máquina Linux.

Creo que necesita montarlo con NFS porque también es Linux, basado en Unix, en lugar de CIFS, que fue escrito para máquinas con Windows.

sudo mount -t nfs //192.168.1.20/Tunes /mnt/tunes -o user=john
Bart.a
fuente
¿Estás seguro de eso? Este es un recurso compartido CIFS en el lado de FreeNAS, y está destinado a ser utilizado por máquinas Windows y Linux.
John Dibling
¿Estoy seguro de que esto funcionará? No, pero podrías intentarlo. Sí, freeNAS también funcionará en Windows. Pero mira tu propia imagen de la pestaña de permisos, te da la opción de elegir entre Unix y Windows. Con Unix seleccionado, ¿por qué no utilizar el protocolo de montaje estándar para Unix?
Bart
La imagen que publiqué se refiere a una selección entre Windows y Linux ACL . Todavía es una parte de CIFS.
John Dibling
Esto no es cierto . Si se trata de un recurso compartido CIFS / Samba, intentar montarlo como un recurso compartido NFS no hará nada. Linux tiene clientes para montar este tipo de recurso compartido.
esmail