之前有个问题:
大多数反对这种可能性的人说你会需要它,如果你没有,你会遇到大麻烦。
我认为这不是真正的原因,有很多方法可以避免任何组件的单点故障,因此访问一台服务器的重要性尤其变得无关紧要。
因此,如果您的 IT 基础架构完全冗余,并且无法访问特定服务器是非关键的,并且可以通过集群、虚拟化、克隆、快速备份系统等来解决。
你会放弃root帐户吗?我的经验表明,主要是 sysadmin 与 root 帐户有个人关系,并且没有保存自己服务器的密码有很大的问题。
之前有个问题:
大多数反对这种可能性的人说你会需要它,如果你没有,你会遇到大麻烦。
我认为这不是真正的原因,有很多方法可以避免任何组件的单点故障,因此访问一台服务器的重要性尤其变得无关紧要。
因此,如果您的 IT 基础架构完全冗余,并且无法访问特定服务器是非关键的,并且可以通过集群、虚拟化、克隆、快速备份系统等来解决。
你会放弃root帐户吗?我的经验表明,主要是 sysadmin 与 root 帐户有个人关系,并且没有保存自己服务器的密码有很大的问题。
只需通过 ssh 和 su 禁用 root 登录即可。在我参与的任何组织中,它总是运行良好。只需使用控制台以 root 身份登录进行维护,所有其他用户只需使用 sudo。
如果我负责一台服务器,我将需要一些级别的特权访问。如果此帐户名称是root,或者我必须以自己的身份登录并使用某些工具来提升我的权限,这并不重要。
如果系统是标准的 *nix(或关闭标准),那么我可能会在某些时候需要root访问权限来执行某些管理任务,这仅仅是因为几十年来一直如此,并且有很多这种做事方式的惯性。但这并不意味着当我不需要它时我会以该帐户登录,或者我会保持该帐户处于打开状态且不受保护。
如果我不对主机负责,那么我可能不应该获得 root 帐户。事实上,我经常尝试避免让任何人告诉我 root 密码是什么。
老实说,我看不出这与需要特权帐户在计算机上执行特权任务有何关系。
当功能在所有事物中得到更普遍的支持时,绝对是这样。
在那之前,我将继续
sudo
处理仍然需要显式特权提升的几件事。不过,最后我研究了一下,许多开箱即用的系统仍然相对不支持功能的概念。拥有这一点很重要。这样,无论您的系统是什么,您都可以说“此用户有能力访问它”,而不会实际升级到另一个用户帐户。当然,授予的权限需要基于系统中用户的角色,但最终,任何人都不应该拥有帐户的所有权力(至少,如果有多个功能由其他人处理,则不是) .如果您是 DBA,只要您拥有数据库系统进程和文件系统存储区域,就不需要任何形式的超级用户访问权限。这可能意味着您必须要求磁盘管理员在您的分区上运行 fsck 或不时恢复它们,或其他任何事情,但 DBA 不应该有能力关闭具有自己访问权限的机器,除非他们“拥有”服务器。
也就是说,如果你是唯一一个管理服务器上 100% 进程的人,那
sudo
绝对足够了。只有当您有其他人使用服务器和/或在其上管理事物(或依赖于它)并且有多个管理员时才会考虑权限分离。我们仍然保留 root 帐户并登录我们所有的服务器。原因是所有其他用户帐户都来自中央目录服务器。如果服务器脱机或不知何故失去了与目录的连接,则需要有一种方法可以登录到它以处理它。除了拥有一个 root 帐户之外,我看不出还有其他方法可以做到这一点。
我工作过的组织中关于“root”帐户的常见最佳实践。
sudo
并确保其正确记录。/bin/su
为只能由特定组(通常,wheel
或sysadmin
)执行。script
、usesudosh
、shell 历史技巧等)。root
访问权限的用户才被授予权限,sudo ALL
而其他权限则通过 sudo 在每次使用的基础上授予。UID 0 仍然是必需的,特别是对于像打开低于 1024 的端口这样的任务,即使在应用程序运行后 privs 被删除。
在 IT 中,安全性和便利性是相互排斥的。直接使用
root
帐户通常是为了方便而不是必要,也许是因为管理员sudo
一直讨厌打字?在 Unix 和 GNU/Linux 上,有时您需要成为 root,但并不经常。如果您正确设置了 sudo、SELinux 和/或功能,您可以显着减少对 root 的需求。
大量有关故障的信息隐藏在仅限 root 的日志文件中,但如果设置正确的权限以允许我访问这些相同的日志文件,以及如果我愿意,我可以成为 root 的测试环境,那么是的。我会。
如果 sudo 让我做我需要做的事情——有时我需要一个 root shell——那么是的,我会放弃 root 帐户。实际上,我可能会更快乐。
我的回答只是“不”。当然,只要我需要管理权限,就会使用 root 帐户,否则将使用普通用户帐户。
作为一名 MS Windows 开发人员,我一直使用具有本地管理权限的域帐户。不然太麻烦了,尤其是当你需要处理COM/COM+等的时候。我在Windows 2000早期尝试过用普通用户开发,一个月后终于放弃了……”RunAs “当时无法为我省去所有的麻烦……
我在过去几年工作过的大多数环境都将 root 密码保存在密码保险箱中,以用于紧急情况,以及所有通过 sudo 或 ksu 进行的特权访问。这不仅允许更细粒度的访问控制,而且具有维护审计跟踪的副作用——您可以知道哪个非特权帐户升级到执行哪个命令。