在Linux系统中更改开机密码(即用户密码)可通过以下多种方法实现,具体操作取决于系统环境和需求:
1. 使用 `passwd` 命令(当前用户修改自身密码)
打开终端,输入命令:
bash
passwd
系统会提示输入当前密码,验证后输入新密码两次(新密码需满足复杂度要求,如长度、大小写、特殊字符等)。
注意:普通用户仅能修改自身密码,且需知道原密码;密码输入时无回显。
2. 使用 `sudo passwd` 修改其他用户密码(需root权限)
若需修改其他用户密码(如`username`),需获取管理员权限:
bash
sudo passwd username
输入当前用户的`sudo`密码后,直接设置新密码(无需原密码)。
3. 单用户模式修改root密码(忘记密码时)
步骤:
1. 重启系统,在GRUB启动菜单选择内核时按 `e` 进入编辑模式。
2. 找到以 `linux` 开头的行,末尾添加 `rd.break` 或 `init=/bin/bash`(根据发行版不同)。
3. 按 `Ctrl+X` 进入单用户模式,挂载文件系统:
bash
mount -o remount,rw /sysroot
chroot /sysroot
4. 执行 `passwd` 修改密码,完成后输入 `touch /.autorelabel`(SELinux系统需重建标签)。
5. 退出并重启:
bash
exit
reboot
4. Live CD/USB重置密码
使用Live介质启动系统,挂载原系统根分区:
bash
mount /dev/sdXn /mnt # sdXn为根分区设备名
chroot /mnt
passwd username
5. 修改密码策略与注意事项
密码强度配置:通过 `/etc/pam.d/passwd` 或 `/etc/login.defs` 文件设置密码复杂度规则。
密码过期管理:使用 `chage` 命令设置有效期:
bash
chage -l username # 查看过期信息
chage -M 90 username # 设置90天有效期
历史密码限制:在 `/etc/pam.d/common-password` 中添加 `remember=N` 限制重复使用旧密码。
扩展知识
Linux密码散列存储在 `/etc/shadow` 中,权限为 `root:shadow`(600),普通用户不可读。
启用SSH时,建议通过密钥认证替代密码登录以提高安全性。
若系统使用LDAP或Kerberos认证,需通过对应服务(如 `passwd -D`)修改密码。
修改密码后建议测试登录,并确保关键服务(如sudo、SSH)不受影响。
查看详情
查看详情