启用粘滞位后,nfs 挂载目录中可执行文件的符号链接权限被拒绝

启用粘滞位后,nfs 挂载目录中可执行文件的符号链接权限被拒绝

我们为所有用户提供 NFS 导出,以便他们在客户端的 /public 上安装和维护有用的网络软件。在 ​​NFS 服务器上,此目录是所有人可写的,并设置了粘性位(如 /tmp)。

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

我在我们的日志或 dmesg 中没有发现任何内容。这是应用程序防护功能还是 Ubuntu 9.04 和 10.10 之间引入的错误?

答案1

你可能会看到符号链接安全强化自 Ubuntu 10.10 开始引入。可以通过 关闭此功能/proc/sys/kernel/yama/protected_sticky_symlinks

在 Debian 上,可以通过将以下内容添加至来关闭此功能/etc/sysctl.conf

fs.protected_symlinks = 0

这个主题的另一个变体是kernel.grsecurity.linking_restrictions ——这是许多 sysctl 选项添加grsecurity补丁

目前(2012-04-19),符号链接保护功能尚未合并到上游内核中,尽管有一些最近的努力合并补丁的 Debian 变体(以及一些其他强化更改)。

答案2

我的 Linux Mint Debian 盒子似乎经历了与 Sergey 在他的回答中描述的符号链接安全强化非常相似的事情。

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

fs.protected_symlinks = 0

答案3

执行此操作,并附加在此处:

cat /etc/exports

另外,请看以下内容:设置 NFS 如何操作 - Ubuntu 社区文档

相关内容