iMac 用户无法使用 sudo 访问 NFS 挂载的主目录

iMac 用户无法使用 sudo 访问 NFS 挂载的主目录

我刚刚在家庭网络上重新安装了 iMac,并通过 NFS 共享(托管在 Ubuntu 服务器上)安装了用户主目录。

我遇到的问题是,当我使用 sudo 时,我的主目录的权限被拒绝。

我的 UID 是 501,由于我是 Admin 组 (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并立即查看新创建文件的所有者。

相关内容