我们有一个自动基线检查,如果/etc/shadow上的权限未设置为1000,则会引发警报。
接收这些警报的工作人员已经开始质疑1000的健全性,因为root可以在它想要的任何地方读和写(所有文件都会自动至少600根),但是根用户在没有执行权限集的情况下不能执行文件(对于root没有自动的700文件权限)。
将/etc/shadow权限设置为1000在许多基线中,例如官方的红帽GitHub存储库(用于PCI、CJIS、NIST、CCE)中的不可用操作手册。
为什么/etc/shadow应该是1000,而不是像看起来功能相同的600?还是我的假设是错误的,对于根用户来说Linux有多大的限制/允许性?
发布于 2019-10-30 10:30:09
将/etc/shadow权限设置为1000的目的是保护该文件不被守护进程访问,即使在以根用户身份运行时也是如此,方法是确保访问由DAC_OVERRIDE 能力控制。由于Fedora 12和RHEL 6,基于Fedora的系统运行没有DAC_OVERRIDE的守护进程,但将DAC_OVERRIDE授予管理员登录会话(这样管理员就看不到更改)。
详情请参见较低的工艺能力。
这取决于以下事实:600个权限在功能上并不相同:600个权限授予文件所有者读写权限,而1000个权限只授予对具有DAC_OVERRIDE功能的进程的访问权限。传统上,以根用户身份运行总是授予DAC_OVERRIDE,但不一定是这样的。
(SELinux也可以用来限制根的能力,但这里不涉及这一点。/etc/shadow确实有自己的SELinux上下文,提供了额外的访问控制。)
https://unix.stackexchange.com/questions/549464
复制相似问题