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
如何?
是的,您可以创建指向任何位置的符号链接。
我可以
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
如何?
同样,您可以创建指向它的符号链接,但不能访问该文件。