为什么 Fedora 创建具有权限“r-xr-x---”的 /root?

为什么 Fedora 创建具有权限“r-xr-x---”的 /root?

是否有任何文件可以说明我/root被其所有者标记为不可写的原因? ( r-xr-x---)

我知道,凭借 CAP_DAC_OVERRIDE,其所有者通常具有写访问权限。不过看到这一点还是让我感到惊讶。所以我很好奇我是否可以从中学到什么!

在我看来,Debian 的方法看起来更自然。在 Debian 上,权限是rwx------.

$ rpm -q --whatprovides /root
filesystem-3.2-37.fc24.x86_64
$ sudo dnf info filesystem | grep Release
Release     : 37.fc24
$ grep ^VERSION= /etc/os-release
VERSION="25 (Workstation Edition)"

答案1

2009 年左右,Fedora 对此进行了更改。来源:https://bugzilla.redhat.com/show_bug.cgi?id=517575P

感谢@jordanm 指出了这一点。我试图复制相关的引用。免责声明:我确信这个渲染过程中丢失了一些东西。

这些更改剥夺了 root 的写入权限,因此您还需要 DAC_OVERRIDE 才能写入。然后,我们放弃了需要 root、但面向网络或 setuid 的功能。

批评回应

无论如何,这是一个善意的想法,但实际上,如果没有进一步的重大工作,它就无法工作,因为 uid 0 但不是 CAP_DAC_OVERRIDE 的进程仍然完全能够重写例如 /usr/bin/bash ,其中仍然有 u+w ,或 /root/.bashrc 。解决这类问题的答案就是 SELinux。对恢复目录模式 755 的补丁有异议吗?

作者的回答:

[你的软件]有什么问题?如果它尝试写入系统目录,则应该有问题。

回复:

这不是什么大问题,有效恢复 rpm-ostree 的代码很小,随着时间的推移应该不难携带。

我只是想交叉链接这些错误,以便其他遇到此问题的人可以看到我们在 rpm-ostree 中所做的更改。

第三方感叹:这是关于类中任何工具都需要的拼凑来解决这个问题。

https://github.com/projectatomic/rpm-ostree/pull/335

链接到引入此问题的 Fedora bug,并进行更改,使其也用于“compose”情况,因为:

相关内容