NFS ACL 不適用於 root

NFS ACL 不適用於 root

我在網路中使用 CIFS 已經很長時間了,我想使用 NFS 來進行 Linux 到 Linux 的檔案分發。我有一個共用驅動器,我在上面設定了一個黏性群組,透過 NFS 安裝時它似乎工作正常,除非 root 正在寫入。

所以在檔案伺服器上有一個我執行過的名為 media 的目錄 應用 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 專門處理 root 使用者。您可以嘗試no_root_squash在伺服器上的匯出檔案中設定該選項。看man exports

相關內容