我知道我不应该直接以 root 身份登录来配置我的服务器。因此,我总是创建一个新帐户并将其添加到/etc/sudoers。但是,我希望获得一些有关配置此维护帐户的提示。
您是否为其指定了主目录?您如何称呼它?您将管理脚本存储在哪里?等等...
答案1
对此有两种观点:
- 该帐户是“常规”帐户,您可以直接通过
sudo
- 该帐户存在的唯一目的是进行管理
在前者中,您只需创建一个代表“您”的帐户。这是您在 OS X 和 Ubuntu 中看到的策略;该帐户只是一个普通用户帐户,恰好具有更改系统设置的能力。没有特别的事情需要考虑,只是在调用旨在更改系统的命令行条目时使用 sudo。在 GUI 中,系统将提示您输入密码以确认键盘末端确实是人,而不是恶意脚本或程序,请求进行更改。
在后者中,帐户非常特定于此角色,您只应将其用于这些目的。如果您设置了这种帐户,那么您将希望使其统一。如果您有某种单点登录设置 (SSO),那么您应该查看该架构将什么视为“本地管理员”。例如,如果我将 Ubuntu 计算机加入 Windows 域并且我想拥有这种管理帐户,我将创建一个名为“本地管理员”的“localadmin”帐户,然后将该帐户尽可能接近 Windows 域控制器认为是计算机上的“本地管理员”的帐户。如果您使用的是 Kerberos 之类的东西,您可能需要考虑创建一个 Kerberos 帐户,当本地映射时,该帐户具有 adm 组的成员身份,并通过 sudo 授予 adm 组对系统资源的访问权限。这将为所有机器创建一个“管理员”帐户并提供额外的隔离。
答案2
普通用户帐户,与任何其他用户帐户没有区别。不知道您所说的“管理脚本”是什么意思,所以无法回答这一部分,但我可以说我永远不会将它们放在用户的主文件夹中。
答案3
审计(AAA 中的第三个 A)表明您应该能够审计具有管理权限的人员的活动。您可以执行的审计级别取决于您对 sudo 的锁定程度(即,如果您让某人通过 sudo 获取 shell,您将无法看到他们在该 shell 中执行的操作)。
为了能够执行此审计,您需要准确了解谁提升了权限,因此帐户应与个人而不是角色绑定。个人在调用 sudo 时将担任该角色。
如果您希望两个帐户能够执行相同的管理任务,则应该授予两个帐户 sudo 访问权限,而不是让两个不同的人登录同一个帐户。
如果您需要一个地方来存储共享脚本,请根据您的操作系统分布和/或个人偏好在 /usr/local 或 /opt 下创建一个目录层次结构。