/ tmp中的符号链接的权限


8

我的机器上有2个用户:linuxliteotheruser

otheruser 有一个文件:

otheruser@linuxlite:~$ ls -l a
-rw-rw-r-- 1 otheruser otheruser 6 Mar 31 12:47 a
otheruser@linuxlite:~$ cat a
hello

linuxlite在中创建了文件和符号链接/tmp

otheruser@linuxlite:~$ ls -l /tmp/file /tmp/link
-rw-rw-r-- 1 linuxlite linuxlite  3 Mar 31 12:49 /tmp/file
lrwxrwxrwx 1 linuxlite linuxlite 17 Mar 31 12:49 /tmp/link -> /home/otheruser/a

现在,尽管otheruser可以阅读/tmp/file/home/otheruser/a,但他无法阅读/tmp/link

otheruser@linuxlite:~$ cat /tmp/file
hi
otheruser@linuxlite:~$ cat /home/otheruser/a
hello
otheruser@linuxlite:~$ cat /tmp/link
cat: /tmp/link: Permission denied

我的问题是,如果他可以读取目标以及他拥有的与该符号链接位于同一目录中的另一个文件为什么不能otheruser读取其拥有linuxlite的符号链接?

如果这很重要,则对的权限/tmp为:

otheruser@linuxlite:~$ ls -l -d /tmp
drwxrwxrwt 9 root root 4096 Mar 31 13:17 /tmp

发行版是Linux Lite 3.0,内核是:Linux 4.4.0-21.generic(i686)

Answers:


9

Linux Lite是基于Ubuntu的,它限制了可在世界范围内写入的粘性目录(包括/tmp)中的符号链接:那里的符号链接只能由其所有者取消引用。

如果您在其他地方(/home/linuxlite例如)创建符号链接,则可以按期望的方式取消引用。

(Ubuntu并不是唯一以这种方式运行的发行版;我提到了Linux Lite和Ubuntu之间的联系,因为该文档似乎是特定于Ubuntu的。)

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.