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

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

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

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

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

如果我确实具有 的读取权限foo.txt,但无法访问,该怎么办/home/bob

那么相反的情况呢,我可以访问/home/bob但不能读取foo.txt

答案1

是的,您可以创建一个符号链接任何地点。

我可以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

如果我确实具有 的读取权限foo.txt,但无法访问,该怎么办/home/bob

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

那么相反的情况呢,我可以访问/home/bob但不能读取foo.txt

同样,您可以创建指向它的符号链接,但不能访问该文件。

相关内容