O NFS clássico lida especialmente com o usuário root. Você pode tentar definir a opção no_root_squash
em seu arquivo de exportação no servidor. Veja man exports
Estou usando o CIFS para a minha rede há muito tempo, e gostaria de usar o NFS para minha distribuição de arquivos Linux para Linux. Eu tenho uma unidade de compartilhamento que eu coloquei um grupo pegajoso, que parece funcionar bem quando montado via NFS, exceto quando o root está escrevendo.
Portanto, no servidor de arquivos existe um diretório chamado mídia que eu executei aplicando as ACLs setfacl -d -m u::rwx,g::rwx,o::r-x Media
on, então é assim:
drwsrwsrwx+ 16 chrishunter users 4096 Sep 25 06:10 Media
e a execução de 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 para que, quando eu executar um arquivo de toque sudo, pareça com isso:
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
Portanto, 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 diz seguindo o homem que, na verdade, todas as permissões devem ser herdadas, mas neste caso caso não é.
Notas para mostrar devem ser montadas com as ACLs no 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)
Atualização: Adicionado o conteúdo das exportações, pois isso era um problema em potencial.
/media/Media 192.168.0.0/24(rw,no_root_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)
O NFS clássico lida especialmente com o usuário root. Você pode tentar definir a opção no_root_squash
em seu arquivo de exportação no servidor. Veja man exports
Tags access-control-list nfs4