root 无法访问通过 NFS 共享的用户主文件夹

root 无法访问通过 NFS 共享的用户主文件夹

我们有一台本地服务器,它导出一个NFS共享,用作网络中 Linux 主文件夹的父目录。用户通过LDAP(在同一台服务器上运行)进行身份验证。

身份验证工作正常,并且用户登录到客户端计算机后,共享上的主文件夹也能正常工作。

但是,有一个问题:客户端上的 root 用户无法访问用户文件夹。这是一个问题,因为即使像sudo apt-getroot 无法写入用户文件夹这样简单的事情也会产生错误。

我认为问题可能是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在此示例中)?

答案1

来自出口手册页:

通常,当访问 NFS 服务器上的文件时,不希望客户端计算机上的 root 用户也被视为 root。为此,uid 0 通常被映射到不同的 id:所谓的匿名或 nobody uid。此操作模式(称为“root squashing”)是默认模式,可以使用 no_root_squash 关闭。

答案2

您需要no_root_squash在导出时进行设置。否则,root 用户的访问将映射到匿名用户(通常是 nobody)。

答案3

您需要检查 NFS 挂载是如何导出的。可能已启用“root_squash”。

来自文档:root_squash — 防止远程连接的 root 用户拥有 root 权限并为他们分配用户 nfsnobody 的用户 ID。

no_root_squash 选项关闭 root 压缩

更多信息请点击这里:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html

相关内容