Estoy montando una unidad de red usando lo siguiente en /etc/fstab:
$ sudo nano /etc/fstab
//XXX.XXX.XXX.XXX /mnt/bilder cifs auto,username=XXXX,password=XXXX,vers=3.0,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0
Lo cual funciona perfectamente. Cuando ahora verifico los permisos en /mnt
$ ls -la /mnt
total 8
drwxr-xr-x 3 root root 4096 Jun 23 13:37 .
drwxr-xr-x 22 root root 4096 Jul 12 14:16 ..
drwxrwxrwx 2 pi pi 0 Aug 1 15:04 bilder
entonces parece que el usuario pi (en el que inicié sesión) tiene permisos rwx como propietario. De hecho, todo el mundo debería tener rwx.
Pero cuando intento tocar /mnt/bilder, me lo niegan.
$ touch /mnt/bilder/test
touch: cannot touch '/mnt/bilder/test': Permission denied
¿Cómo y por qué es eso?
Respuesta1
Los permisos reales de archivos de Windows no se muestran cuando monta un recurso compartido SMB. Lo que ve es simplemente lo que sus file/dir_mode
opciones de fstab le dicen al cliente CIFS queespectáculo, pero esas opciones no le permiten eludir la seguridad.
(Los permisos de archivos de Windows/SMB son un poco más extensos que solo rwx
y necesitarían diferentes herramientas como 'getcifsacl' para mostrarse correctamente).
Sin embargo, las comprobaciones de acceso reales las realiza el servidor de acuerdo con los permisos de archivo establecidos a través de Windows, y se comparan con la cuenta de usuario ( username=
) que utilizó para montar el recurso compartido.
Incluso si el servidor ejecuta Samba en Linux, se aplica lo mismo: todas las comprobaciones de acceso se basan en cuentas y, aunque el clientepodríamuestra los permisos reales de los archivos de Linux (si tiene un kernel lo suficientemente reciente que admita esta extensión SMBv3), no puede anularlos.