允许用户访问所有 root 权限,除了……

允许用户访问所有 root 权限,除了……

我开始学习更多关于 Linux 安全性的知识,并且对授予部分 root 权限有一点了解,但我需要撤销部分 root 权限。假设我有两个帐户,admin并且user.admin是主帐户。user是辅助帐户。我该如何设置它,以便user可以sudo执行它通常可以执行的所有操作,除了更改特定文件上的不可变标志或访问原始 IO(它们可以直接修改进程和文件系统)?本机权限系统是否允许这种粒度?

我知道有一种东西叫能力哪个看起来我觉得它提供了我想要的那种精细控制,但仔细检查后发现,它的作用是不同的。如果你的问题是“X 不允许做什么?”,那么规定用户可以做什么比规定他们不可以做什么要繁琐得多。这方面的文档非常稀少。

答案1

一般来说,这是一个难题,不仅在 Linux 上,而且在所有系统上都是如此。原因是,要提供除 X 之外的完整 root 或管理员访问权限,您不能止步于此。您还需要限制对“授予 X 访问权限的能力”的访问,以及限制授予 X 访问权限的能力……等等。您通常最终不得不添加更多限制来限制一件事,而且一些精明的“几乎”root 用户可能会想出一种方法来绕过它并获得完整的 root 权限,除非您 100% 正确。出于这个原因,反其道而行之才是常态:明确授予他们您希望他们拥有的访问权限。您说得对,这可以极其很繁琐,特别是如果你真的需要“除 X 之外的 root”权限,但从安全角度来看,这样做更安全。此外,当你开始构建显式权限时,你通常会遇到其他你不希望他们做的事情,例如,你可能不希望 AlmostRoot 能够重置 Root 的密码。

相关内容