![将设备所有权限制为仅 root 用户。但为什么呢?](https://linux22.com/image/1282166/%E5%B0%86%E8%AE%BE%E5%A4%87%E6%89%80%E6%9C%89%E6%9D%83%E9%99%90%E5%88%B6%E4%B8%BA%E4%BB%85%20root%20%E7%94%A8%E6%88%B7%E3%80%82%E4%BD%86%E4%B8%BA%E4%BB%80%E4%B9%88%E5%91%A2%EF%BC%9F.png)
NSA 指南Red Hat Enterprise Linux 5 的安全配置 建议将设备所有权仅限于 root 用户。
所以我的问题是,为什么我们要将设备所有权限制为 root?在 Linux 中,设备所有权到底意味着什么?
答案1
将设备文件所有权限制为 root 是合适的,因为设备文件提供相对不受限制的硬件访问权限。以下情况不适合无限制访问硬件:
- 访问 /dev/sda(硬盘的设备文件)可提供以下内容:
- 绕过访问控制和审计的能力。
- 破坏文件系统的能力。
- 控制磁盘上的数据的能力,这些数据在内核空间中进行解析以安装文件系统。
- 访问 /dev/dsp(代表麦克风的设备文件)可以让攻击者远程窃听硬件附近发生的对话。
- 访问视频设备(在较旧的硬件中)可能允许攻击者损坏视频显示器。在较新的硬件中,它可能会被用来烧坏 GPU。
限制访问还有其他原因,但从根本上说,限制对硬件的访问是因为您重视硬件,因为硬件提供访问的现实世界比位更有价值,并且因为硬件通常相对受内核信任。
在某些情况下,系统配置为对机器的物理访问(例如登录本地控制台)意味着您可以提升对某些设备(例如 CD 读取器/写入器)的访问权限。 NSA 文档可能暗中反对该配置。
答案2
设备文件所有权与任何文件;用户所有者可以通过用户权限位(例如-rwx------
)进行访问并可以更改文件的权限,组所有者可以通过组权限位(例如----rwx---
)进行访问,其他所有人可以通过“其他”权限位(例如-------rwx
)进行访问。
您限制所有权,root
以便如果非 root 进程受到损害,犯罪者无法访问设备文件或更改其权限位,从而降低现有的安全风险。