关注另一个用户的符号链接

关注另一个用户的符号链接

如何遍历另一个用户拥有的符号链接?

在我的 ubuntu 盒子上,我有一个符号链接:

root@anonymous:/var/tmp# ls -l
total 24
lrwxrwxrwx 1 lab  lab    26 Dec 15 18:27 blank.zip -> /home/admin/important6.zip

以 root 身份访问它可获得:

root@anonymous:/var/tmp# more blank.zip 
blank.zip: Permission denied

但是,如果我将所有权更改为 root:

root@anonymous:/var/tmp# chown -h root:root blank.zip ; more blank.zip 
PK...

答案1

chown -h/home/admin/important6.zip更改的所有权。blank.zip您已经blank.zip以 root 身份拥有对符号链接的完全访问权限。

如果您查看important6.zip的权限,您无疑会明白为什么它不起作用。

答案2

这是由于该fs.protected_symlinks功能而发生的。由于/var/tmp是公共目录(世界可写且具有“粘性”位),因此存在有人可能创建符号链接的风险,例如/etc/passwd,诱骗系统服务向其写入自定义数据。为了避免这种情况,只有当其所有者匹配时,才会跟踪位于“粘性”目录中的符号链接。

有关详细信息,请参阅以下文章:

答案3

我认为问题不在于符号链接的所有权,而在于/home/admin目录的所有权。由于用户 lab 没有权限查看其他用户的主目录(除非以 chmod 方式),因此符号链接无法跟踪。

由于 root 可以查看任何人的主目录,因此将所有权更改为 root 可以解决您的问题。

您可以将 lab 添加到 admin 组并/home/admin对其进行chmod 770(或740仅允许组成员读取)。通常主目录是 chmod 的700。出于安全目的,不建议增加所有其他目录的权限(最后 3 位)。

相关内容