fstab中nodev和nosuid的解释

Iva*_*vic 61 security linux fstab

当有人描述如何挂载 tmpfs 或 ramfs 时,我经常在网上看到这两个选项。通常也使用 noexec,但我对 nodev 和 nosuid 特别感兴趣。我基本上讨厌在没有真正理解的情况下盲目地重复某人的建议。而且由于我只在网上看到有关此的复制/粘贴说明,因此我在这里询问。

这是来自文档:
nodev - 不要解释文件系统上的块特殊设备。
nosuid - 阻止 suid 和 sgid 位的操作。

但我想要一个实际的解释,如果我把这两个排除在外会发生什么。假设我已经配置了 tmpfs 或 ramfs(没有设置这两个提到的选项),系统上的特定(非 root)用户可以访问(读+写)。该用户可以做什么来损害系统?排除在 ramfs 的情况下消耗所有可用系统内存的情况

eww*_*ite 46

您不必盲目地遵循此规则作为硬性规则。但更多以安全为重点的情况的推理如下。

  • nodev 挂载选项指定文件系统不能包含特殊设备:这是一项安全预防措施。您不希望像这样的用户世界可访问的文件系统具有创建字符设备或访问随机设备硬件的潜力。

  • nosuid 挂载选项指定文件系统不能包含 set userid 文件。在一个全局可写的文件系统上阻止 setuid 二进制文件是有道理的,因为那里存在根升级或其他可怕的风险。

就其价值而言,我不经常使用这些参数……仅在有其他合规性考虑因素的面向公众的系统上使用。

  • @ewwhite :关于`nosuid`是不是忽略了 setuid 位?*(而不是`nosuid 挂载选项指定文件系统不能包含set userid 文件`)* (3认同)