ACLs NFS não se aplicam ao root

ACLs NFS não se aplicam ao root

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 Medialigado, 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 Mediaposso 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_squashopção em seu arquivo de exportação no servidor. Verman exports

informação relacionada