为什么要在 linux 中更改符号链接的所有者?

use*_*507 12 symlink

在 linux 中,可以更改符号链接 (symlink) 的所有者或组所有者。我想知道为什么有人想要这样做,因为通过符号链接访问文件时不使用符号链接的权限。

我只能想象一个可能有用的用例:允许用户删除带有粘滞位的目录中的符号链接。

您知道更改符号链接的所有者或组所有者可能有用的其他情况吗?

Lar*_*ach 8

只有当链接的所有者与目标的所有者匹配时,Apache 才能配置为遵循符号链接。这有助于防止用户创建链接以访问他们不拥有的文件(例如 /etc/passwd)。

...所以假设你,作为 root,希望apache 跟随一个链接来显示某个日志文件,该文件由 xymon 或其他东西拥有,但你不想通过允许它跟随符号链接而不考虑所有者来放松 apache 的安全性. 那么您可能想让 xymon 成为符号链接的所有者。


Gil*_*il' 6

假设 root 在 Eve 可以写入的目录中工作。foo该目录中有一个文件需要更改为属于 Eve。所以根类型chown eve foo。但是就在 root 按下 Enter 之前,Eve 运行了ln -sf /etc/passwd foo。现在/etc/passwd属于夏娃!如果 root 可以运行chown -h eve foo以确保不遵循符号链接,那么可能造成的最大危害是同一目录中的其他文件已更改为属于 Eve。

lchown更改目录树的所有者时也很方便。由于调用chown了符号链接,您无需担心会意外影响树外的文件。

  • 虽然很有趣,并且显然得到了提问者的认可,但我不明白这个答案是如何解决这个问题的。似乎更多地解释了为什么在更改不应该是符号链接但仍然可能是(边缘情况,IMO)的文件的所有权时,可能会使用 `chown -h` 作为一种警示措施。它没有解释为什么人们可能希望更改实际上打算作为符号链接的文件的所有权,这就是问题所问的。 (2认同)