我只是很好奇,因为我知道密码配置位于/etc/passwd
,但在文档中我没有看到我的实际密码,显然是出于安全原因。我在终端中打开了,passwd-
但less
在那里也找不到。
Ubuntu 如何知道并读取您输入的密码?
答案1
几十年前,Unix 系统中的密码并不在 /etc/password 文件中:)
Linux(Ubuntu 也一样)也采用同样的策略。您的密码加密在 /etc/shadow 文件中,您需要 root 身份才能读取该文件。/etc/shadow 中的密码是哈希这是一个单向操作。好的,你需要 (1) 用于哈希操作和(2)哈希使用的算法,你可以会尝试解密 /etc/shadow 文件(请记住,您需要 root 权限才能读取此文件)。
您可以在此答案中找到更多详细信息:
答案2
密码存储在 中。它们是加密的。和/etc/shadow
的完整性可以通过 pwck 命令验证:/etc/passwd
/etc/shadow
pwck -r /etc/passwd
pwck -r /etc/shadow
密码曾经存储在 中/etc/passwd
,但后来被移至/etc/shadow
以限制访问——虽然/etc/passwd
任何用户都可以读取,但/etc/shadow
默认情况下只有 root 可以访问。