linux系统如何修改密码?
美国、香港服务器
linux系统如何修改密码?
05-03 来源:
一、普通用户修改自身密码
使用 passwd 命令即可完成交互式修改:
bash
passwd
系统会依次提示输入当前密码、新密码(需符合复杂度要求)及重复确认。若密码强度不足,可能会触发警告,但通常仍允许提交。
示例输出:
plaintext
Changing password for user john.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
二、管理员修改其他用户密码
root 用户直接修改:
bash
passwd username
无需输入旧密码,直接设置新密码并确认即可。
sudo 权限用户操作:
bash
sudo passwd username
需先输入当前用户密码以验证 sudo 权限,再设置新密码。
三、忘记密码时的恢复方案
1. 单用户模式重置(适用于本地 / 物理访问)
GRUB 引导系统:
重启时按 Esc 或 Shift 进入 GRUB 菜单,选择内核条目后按 e 编辑。
在 linux 行末尾添加 rw init=/sysroot/bin/sh 或 single,按 Ctrl+X 启动。
挂载根目录为可读写:
bash
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
若启用 SELinux,需执行 touch /.autorelabel 并重启。
systemd 系统:
在 GRUB 编辑模式的内核行添加 systemd.unit=rescue.target,启动后直接进入救援 shell 修改密码。
2. 云服务器控制台重置
主流云服务商(如阿里云、AWS)均提供控制台密码重置功能:
登录云平台管理界面,找到目标实例。
选择 “重置密码” 选项,按提示设置新密码并应用。
3. Live CD / 救援模式
使用 Linux 安装盘或救援镜像启动。
挂载原系统根目录:
bash
mount /dev/sda1 /mnt
chroot /mnt
passwd root
卸载并重启。
四、批量修改密码(管理员场景)
chpasswd 命令:
从标准输入或文件读取用户名:密码对:
bash
echo "user1:newpass1\nuser2:newpass2" | chpasswd
或从文件导入:
bash
chpasswd < passwords.txt
注意:密码以明文传输,需确保操作环境安全。
脚本自动化:
编写 Bash 脚本实现批量修改:
bash
#!/bin/bash
while IFS=":" read -r user pass; do
echo "$user:$pass" | chpasswd
done < /path/to/passwords.txt
需以 root 权限执行。
五、图形化界面修改(桌面环境)
GNOME 桌面:
进入 “设置”→“用户”,选择当前用户,点击密码字段修改。
输入旧密码后设置新密码。
KDE 桌面:
打开 “系统设置”→“账户管理”,选择用户后点击 “更改密码”。
按提示完成操作。
六、关键注意事项
密码策略配置:
全局策略:编辑 /etc/login.defs 调整密码最小长度(PASS_MIN_LEN)、过期时间(PASS_MAX_DAYS)等。
用户级策略:使用 chage 命令设置特定用户密码策略:
bash
chage -M 90 -W 7 username # 密码90天过期,提前7天警告
SELinux 影响:
强制模式下修改密码可能触发策略拦截,需执行:
bash
semanage fcontext -a -t shadow_t /etc/shadow
restorecon -v /etc/shadow
或临时切换至宽容模式:
bash
setenforce 0
操作完成后恢复 setenforce 1。
权限与文件安全:
密码哈希存储于 /etc/shadow,确保其权限为 -rw------- 且仅 root 可访问。
避免将密码明文记录在日志或可被非授权用户访问的文件中。
密码复杂度建议:
包含大小写字母、数字、特殊字符,长度≥8 位。
避免使用常见字典词汇或个人信息(如生日、姓名)。
七、故障排查
错误提示处理:
Authentication token manipulation error:检查 /etc/shadow 文件权限及 SELinux 状态,确保文件系统可写。
Permission denied:确认是否以 root 或 sudo 权限执行命令。
密码同步问题:
若通过 NIS/LDAP 认证,需同步修改集中认证系统的密码。
多服务器环境可通过 Puppet/Ansible 等工具实现密码同步。
通过以上方法,可高效完成 Linux 系统密码管理。建议定期轮换密码并结合多因素认证(如 SSH 密钥 + 密码)提升安全性。操作敏感任务前,务必备份关键系统文件(如 /etc/shadow)以防意外。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快