插件窝 干货文章 Linux服务器如何修改密码

Linux服务器如何修改密码

密码 修改 用户 bash 662    来源:    2025-04-27

在Linux服务器上修改密码可以通过以下几种方法,具体操作如下:


1. 修改当前用户的密码

passwd
  • 系统会提示输入当前密码,然后输入新密码(需输入两次确认)。
  • 密码需符合复杂度要求(如长度、大小写、特殊字符等)。

2. 修改其他用户的密码(需root权限)

sudo passwd 用户名
  • 例如修改用户tom的密码: bash sudo passwd tom
  • 无需输入当前密码,直接设置新密码即可。

3. 强制用户下次登录时修改密码

sudo passwd -e 用户名
  • 此命令会使用户密码立即过期,下次登录时强制重置。

4. 非交互式修改密码(脚本中使用)

使用chpasswd命令(需root权限):

echo "用户名:新密码" | sudo chpasswd
  • 示例: bash echo "tom:MyNewPass123" | sudo chpasswd

5. 特殊情况:忘记root密码

若需重置root密码(需物理访问或单用户模式): 1. 重启服务器,在GRUB菜单选择内核时按 e 进入编辑模式。 2. 找到 linux 行,末尾添加 rd.breakinit=/bin/bash。 3. 按 Ctrl+X 启动,进入紧急模式后执行: bash mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel # 如果SELinux启用 exit reboot


注意事项

  1. 密码复杂度:建议至少8位,包含大小写字母、数字和符号。
  2. 权限控制:普通用户只能修改自己的密码,root可修改任意用户密码。
  3. 日志记录:密码修改会记录在/var/log/auth.log(具体路径因发行版而异)。
  4. SSH连接:修改密码后,现有SSH会话不会断开,但新登录需用新密码。

常见问题

  • 错误提示 Authentication token manipulation error
    可能原因:文件系统只读、/etc/shadow权限损坏。尝试:

    mount -o remount,rw /
    
  • 密码策略修改
    编辑 /etc/login.defs 或使用 pam_cracklib 模块调整策略。


根据实际需求选择合适的方法,如果是生产环境,建议通过安全通道(如SSH+密钥)操作。