无法使用root用户创建其他用户创建的符号链接

时间:2016-02-26 15:21:52

标签: linux shell permissions symlink

我创建了一个符号链接" foo"使用我的默认用户(jgsiqueira)在/ tmp /指向文件" bar"位于我的主目录:

$ ln -s /home/jgsiqueira/bar /tmp/foo
$ ls -lh /tmp/ | grep foo
lrwxrwxrwx 1 jgsiqueira jgsiqueira   20 Feb 26 12:14 foo -> /home/jgsiqueira/bar

我的问题是:我想通过此符号链接以root身份访问此文件的内容。但是,似乎root不允许关注此链接:

# cat /tmp/foo
cat: /tmp/foo: Permission denied

有人可以帮助我帮助我理解发生了什么吗?

2 个答案:

答案 0 :(得分:2)

有趣。经过我身边的快速测试后,我遇到了同样的问题。经过一番研究后,我找到了this。原来这个问题来自/tmp文件夹本身,它限制了对符号链接的访问(将你的符号链接放在另一个文件夹中,你会看到它有效)。

答案 1 :(得分:0)

您的目标文件:/ home / jgsiqueira / bar对于inode中的第三组权限位不可见,这与文件的内容有关,而不是ls中的列表,这是第三组权限通常由车辙使用:这与符号链接无关。

以root身份或您自己给予读取权限:

chmod 666 / home / jgsiqueira / bar
或者用符号表示法,更灵活 chmod ugo + r / home / jgsiqueira / bar

最后一次使用符号表示法意味着:

你是:用户(你)
g:组
o:其他(这是root将要使用的权限位)

再见,
汉斯