root 無法訪問通過 NFS 共享的使用者主文件夾
我們有一個導出
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