网上有很多关于创建sudo
用户和组、编辑sudoers
文件等的讨论。
例如,您可能有敏感的配置文件或 shell 脚本,并且您将文件所有权设置为root:root
,然后可能 chmod0700
或其他内容。
如果您以 sudo 身份登录到服务器,则可以直接sudo ...
访问这些文件。
但我想知道是否有添加用户的好案例,特别是。 sudo 用户,对于root
组...是否有这样做的充分理由,或者如果遵循最佳实践,则永远不需要这样做?
答案1
与 root 用户不同,该root
组不具有任何固有的权力或特权。因此,您从组中获得的任何特殊权限root
都是因为root
组中文件的组权限,或者是因为 sudo 之类的内容可能被配置为提供额外的权限。
该组曾经root
用于 sudo,并且在许多配置文件中,除了 sudo 组之外,该组仍然存在。另外,当时组 0 被称为“ wheel
”而不是root
。为了清楚起见,我将从wheel
这里开始将组 root 称为“”,以将其与 user 区分开root
。
Unix 安全性的趋势是让系统文件具有所有权,root:wheel
并假设这种所有权使文件更难以损坏(或泄漏)。因此,趋势是不再wheel
用于其他任何用途,而是创建特殊组(例如sudo
替换)wheel
,并进一步分离和稀释 的任何可能的额外权限wheel
。
因此,添加用户是否有意义的决定wheel
完全取决于将提供哪些额外的访问权限。如果他们已经在该sudo
组中,则不需要wheel
授予访问该组的权限。是否有wheel
文件具有wheel独占的读或写访问权限?相关用户是否需要它,或者如果他们有的话会出现问题吗?
例如,在某一时刻,日志文件只能被root
或读取wheel
。目前的趋势是,在试图进一步分离该权限时,已将大多数日志文件的组更改为adm
(或类似的拼写),尽管组中可能仍然存在一些日志文件的痕迹wheel
。其他领域也发生了类似的转变,进一步削弱了以前所涵盖的权限wheel
。
如果您有权限,为什么还需要
wheel
(或adm
)权限sudo
?
我们的想法是,您使用 sudo 的次数越少,使用 sudo 的习惯越少,以 root 身份意外执行本应作为用户执行的操作的机会就越小。因此,需要使用 sudo(例如)检查日志文件,甚至使用文件名完成来获取日志文件名是不方便的,并且可能是危险的。最好将用户添加到文件组(及其父目录)中。