为什么/etc/shadow使用用户名而不是uid?

为什么/etc/shadow使用用户名而不是uid?

/etc/shadow包含用户名,但不包含 uid。是否有特定的原因,为什么char *选择字段而不是整数?

对于直接的用户名->密码检查,这可能会更快,但对于/etc/passwd每个用户的字符串比较的关系似乎有点昂贵。

我想知道这个决定背后的理由。

答案1

.中可能有多个用户具有相同的 uid(但名称、主目录、shell 等不同)/etc/passwd。这就是当前的做法 - IIRC 即使在今天,BSD 上也有一个toor“备用根”帐户。

如果/etc/shadow密码按 uid 而不是用户名进行索引,那么/etc/passwd每个密码对应于哪个条目?

相关内容