Debian NFS 用戶端權限問題

Debian NFS 用戶端權限問題

我有以下環境:

host1:帶有 zfs 2.1.11 的 Debian 12:使用預設軟體包 nfs-utils 2.6 開啟 ldap 伺服器

host2:Debian 12:使用預設套件開啟 ldap 用戶端,nfs-utils 2.6

在ldap伺服器端,我建立了兩個群組,primarygroup1和primarygroup2,使用者user1屬於群組primarygroup2

伺服器端

getent group:
primarygroup1:*:1000001:
primarygroup2:*:1000002:

getent passwd:
user1:x:1000001:1000002:user1:/home/user1:/bin/false

伺服器透過 NFS 提供資料集以及具有權限的文件

NFS 導出:

exportfs -v
/tank/d1 <world>(sync,wdelay,hide,fsid=9a31889cb81531154198e4c3c5156b74,sec=sys,rw,secure,no_root_squash,no_all_squash)

檔案權限:

getfacl /tank/d1/file.txt
getfacl: Removing leading '/' from absolute path names
# file: tank/d1/file.txt
# owner: root
# group: primarygroup1
user::rwx
group::r--
other::---

客戶端:

NFS掛載

mount
192.168.164.200:/tank/d1 on /mnt/testnfs type nfs
(rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.164.200,mountvers=3,mountport =53721,mountproto=udp,local_lock=none,addr=192.168.164.200)

文件的權限

getfacl /mnt/testnfs/file.txt
getfacl: Removing leading '/' from absolute path names
# file: mnt/testnfs/file.txt
# owner: root
# group: primarygroup1
user::rwx
group::r--
other::---

getent group:
primarygroup1:*:1000001:
primarygroup2:*:1000002:

getent passwd:
user1:x:1000001:1000002:user1:/home/user1:/bin/false

問題在於,在客戶端,user1並沒有讀取該檔案的權限,它不屬於primarygroup1,但它可以讀取該檔案。

user1@deb12nfsclient:/root$ cat /mnt/testnfs/file.txt
####### data ######

重新啟動 NFS 伺服器並重新掛載有時會有所幫助,但在大多數情況下不起作用。此外,我注意到大約 15 分鐘後,這些權限可以自行正常工作,無需重新啟動 NFS 伺服器

大約 15 分鐘後:

user1@deb12nfsclient:/root$ cat /mnt/testnfs/file.txt
cat: /mnt/testnfs/file.txt: Permission denied

在客戶端,我使用了安裝選項:noac, actimeo=0 但沒有幫助。

有人知道為什麼它會這樣?有什麼辦法可以縮短這個時間以便權限正常運作嗎?

問候亞當

相關內容