NFS与root用户共享anonuid / anongid

前端之家收集整理的这篇文章主要介绍了NFS与root用户共享anonuid / anongid前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从我的服务器导出了一个共享,并将anonuid和anongid设置为0(root).但是,当我在客户端上安装共享时,我的设置不会正常工作,因为我正在获取root权限所拥有的文件夹中的权限.

使用NFS版本3.2.29的Server CentOS 5.7 / Client CentOS 6.4.

这是我在SERVER上的/ etc / exports:

/STORAGE 10.0.5.10(rw,sync,no_subtree_check,no_root_squash,anonuid=0,anongid=0)

基本上,当客户端(10.0.5.10)连接到服务器时,我需要它的行为就好像它是服务器上的root用户一样.提前谢谢你的帮助!!

解决方法

如果您希望10.0.5.10上的任何用户以root身份显示,您希望这样做:

/ STORAGE 10.0.5.10(rw,all_squash,anonuid = 0,anongid = 0)

all_squash告诉NFS,对于从10.0.5.10连接的任何用户,忽略它们的实际UID / GID,而是将它们视为UID = anonuid和GID = anongid.由于你设置了anonuid = 0,anongid = 0为所有用户提供了对/ STORAGE的10.0.5.10 root访问权限,有效地绕过了/ STORAGE上的所有安全性,并使得任何看起来来自10.0.5.10 IP的人都可以滥用它地址.

FWIW,从安全的角度来看,这是一个可怕的想法.

如果可以在服务器上使用NFSv4,则可以启用UID / GID映射并在服务器上添加静态映射到/etc/idmapd.conf,告诉它应该在NFSv4上为10.0.5.10上的特定用户授予root访问权限服务器. man idmapd.conf有关设置配置文件的详细信息.在NFSv4服务器上设置配置文件后,更新导出:

/ STORAGE 10.0.5.10(rw,no_root_squash)

然后你只想启用映射,清除idmap缓存,然后重启地图服务:

echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping
nfsidmap -c
service rpcidmapd restart

如果您这样做,那么您只给予一个用户root权限,而不是所有用户.

猜你在找的Linux相关文章