Ldap

root 無法訪問通過 NFS 共享的使用者主文件夾

  • January 30, 2014

我們有一個導出NFS共享的本地伺服器,用作網路中 Linux 主文件夾的父目錄。使用者通過LDAP(在同一台伺服器上執行)進行身份驗證。

身份驗證工作正常,共享上的主文件夾在使用者登錄到客戶端電腦後也能正常工作。

但是,存在一個問題:客戶端上的 root 使用者無法訪問使用者文件夾。這是一個問題,因為即使是簡單的事情也會sudo apt-get產生錯誤,因為 root 無法寫入使用者的文件夾。

我認為問題可能是NFS伺服器上的主文件夾權限是 0700,因此只能由使用者自己訪問。所以我把這個權限改成了0770,也把伺服器上使用者文件夾的組屬權設置為0,即root。我認為這應該可以工作,因為 0 也是客戶端機器上 root 的組 ID。

不幸的是,這並沒有解決我的問題,root 仍然無法訪問使用者的文件夾:

root@Mule:/home/users# ll
total 28
drwxr-xr-x  7 team      team  4096 Aug 20 14:18 ./
drwxr-xr-x  3 root      root  4096 Oct 29 10:43 ../
drwxrwx--- 30 mfb       root  4096 Jan 30 17:49 mfb/
root@Mule:/home/users# 
root@Mule:/home/users# cd mfb
bash: cd: mfb: Permission denied
root@Mule:/home/users# 
root@Mule:/home/users# ll mfb
ls: cannot open directory mfb: Permission denied
root@Mule:/home/users# 
root@Mule:/home/users# whoami
root
root@Mule:/home/users# 
root@Mule:/home/users# mount | grep users
bison:/media/profiles on /home/users type nfs (rw,hard,intr,addr=192.168.0.2)
root@Mule:/home/users# 

我在這裡沒有想法。有什麼建議可以讓 root 訪問客戶端上的使用者主文件夾(mfb在本例中)?

導出手冊頁:

通常,在訪問 NFS 伺服器上的文件時,客戶端電腦上的 root 使用者也被視為 root 是不可取的。為此,uid 0 通常映射到不同的 id:即所謂的匿名或無人 uid。這種操作模式(稱為“root squashing”)是預設的,可以使用 no_root_squash 關閉。

您需要檢查 NFS 掛載的導出方式。可能啟用了“root_squash”。

來自 Docs:root_squash — 防止遠端連接的 root 使用者擁有 root 權限,並為他們分配使用者 nfsnobody 的使用者 ID。

no_root_squash 選項關閉根擠壓

更多資訊:http ://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html

引用自:https://serverfault.com/questions/571073