我可以创建指向无法访问文件的符号链接吗?


8

[ 免责声明:这个问题没有恶意,我试图了解学校项目的ln -s命令]

假设我的主文件夹中有一个文件系统/home/anna/home/bob是我无法访问的文件夹,带有我无法访问的文件,foo.txt

我可以ln -s /home/bob/foo.txt在我的主文件夹中成功运行吗?假设我可以,它将产生一个我无法访问的链接(具有与相同的权限foo.txt)是否正确?

如果我DID拥有读取权限foo.txt,只是无法访问该/home/bob怎么办?

如果我可以访问/home/bob但看不到相反的情况foo.txt呢?


4
您可以创建几乎所有内容的符号链接,包括不存在的内容。
muru

1
从技术上讲,symlink本身没有任何权限,通常ls会显示为lrwxrwxrwx,因此谈论llink的权限有点错误。
Henrik支持社区

Answers:


9

是的,您可以创建到任何位置的符号链接。

我可以ln -s /home/bob/foo.txt在我的主文件夹中成功运行吗?假设我可以,它将产生一个我无法访问的链接(具有与相同的权限foo.txt)是否正确?

正确。目标文件的访问限制适用。如果创建到受限资源的符号链接,则将无法访问它。甚至不需要目标文件实际存在。

演示:

$ ln -s /etc/shadow foo
$ file foo
foo: symbolic link to /etc/shadow
$ cat foo
cat: foo: Permission denied

$ ln -s /etc/nonexistent bar
$ file bar
bar: broken symbolic link to /etc/nonexistent

如果我DID拥有读取权限foo.txt,只是无法访问该/home/bob怎么办?

如果您没有父目录的权限,则无法访问其中包含的文件。因此,使用符号链接,您仍然无法访问它。创建符号链接不会影响权限。

如果我可以访问/home/bob但看不到相反的情况foo.txt呢?

同样,您可以创建一个符号链接,但不能访问该文件。


2
@ 4o2既然这是正确的,我在这里发表评论。您的问题与正确标记了权限并欢迎使用Exchange的权限有关。创建用户后,他们/home将在其下接收目录并将其与用户名同名放置在一个组中,即,用户bob在组bob中,直到将其添加到其他用户以防止用户读取彼此的文件。在过去,所有用户都属于组用户,这允许您提到恶意意图。为了让Anna查看bob的文件,bob必须将她添加到group bob中。
eyoung100 '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.