当前用户修改自身密码(最常用)
适用场景:普通用户或管理员修改自己的密码。
命令步骤:
- 打开终端,输入命令:
passwd
- 根据提示输入当前密码(验证身份)。
- 输入新密码(需输入两次,确保一致)。
Changing password for user demo. Current password: ******** # 输入原密码 New password: ******** # 输入新密码 Retype new password: ****** # 再次确认新密码 passwd: password updated successfully
注意:
- 密码输入时无回显(不显示字符),属正常现象。
- 若密码过于简单,系统可能拒绝(可强制设置
passwd -minlen=0
临时绕过,但不建议)。
root用户修改其他用户密码(管理员权限)
适用场景:管理员为普通用户重置密码(无需原密码验证)。
命令步骤:
- 使用
su
或sudo -i
切换到root权限:sudo -i # 或 su root
- 执行命令(以修改用户
tom
的密码为例):passwd tom
- 直接设置新密码(无需原密码):
New password: ******** Retype new password: ********
关键点:
- 普通用户无法修改他人密码,必须通过root或sudo权限。
- 批量修改用户密码推荐
chpasswd
命令(见下文)。
非交互式修改密码(脚本/批量操作)
适用场景:自动化任务或批量重置密码。
方法1:使用chpasswd
命令
echo "username:new_password" | sudo chpasswd
示例:将用户lucy
的密码改为MyPass123!
echo "lucy:MyPass123!" | sudo chpasswd
方法2:使用--stdin
选项(部分系统支持)
echo "new_password" | sudo passwd --stdin username
安全注意事项
- 密码强度:
- 长度至少8位,包含大小写字母、数字、符号(如
P@ssw0rd!
)。 - 避免常见词汇(
admin123
)、连续字符(123456
)或个人信息。
- 长度至少8位,包含大小写字母、数字、符号(如
- 定期更新:
- 建议每90天更换一次密码(企业环境可通过
chage
命令设置时效)。
- 建议每90天更换一次密码(企业环境可通过
- 特权保护:
- 避免直接使用root账户操作,优先通过
sudo
授权。 - 敏感命令历史用
history -d <行号>
清理。
- 避免直接使用root账户操作,优先通过
常见问题解决
- 报错”Authentication token manipulation error”:
可能原因:无权限、密码文件/etc/shadow
损坏、磁盘满。
解决方案:- 检查权限:
ls -l /etc/shadow
(应为-rw-r-----
)。 - 修复文件:
sudo touch /etc/shadow
(谨慎操作)。
- 检查权限:
- 忘记root密码:
需进入单用户模式(重启后按e
进入GRUB编辑内核参数,追加init=/bin/bash
)。
场景 | 命令 | 所需权限 |
---|---|---|
修改自身密码 | passwd |
当前用户 |
管理员修改他人密码 | sudo passwd <用户名> |
root或sudo权限 |
脚本/批量修改 | echo "user:pass" | chpasswd |
root或sudo权限 |
引用说明基于Linux核心工具
passwd
和chpasswd
的官方手册(man 1 passwd
,man 1 chpasswd
),符合POSIX标准,适用于Ubuntu、CentOS等主流发行版,安全建议参考NIST《数字身份指南》(SP 800-63B)。
通过以上方法,您可灵活管理Linux用户密码,如遇复杂问题,建议查阅man passwd
或联系系统管理员。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8290.html