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)
酷番叔酷番叔
上一篇 4小时前
下一篇 4小时前

相关推荐

  • CentOS停更后,最佳替代方案是什么?

    为什么需要编译内核?编译自定义Linux内核通常用于:启用官方内核未包含的特定硬件驱动启用实验性功能或安全模块优化系统性能(如服务器调优)学习操作系统底层原理重要警告:⚠️ 错误的内核操作可能导致系统无法启动⚠️ 建议在虚拟机或测试机操作⚠️ 全程需要root权限准备工作安装编译工具链sudo apt upda……

    9小时前
    200
  • 如何定义函数?

    在Linux系统中,脚本(Script)是通过解释器执行的文本文件,用于自动化重复任务、管理系统或部署应用,以下是详细的脚本编写指南,遵循Linux最佳实践:脚本基础结构Shebang行(必需)首行指定解释器路径,告知系统用哪个程序执行脚本:#!/bin/bash # 使用Bash解释器#!/usr/bin/e……

    2025年6月24日
    1400
  • Linux静态库链接失败?速查解决方法!

    静态库基础概念静态库(Static Library)是Linux系统中预编译代码的集合,文件后缀为.a(Archive),其核心特点:编译时链接:代码在编译阶段直接嵌入可执行文件独立运行:无需额外依赖库文件空间换效率:增加可执行文件体积,但提升运行时速度典型命名:lib<名称>.a(如libmath……

    2天前
    500
  • 如何正确为dev/sdb分区避免误操作?

    挂载前的准备工作连接硬盘并识别将硬盘接入SATA/USB接口,开机后执行: sudo fdisk -l # 或使用 lsblk查看新硬盘标识(如 /dev/sdb、/dev/nvme0n1p1),备份数据(重要!)若硬盘存有数据,务必先备份,挂载操作可能触发格式化,导致数据丢失,检查文件系统确认硬盘是否已格式化……

    16小时前
    200
  • 安装软件时如何自动确认?

    安装软件时自动确认功能允许用户预设同意所有安装步骤,无需手动点击,此功能适用于批量部署或无人值守安装场景,通过静默模式自动完成软件安装过程,显著提升效率并减少人工干预。

    2025年7月5日
    1300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信