iMac 使用者無法使用 sudo 存取 NFS 安裝的主目錄

iMac 使用者無法使用 sudo 存取 NFS 安裝的主目錄

我剛剛在家庭網路上重新安裝了 iMac,並透過 NFS 共用(託管在 Ubuntu 伺服器上)安裝了用戶主目錄。

我遇到的問題是,當我使用 sudo 時,我自己的主目錄的權限被拒絕。

我的 UID 是 501,由於我是管理員群組 (GID 80) 的成員,所以可以使用 sudo。

在 Ubuntu 伺服器上,我的主目錄配置如下:

Ubuntu# ls -ln | grep bryan
drwxrwx--- 35 501 80 4096 2012-01-27 14:09 bryan

在 Mac 上正確翻譯:

iMac$ ls -l | grep bryan
drwxrwx---  35 bryan    admin   4.0K 27 Jan 14:09 bryan/

由於 root 也是 admin 的成員(GID 80),我以為 sudo 允許存取我的主目錄,但正如您在下面看到的,情況並非如此。

iMac$ whoami
bryan
iMac$ sudo bash
bash: /Volumes/home/bryan/.bashrc: Permission denied
iMac# whoami
root
iMac# cd /Volumes/home/bryan/
bash: cd: /Volumes/home/bryan/: Permission denied

為了確認一下,以下是dscacheutil -q group我的 iMac 上輸出的相關部分:

name: admin
password: *
gid: 80
users: root bryan 

使用 sudo 時如何才能存取 iMac 上的主目錄?

答案1

當您使用 時sudo,您將切換到使用者root(uid 0) – 您失去您的brianUID 和admin群組。 (sudo id將向您顯示確切的值。)

由於先前的 NFS 版本(v3 及更早版本)僅在客戶端執行所有安全檢查,因此內建了一個安全措施來防止不誠實的客戶端 – 當客戶端說您的 UID 為 0 時,您就這樣做不是取得 root 權限 –相反,NFS 伺服器將您視為用戶nobody

若要停用此保護措施,請編輯伺服器/etc/exports以具有該no_root_squash選項,然後exportfs -ra在所有用戶端上重新執行並重新安裝共用。


測試 NFS 權限時,在共用上擁有一個全域可寫入的目錄非常有用。例如,在 Ubuntu 上,sudo mkdir /home/temp; sudo chmod a+rwx /home/temp.然後在 OS X 上,您可以執行sudo touch /Volumes/home/temp/testfile並立即查看新建立的檔案的擁有者。

相關內容