Linux改密码只会passwd?三种方法速学!

当前用户修改自身密码(最常用)

适用场景:普通用户或管理员修改自己的密码。
命令步骤

  1. 打开终端,输入命令:
    passwd
  2. 根据提示输入当前密码(验证身份)。
  3. 输入新密码(需输入两次,确保一致)。
    Changing password for user demo.
    Current password: ********  # 输入原密码
    New password: ********      # 输入新密码
    Retype new password: ****** # 再次确认新密码
    passwd: password updated successfully

    注意

  • 密码输入时无回显(不显示字符),属正常现象。
  • 若密码过于简单,系统可能拒绝(可强制设置passwd -minlen=0临时绕过,但不建议)。

root用户修改其他用户密码(管理员权限)

适用场景:管理员为普通用户重置密码(无需原密码验证)。
命令步骤

  1. 使用susudo -i切换到root权限:
    sudo -i   # 或 su root
  2. 执行命令(以修改用户tom的密码为例):
    passwd tom
  3. 直接设置新密码(无需原密码):
    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

安全注意事项

  1. 密码强度
    • 长度至少8位,包含大小写字母、数字、符号(如 P@ssw0rd!)。
    • 避免常见词汇(admin123)、连续字符(123456)或个人信息。
  2. 定期更新
    • 建议每90天更换一次密码(企业环境可通过chage命令设置时效)。
  3. 特权保护
    • 避免直接使用root账户操作,优先通过sudo授权。
    • 敏感命令历史用history -d <行号>清理。

常见问题解决

  • 报错”Authentication token manipulation error”
    可能原因:无权限、密码文件/etc/shadow损坏、磁盘满。
    解决方案:

    1. 检查权限:ls -l /etc/shadow(应为-rw-r-----)。
    2. 修复文件:sudo touch /etc/shadow(谨慎操作)。
  • 忘记root密码
    需进入单用户模式(重启后按e进入GRUB编辑内核参数,追加init=/bin/bash)。

场景 命令 所需权限
修改自身密码 passwd 当前用户
管理员修改他人密码 sudo passwd <用户名> root或sudo权限
脚本/批量修改 echo "user:pass" | chpasswd root或sudo权限

引用说明基于Linux核心工具passwdchpasswd的官方手册(man 1 passwd, man 1 chpasswd),符合POSIX标准,适用于Ubuntu、CentOS等主流发行版,安全建议参考NIST《数字身份指南》(SP 800-63B)。

通过以上方法,您可灵活管理Linux用户密码,如遇复杂问题,建议查阅man passwd或联系系统管理员。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8290.html

(0)
酷番叔酷番叔
上一篇 2025年7月21日 20:51
下一篇 2025年7月21日 21:06

相关推荐

  • Linux如何切换到root用户?

    在Linux系统中,root用户是拥有最高权限的管理员账户,能够执行所有系统操作,如安装软件、修改系统配置、管理用户等,出于安全考虑,Linux通常不推荐直接使用root用户登录系统,而是通过普通用户登录后,再根据需要切换到root权限,以下是Linux系统中切换到root用户的几种常用方法及相关注意事项,使用……

    2025年9月18日
    13400
  • 如何具体操作将Linux系统的中文界面修改为英文显示语言版本?

    在Linux系统中将界面语言从中文切换为英文,通常可以通过图形界面或命令行操作实现,不同发行版的操作步骤略有差异,但核心逻辑一致,以下是针对主流Linux发行版的详细操作指南,涵盖系统级和用户级修改,确保切换后系统各组件(如桌面环境、命令行提示、应用程序等)均显示英文,图形界面操作(适合普通用户)图形界面切换语……

    2025年9月11日
    7800
  • Linux如何调用DLL文件内容?

    在Linux系统中直接调用Windows的DLL(动态链接库)文件并不常见,因为Linux和Windows在系统架构、文件格式和API接口上存在本质差异,DLL是Windows特有的动态库格式,而Linux下通常使用ELF格式的共享对象(.so文件),在某些跨平台开发、遗留系统兼容或特定功能需求场景下,确实需要……

    2025年9月25日
    10200
  • linux 如何去掉文件空值

    Linux中,可以使用sed ‘/^$/d’ filename命令去掉文件中的空

    2025年8月19日
    12000
  • 如何显示linux的内核

    终端输入uname -r可显示Linux内核版本信息,简单快捷获取内核相关内容

    2025年8月19日
    9700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信