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

MyS*_*ver 8 permissions symlink

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

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

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

如果我确实有读取权限foo.txt,只是没有访问权限/home/bob怎么办?

相反的情况,我可以访问/home/bob但不能读取的情况foo.txt如何?

Arm*_*ius 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
Run Code Online (Sandbox Code Playgroud)

如果我确实有读取权限foo.txt,只是没有访问权限/home/bob怎么办?

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

相反的情况,我可以访问/home/bob但不能读取的情况foo.txt如何?

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

  • @4o2 由于这是正确的,我在这里评论以详细说明。您的问题更多与权限有关,您已正确标记了权限,欢迎来到 Exchange。当一个用户被创建时,他们在`/home`下收到一个目录,并被放在一个与他们的用户名同名的组中,即用户bob在bob组中,直到他被添加到其他人中,以防止用户互相读取文件. 在过去,所有用户都属于用户组,这允许您提到的恶意意图。为了让 Anna 看到 bob 的文件,bob 必须将她添加到 bob 组中。 (2认同)