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日志?最佳实践

    Linux系统日志主要位于/var/log目录,可使用journalctl、grep、awk等工具筛选导出,最佳实践包括:明确导出范围与时间、利用重定向或rsync备份、注意文件权限、管理日志轮转并确保存储安全。

    2025年7月21日
    15900
  • Linux程序卡死?如何快速停止?

    通过终端停止程序终止前台程序(Ctrl+C)适用场景:程序在终端前台运行(如 python script.py),操作:按下 Ctrl + C 组合键,立即发送中断信号(SIGINT),程序会正常退出并释放资源,示例:$ tail -f /var/log/syslog # 运行中按 Ctrl+C 终止通过进程I……

    2025年7月27日
    11700
  • linux如何加入window域

    在Linux系统中加入Windows域是实现统一身份认证、权限管理和资源访问的重要操作,尤其在企业环境中能简化管理流程,本文将详细介绍Linux加入Windows域的完整步骤、所需工具及注意事项,涵盖环境准备、配置实施、测试验证等关键环节,环境准备与需求分析在开始操作前,需确保满足以下基础条件,避免因环境不兼容……

    2025年8月30日
    13500
  • 在Linux操作系统中,如何通过命令行工具访问HTTP服务的详细步骤呢?

    在Linux系统中,访问HTTP服务是日常操作和服务器管理中的常见需求,无论是通过命令行工具进行自动化脚本处理,还是通过图形界面浏览器进行网页浏览,Linux都提供了多样化的解决方案,本文将详细介绍Linux环境下访问HTTP服务的多种方法、常用工具配置及常见问题处理,帮助用户根据实际场景选择合适的访问方式,命……

    2025年10月1日
    11700
  • Linux系统中,如何具体查看DB2数据库的端口占用及监听信息?

    在Linux环境下管理DB2数据库时,查看端口信息是日常运维和故障排查的重要环节,DB2数据库的端口用于客户端连接、实例间通信以及管理工具访问,正确识别端口状态不仅能帮助确认服务是否正常运行,还能避免因端口冲突或未开放导致连接失败,本文将详细介绍在Linux系统中查看DB2端口的多种方法,包括通过DB2命令、系……

    2025年9月25日
    12500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信