NFS ACLはルートには適用されません

NFS ACLはルートには適用されません

私は長い間ネットワークに CIFS を使用してきましたが、Linux 間のファイル配布には NFS を使用したいと考えています。スティッキー グループを設定した共有ドライブがあり、ルートが書き込みを行っている場合を除き、NFS 経由でマウントすると正常に動作するようです。

ファイルサーバーには、私が実行したメディアというディレクトリがあります ACLの適用 setfacl -d -m u::rwx,g::rwx,o::r-x Mediaオンにすると、次のようになります。

drwsrwsrwx+ 16 chrishunter users  4096 Sep 25 06:10 Media

アクションを実行すると期待どおりに動作します。

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

現在、NFS 経由でマウントすると ACL が適用されないように見えるため、sudo touch ファイルを実行すると次のようになります。

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

したがって、NFS4 はそれをクライアントに自動的に伝播するはずであり、実行するとnfs4_getfacl Media権限を確認できます。

A::OWNER@:rwaDxtTcCy
A::GROUP@:rwaDxtcy
A::EVERYONE@:rxtcy
A:fdi:OWNER@:rwaDxtTcCy
A:fdi:GROUP@:rwaDxtcy
A:fdi:EVERYONE@:rxtcy

これは私にこう言っているその男を追って実際には、すべての権限が継承されるはずですが、この場合はそうではありません。

ACL が設定された状態でマウントする必要があることを示すメモ。

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)

アップデート: 潜在的な問題であったため、エクスポートの内容を追加しました。

/media/Media 192.168.0.0/24(rw,no_root_squash,anonuid=1000,anongid=1000,sync,no_subtree_check‌​)

答え1

クラシックNFSはルートユーザーを特別に扱います。no_root_squashサーバーのエクスポートファイルでオプションを設定してみてください。man exports

関連情報