我使用 nosuid 选项安装了所有 FS,并从所有文件中删除了 suid/sgid 位。
问题:看起来我破坏了 sudo。无论我尝试在 /etc/sudoers 中设置什么,它都不再起作用了。 sudo 需要 suid 位这是正常的,还是我遗漏了一些东西?
答案1
如果没有超级用户访问权限,则无法切换到任意用户/组。实用程序喜欢su
通过sudo
suid 位切换到 root,然后强制执行它们设计提供的任何特权系统。不太可能有任何带有 suid/sgid 位的文件不需要它,所以你全面破坏了东西。可能仍然有二进制文件使用功能(setcap)而不是粗略的suid来root(例如ping
),尽管nosuid
也会阻止它们工作。
确实,suid 二进制文件存在安全风险,因为通过这些工具之一内部的漏洞执行代码会提升其安全模型之外的权限。然而,它的存在是有原因的......