200字
passwd
2025-10-10
2025-10-10

"Password" 的缩写,是一个用于修改用户账户密码的命令行工具。

该命令可以修改当前用户的密码,或由管理员(root)修改其他用户的密码,是保障账户安全的核心命令,支持密码强度检查和密码过期设置。

 passwd [选项] [用户名]
  • 不指定用户名时,默认修改当前登录用户的密码。

  • 管理员(root)可指定用户名修改其他用户的密码,普通用户只能修改自己的密码。

常用选项

  • -l:"lock",锁定用户账户(禁止登录),例如 sudo passwd -l john 锁定用户 john 的账户,登录时会提示密码错误。

  • -u:"unlock",解锁被锁定的用户账户,例如 sudo passwd -u john 解锁 john 的账户,恢复登录权限。

  • -d:"delete",删除用户的密码(使账户无密码,可直接登录),例如 sudo passwd -d guest 清空 guest 的密码,存在安全风险,谨慎使用。

  • -e:"expire",强制用户下次登录时必须修改密码,例如 sudo passwd -e alice 使 alice 下次登录时被强制更新密码,适合管理员重置密码后强制用户修改。

  • -n <天数>:"minimum days",设置密码的最小修改间隔(天数),例如 sudo passwd -n 3 bob 限制 bob 每3天内不能重复修改密码,防止频繁更换密码。

  • -x <天数>:"maximum days",设置密码的有效期(天数),例如 sudo passwd -x 90 charlie 使 charlie 的密码90天后过期,需重新设置。

  • -w <天数>:"warning days",设置密码过期前的警告天数,例如 sudo passwd -w 7 davedave 在密码过期前7天收到提醒。

  • -S:"status",显示用户的密码状态(是否设置、有效期等),例如 sudo passwd -S eve 输出 eve P 08/19/2025 0 90 7 -1,表示密码已设置、最后修改时间、最小间隔、最大有效期、警告天数等信息。

参考示例

  • 示例1:修改当前用户的密码 执行 passwd,系统会先提示输入当前密码(验证身份),再要求输入新密码并确认(输入时无明文显示),完成后密码更新,适合普通用户定期更换密码。

  • 示例2:管理员修改其他用户的密码 执行 sudo passwd john,管理员无需输入 john 的旧密码,直接设置新密码并确认,适合用户忘记密码时由管理员重置。

  • 示例3:锁定用户账户 执行 sudo passwd -l mike,锁定 mike 的账户,此时即使输入正确密码也无法登录,适合临时禁用账户(如员工离职)。

  • 示例4:强制用户下次登录修改密码 执行 sudo passwd -e sarah 后,管理员可临时设置一个简单密码(如 temp123),sarah 下次登录时会被强制要求修改为自己的密码,兼顾安全性和便捷性。

  • 示例5:设置密码有效期和警告 执行 sudo passwd -x 60 -w 10 tom,设置 tom 的密码有效期为60天,过期前10天开始提醒,符合企业安全策略中定期更换密码的要求。

  • 示例6:查看用户密码状态 执行 sudo passwd -S jerry,输出 jerry P 07/05/2025 3 60 10 -1,表示:

    • P:密码已设置;

    • 07/05/2025:最后修改日期;

    • 3:最小修改间隔(天);

    • 60:最大有效期(天);

    • 10:警告天数;

    • -1:密码永不过期(若为具体数字则表示宽限期)。

  • 示例7:解锁用户账户 执行 sudo passwd -u locked_user,解除对 locked_user 的账户锁定,恢复正常登录权限,适合临时禁用后重新启用。

  • 示例8:删除用户密码(不推荐) 执行 sudo passwd -d test_user,清空 test_user 的密码,该用户下次登录时无需输入密码直接进入系统,仅适合临时测试账户,生产环境中禁用此操作。

注意

  1. 普通用户修改密码时,系统会检查密码强度(长度、复杂度等),弱密码会被拒绝;管理员修改密码时无此限制,需手动确保密码安全。

  2. 密码输入时终端无任何显示(包括星号),输入完成后按回车即可,这是正常的安全设计。

  3. 重要账户建议结合 -x-e 选项强制定期更换密码,降低密码泄露风险。


评论