As ACLs do NFS não se aplicam à raiz

2

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‌​)
    
por Chris Hunter 01.10.2015 / 09:30

1 resposta

0

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

    
por 01.10.2015 / 13:23