关于 A 用户设置的符号链接, B 用户无法访问的问题

2020-04-10 21:48:10 +08:00
 vencentge

如上图所示,造成这个原因是什么啊

2427 次点击
所在节点    Linux
8 条回复
liuxu
2020-04-10 21:57:26 +08:00
google 一下你就知道了。权限在 inode 里,软连接只是指向了文件的 inode,然后读取 passwd 的 inode 里面的权限数据,你这用户的权限没有
vencentge
2020-04-10 22:00:08 +08:00
@liuxu 可是我两个用户,都是能直接读取到 /etc/passwd 这样的文件,具备你说的用户读取权限吧。
choury
2020-04-10 23:11:01 +08:00
strace cat xxx
看下什么错误不就知道了
cnt2ex
2020-04-11 00:27:51 +08:00
似乎是和目录的 sticky bits 有关。

https://lwn.net/Articles/390565/

The solution is to permit symlinks to only be followed when outside a sticky world-writable directory, or when the uid of the symlink and follower match, or when the directory owner matches the symlink's owner.
cnt2ex
2020-04-11 00:32:02 +08:00
/proc/sys/fs/protected_symlinks
把值改成 0 就可以了。具体可以看
https://www.kernel.org/doc/Documentation/sysctl/fs.txt
liuxu
2020-04-11 08:31:34 +08:00
你把 passwd 权限贴出来
vencentge
2020-04-11 15:45:34 +08:00
@cnt2ex 正解,非常感谢。
vencentge
2020-04-11 15:48:47 +08:00
这是修改为 1 的演示
![image.png]( https://i.loli.net/2020/04/11/RWjnurzai9SwlVE.png)
这是修改 0 的演示
![image.png]( https://i.loli.net/2020/04/11/USvD9FfczAPx1Ya.png)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661309

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX