在Linux中,passwd命令用于管理用户帐户和密码
passwd命令输入新密码。passwd命令会检查新密码是否符合安全策略。这可能包括密码长度、复杂性(如包含大小写字母、数字和特殊字符)以及是否与最近使用的密码重复等。如果新密码不符合策略,passwd会提示用户重新输入。passwd命令会使用crypt()函数(在C语言库中实现)对新密码进行加密。crypt()函数使用一种单向哈希算法(如DES、MD5或SHA-256)将密码转换为固定长度的哈希值。/etc/shadow文件中的用户哈希值进行比较。/etc/shadow文件包含所有用户(除了root)的加密密码和其他敏感信息,这些文件通常只有root用户可以访问。passwd命令会更新/etc/shadow文件中的哈希值。然后,passwd命令会向用户显示一条消息,确认密码已成功更改。passwd命令还会更新/etc/passwd文件。/etc/passwd文件包含用户的基本信息(如用户名、用户ID、组ID、用户信息、用户主目录和默认shell)。但是,系统用户的密码不会存储在/etc/passwd文件中,而是存储在/etc/shadow文件中。通过这种方式,Linux中的passwd命令确保了用户密码的安全存储和更新。