权限被拒绝,在启用粘滞位的情况下,nfs挂载的目录中的可执行文件符号链接被禁止

我们为我们的任何用户提供NFS导出,用于安装和维护安装在客户端/公共networking上的有用软件。 在NFS服务器上,这个目录是世界上可写的,粘滞位设置(如/ tmp)。

此服务的用户之一在可执行文件中具有/ public的符号链接。 由于我们将工作站从Ubuntu 9.04升级到10.10,因此当我们尝试通过符号链接执行此文件时,我们获得了拒绝权限。 如果我们删除粘性位,我们不会再被拒绝。

我没有在我们的日志或dmesg中发现任何东西。 这是一个应用程序装甲function还是在Ubuntu 9.04和10.10之间引入的一个bug?

您可能会看到自Ubuntu 10.10以来引入的符号链接安全强化的效果。 这个function可以通过/proc/sys/kernel/yama/protected_sticky_symlinks来closures。

在Debian上,可以通过将以下内容添加到/etc/sysctl.conf来closures此function:

 fs.protected_symlinks = 0 

kernel.grsecurity.linking_restrictions – 这是grsecurity补丁添加的许多sysctl选项之一。

目前(2012-04-19)symlink保护function尚未在上游内核中合并,尽pipe近期有一些合并Debian变体的修补程序(以及一些其他硬化修改)。

我的Linux Mint Debian框似乎有一些非常类似于Sergey在他的回答中描述的符号链接安全强化的东西。

如果你正在运行Debian,请将以下内容添加到/etc/sysctl.conf

 fs.protected_symlinks = 0 

做到这一点,并附上:

 cat /etc/exports 

另外,请看下面的内容: SettingUpNFSHowTo – 社区Ubuntu文档