iMac用户无法使用sudo访问NFS安装的主目录


1

我刚刚在我的家庭网络上重新安装了我的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上启用对主目录的访问?

Answers:


2

当你使用 sudo,你正在转向 root 用户(uid 0) - 你 失去 您的 brian UID和 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 并立即查看新创建的文件的所有者。


但是,root是否属于组admin(GID 80)不授予权限,或者NFS是否不将组权限考虑在内?
Bryan

@Bryan:对于root_squash,我不确定客户端主机上的组是否重要。
grawity

好的,谢谢。安全性在我的家庭网络上并不是真正的问题,所以我将添加 no_root_squash 选项。
Bryan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.