Eu uso o CIFS para minha rede há muito tempo e gostaria de usar o NFS para minha distribuição de arquivos de Linux para Linux. Eu tenho uma unidade de compartilhamento na qual configurei um grupo fixo, que parece funcionar bem quando montado via NFS, exceto quando o root está gravando.
Então no servidor de arquivos existe um diretório chamado media que eu executei aplicando as ACLs setfacl -d -m u::rwx,g::rwx,o::r-x Media
ligado, então fica assim:
drwsrwsrwx+ 16 chrishunter users 4096 Sep 25 06:10 Media
e executar ações funciona conforme o esperado:
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
Agora, a montagem via NFS não parece aplicar as ACLs, de modo que, quando executo um arquivo sudo touch, ele fica assim:
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
Parece que o NFS4 deve propagá-lo para o cliente automaticamente e, executando, nfs4_getfacl Media
posso ver as permissões:
A::OWNER@:rwaDxtTcCy
A::GROUP@:rwaDxtcy
A::EVERYONE@:rxtcy
A:fdi:OWNER@:rwaDxtTcCy
A:fdi:GROUP@:rwaDxtcy
A:fdi:EVERYONE@:rxtcy
Agora isso me dizseguindo o homemna verdade, todas as permissões deveriam ser herdadas, mas neste caso não é.
Notas para mostrar que ele deve ser montado com as ACLs instaladas.
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)
Atualizar: Adicionado o conteúdo das exportações, pois este era um problema potencial.
/media/Media 192.168.0.0/24(rw,no_root_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)
Responder1
O NFS clássico lida especialmente com o usuário root. Você pode tentar definir a no_root_squash
opção em seu arquivo de exportação no servidor. Verman exports