/usr/bin 安全漏洞中是否有世界可读/可写/可执行的链接?

use*_*871 7 linux security path symbolic-link opensuse

% ls -l /usr/bin/edit                                                                                                
lrwxrwxrwx 1 root root 3 Jan 10 05:54 /usr/bin/edit -> vim*
Run Code Online (Sandbox Code Playgroud)

这似乎适用于 中的许多二进制文件update-alternatives,至少适用于 Suse 和其他 Linux 发行版。这是否意味着 Suse 上的任何受感染帐户都可以修改符号链接,诱使用户执行任何操作?如果是这样,为什么这些是默认权限?

Ren*_*nan 4

来自维基百科条目Symbolic link

符号链接的文件系统权限通常只与链接本身的重命名或删除操作相关,而与目标文件的访问模式无关,而目标文件的访问模式由目标文件自身的权限控制。

因为该符号链接归 root 所有,所以只有他可以更改它。例如

# ln -s /bin/ls blah
# ls -la blah
lrwxrwxrwx 1 root root 7 Fev 28 15:07 blah -> /bin/ls
$ rm blah
rm: cannot remove `blah': Operation not permitted
$ ln -s blah /bin/true
ln: failed to create symbolic link `/bin/true': File exists
Run Code Online (Sandbox Code Playgroud)