Nfs
關於 nfs 共享上的 krb5p 和 sys 的問題
我與 nfs 做了一些共享 這是 /etc/exports 文件(我知道 no_root_squash 很危險,但只是暫時的,用於測試)
/srv/nfs4 10.3.0.0/24(ro,no_subtree_check,fsid=0,sec=krb5p:sys) 192.168.0.0/24(ro,no_subtree_check,fsid=0,sec=krb5p:sys) /srv/nfs4/kernels 10.3.0.0/24(rw,no_subtree_check,async,no_root_squash,nohide,sec=krb5p:sys) 192.168.0.0/24(rw,no_subtree_check,async,no_root_squash,nohide,sec=krb5p:sys)
如果我使用 sys 選項掛載目錄,則 posix acl 會受到尊重,如果我以 root 身份創建文件,則以 root 身份報告權限(這是我想要的)。
mount -vvv -o sec=sys myserver:/kernels /mnt/ mount.nfs: timeout set for Tue Dec 28 07:18:41 2021 mount.nfs: trying text-based options 'sec=sys,proto=tcp,retrans=2,retry=1,acl,ac,rsize=32768,wsize=32768,bsize=32768,port=2049,vers=4,addr=10.3.0.1,clientaddr=10.3.0.1' cd /mnt mkdir 44944 root@server:/mnt$ ls -lhd * drwxr-xr-x 2 nobody nogroup 4,0K 28 dic 06.52 33/ drwxr-xr-x 2 root root 4,0K 28 dic 07.10 449/ drwxr-xr-x 2 nobody nogroup 4,0K 28 dic 07.17 4494/ drwxr-xr-x 2 root root 4,0K 28 dic 07.18 44944/
問題是如果我使用 sec=krb5p 掛載目錄,它會強制掛載為nobody:nogroup(原文如此!),我嘗試給目錄 777 權限,然後以 kerberized 使用者身份輸入(我先做了 kinit)然後我創建一個目錄..它將權限報告為nobody:nogroup。
mount -vvv -o sec=krb5p myserver:/kernels /mnt/ mount.nfs: timeout set for Tue Dec 28 07:21:45 2021 mount.nfs: trying text-based options 'sec=krb5p,proto=tcp,retrans=2,retry=1,acl,ac,rsize=32768,wsize=32768,bsize=32768,port=2049,vers=4,addr=10.3.0.1,clientaddr=10.3.0.1' mkdir 449444 root@myserver:/mnt$ ls -lhd * drwxr-xr-x 2 nobody nogroup 4,0K 28 dic 06.52 33/ drwxr-xr-x 2 root root 4,0K 28 dic 07.10 449/ drwxr-xr-x 2 nobody nogroup 4,0K 28 dic 07.17 4494/ drwxr-xr-x 2 root root 4,0K 28 dic 07.18 44944/ drwxr-xr-x 2 nobody nogroup 4,0K 28 dic 07.21 449444/
如您所見,該目錄被創建為nobody nogroup(使用chmod 777,否則正確授予權限被拒絕)
我必須檢查什麼?伺服器和客戶端都是 Debian 11
找到解決方案。我在一個多網路伺服器上,它通過一個介面連接到一個網路,另一個介面連接到另一個網路。在我為每個網路使用兩個“不同”主機名之前(網路 A 將我的伺服器解析為 virt.domain.example,網路 B 將伺服器解析為 router.domain.example)我已經使用相同的主機名(但不同當然域)每個網路,現在在守護程序重新啟動後可以正常工作。