这两个文件/etc/shadow
看起来/etc/passwd
一样,只是报告一些账户信息。它们之间有什么区别?
答案1
答案2
从Linux 文档项目 - 6.6. Linux 密码和影子文件格式:
传统的 Unix 系统将用户帐户信息(包括单向哈希密码)保存在名为 的文本文件中
/etc/passwd
。由于许多工具(例如 )使用此文件ls
通过将用户 ID # 与用户名称进行匹配来显示文件所有权等,因此该文件需要是全球可读的。因此,这可能存在一定的安全风险。另一种存储帐户信息的方法是使用影子密码格式,这也是我经常使用的。与传统方法一样,此方法
/etc/passwd
以兼容格式将帐户信息存储在文件中。但是,密码存储为单个“x”字符(即实际上不存储在此文件中)。第二个文件称为/etc/shadow
,包含加密密码以及其他信息,例如帐户或密码到期值等。该/etc/shadow
文件只能由 root 帐户读取,因此安全风险较小。