私は長い間ネットワークに 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