安全策略有时要求 root 是 /etc/passwd 文件中的第一个条目。是否有要求这样做的正当理由,还是只是因为 root 帐户是第一个创建的帐户而这样做?
我知道有些地方曾经使用具有相同数字 UID 的多个帐户,这在任何方面都是不好的做法,对于 root 来说更糟糕。在这些情况下,ls(1) 使用它找到的与数字 UID 匹配的名字,因此确保 root 是第一个将意味着所有 UID 0 帐户所有权在目录列表中显示为“root”。但是,更常见的是禁止创建具有相同 UID 的多个帐户,因此作为要求这样做的理由并没有多大意义。
更新:一位同事告诉我,某些 Unix 操作系统的旧版本使用 /etc/passwd 中的第一个条目来验证对单用户模式的访问。现代操作系统对 root 帐户进行身份验证,无论其在 /etc/passwd 和 /etc/shadow 中的位置如何。我很想知道何时对主要的 Unix 平台进行了此更改;有人告诉我这是 Y2K 之前的问题,所以 Linux 可能从未遇到过这个问题。