He estado usando CIFS para mi red durante mucho tiempo y me gustaría usar NFS para mi distribución de archivos de Linux a Linux. Tengo una unidad compartida en la que configuré un grupo fijo, que parece funcionar bien cuando se monta a través de NFS, excepto cuando root está escribiendo.
Entonces, en el servidor de archivos hay un directorio llamado media que he realizado aplicando las ACL setfacl -d -m u::rwx,g::rwx,o::r-x Media
encendido, por lo que se ve así:
drwsrwsrwx+ 16 chrishunter users 4096 Sep 25 06:10 Media
y realizar acciones funciona como se esperaba:
chrishunter@server:/media/disk1/Media$ touch file
chrishunter@server:/media/disk1/Media$ sudo touch file2
[sudo] password for chrishunter:
chrishunter@server:/media/disk1/Media$ sudo su
root@server:/media/Media# touch file3
root@server:/media/Media# ls -ltra file*
-rw-rw-r-- 1 chrishunter users 0 Sep 26 05:51 file
-rw-rw-r-- 1 root users 0 Sep 26 05:51 file2
-rw-rw-r-- 1 root users 0 Sep 26 05:52 file3
Ahora el montaje a través de NFS no parece aplicar las ACL, por lo que cuando ejecuto un archivo sudo touch se ve así:
chrishunter@client:/mnt/Media$ touch file
chrishunter@client:/mnt/Media$ sudo touch file2
[sudo] password for chrishunter:
chrishunter@client:/mnt/Media$ sudo su
root@client:/mnt/Media# touch file3
root@client:/mnt/Media# ls -ltra file*
-rw-rw-r-- 1 chrishunter users 0 Sep 26 06:09 file
-rw-r--r-- 1 root users 0 Sep 26 06:10 file2
-rw-r--r-- 1 root users 0 Sep 26 06:10 file3
Entonces parece que NFS4 debería propagarlo al cliente automáticamente y al ejecutarlo nfs4_getfacl Media
puedo ver los permisos:
A::OWNER@:rwaDxtTcCy
A::GROUP@:rwaDxtcy
A::EVERYONE@:rxtcy
A:fdi:OWNER@:rwaDxtTcCy
A:fdi:GROUP@:rwaDxtcy
A:fdi:EVERYONE@:rxtcy
Ahora esto me dicesiguiendo al hombreque realmente todos los permisos deberían heredarse, pero en este caso no es así.
Notas que muestran que debe montarse con las ACL en su lugar.
chrishunter@server:/media/disk1/Media# tune2fs -l /dev/dm-0 | grep "Default mount options:"
Default mount options: acl
chrishunter@server:/media/disk1/Media# mount |grep media
/dev/mapper/vg1-lv1 on /media/disk1/Media type ext4 (rw,acl)
Actualizar: Se agregó el contenido de las exportaciones ya que este era un problema potencial.
/media/Media 192.168.0.0/24(rw,no_root_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)
Respuesta1
NFS clásico maneja especialmente al usuario root. Puede intentar configurar la no_root_squash
opción en su archivo de exportaciones en el servidor. Verman exports