passwd命令用于修改用户密码,管理员可为用户重置密码并设置策略。通过PAM配置密码复杂度,如最小长度、字符类型,结合chage命令设置过期时间与强制更换,提升系统安全。
在linux系统中,修改用户密码是日常管理的重要操作之一。passwd 命令是用于管理用户密码的核心工具,它不仅允许用户更改自己的密码,也允许管理员为其他用户设置或重置密码。同时,为了保障系统安全,Linux提供了多种密码策略机制来增强密码强度和管理规范。
使用 passwd 命令修改密码
普通用户可以在终端中输入以下命令来修改自己的密码:
passwd
系统会提示输入当前密码(管理员修改他人密码时无需此步),然后输入新密码两次进行确认。例如:
Changing password for user alice.
Current password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
管理员(root)可以为任意用户修改密码,只需指定用户名:
passwd bob
执行后无需输入原密码,直接设置新密码即可。
密码安全策略配置
为了防止弱密码带来的安全风险,Linux系统通常通过PAM(Pluggable Authentication Modules)和密码策略工具来强制执行密码复杂度要求。
常见的安全策略包括:
- 密码最小长度限制
- 必须包含数字、大小写字母及特殊字符
- 禁止使用旧密码
- 密码过期时间设置
这些策略通常在 /etc/pam.d/common-password(debian/ubuntu)或 /etc/pam.d/system-auth(RHEL/centos)中配置,使用 pam_pwquality 模块控制。例如:
password requisite pam_pwquality.so retry=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
该配置要求密码至少8位,并包含大写字母、小写字母、数字和特殊字符各至少一个。
密码过期与强制更换
管理员可通过 chage 命令管理用户密码的生命周期。例如,查看用户密码状态:
chage -l alice
设置密码90天后过期:
chage -M 90 alice
强制用户下次登录时更改密码:
chage -d 0 alice
这样用户在登录时会被提示输入新密码,适用于初始账户或密码泄露后的重置场景。
最佳实践建议
为确保系统账户安全,建议遵循以下做法:
- 避免使用简单、易猜的密码(如123456、password)
- 定期更换密码,尤其是高权限账户
- 启用密码复杂度检查模块(如pam_pwquality)
- 限制密码重用,防止循环使用旧密码
- 对root账户启用强密码并限制直接登录
基本上就这些。合理使用 passwd 命令并配合系统级策略,能有效提升Linux系统的账户安全性。不复杂但容易忽略细节,比如密码策略未生效常因PAM配置未保存或服务未重启。