为什么 /usr/sbin 归 bin 所有是一个安全问题?

Ste*_*huk 7 security

Sendmail的安装和操作指南(§1.3.1)断言:

出于安全原因,/、/usr 和/usr/sbin 应归root 所有,模式0755 2
[...]
2有些供应商将它们归bin 所有;这会产生一个实际上与sendmail无关的安全漏洞。[...]

为什么这是一个安全漏洞?是否有以用户 bin 身份运行进程的系统?

Law*_*ceC 5

不考虑“组”和“其他”权限,拥有的东西root意味着只有 root 才能完全控制文件/目录。

其他用户拥有的东西意味着除了 root 之外的用户可以完全控制该文件。现在您有两个可以完全控制该文件/目录的实体,而在此之前您只有一个。

这对于放置在标准位置的可执行文件尤其不利,因为系统上的其他用户可能会调用它,并且拥有用户可以随意替换可执行文件,可能会将其用于恶意手段。希望在这个系统上,用户“bin”被阻止通过空 shell 或类似的/etc/passwd. 我敢打赌,这样做是为了让包管理器不必以 root 身份运行。这本身可能会带来其他好处。

但是,如果只有目录 /usr/sbin 由 bin 所有,而不是其中的可执行文件,那么它并没有那么糟糕。