为什么/etc/passwd 向公众开放阅读?

为什么/etc/passwd 向公众开放阅读?

/etc/passwd 应该是全球可读的有什么理由吗?这不像密码哈希不应该被公开,我只是想知道为什么。

答案1

/etc/passwd有时称为用户数据库。这应该给我们一个线索,说明为什么每个人都需要阅读它。任何检查文件元数据的实用程序都需要能够读取/etc/passwd(和/etc/group),以便能够将内核及其子系统使用的数字 ID 解析为我们所依赖的人类友好名称。需要查找您的主目录的工具(邮件传递代理等)会在 中查找信息/etc/passwd,而inet小型服务器则fingerd在 中查找您的详细信息/etc/passwd

正如其他地方所指出的,该文件中没有特别敏感的数据,因为现代系统将密码散列放在影子密码文件中,该文件只能由 root 读取。

答案2

/etc/passwd不包含密码哈希(所以这不是一个大问题)。/etc/shadow包含密码哈希值,并且只能由 root(和影子组)读取

相关内容