Linux passwd 命令详解:用于 设置和更改用户密码 的命令

Linux passwd 命令详解


一、命令简介

passwd 是 Linux 系统中用于 设置和更改用户密码 的命令,同时也可用于管理密码的相关策略(如密码过期、锁定账号等)。这是一个非常关键的系统安全命令,普通用户可以使用 passwd 修改自己的密码,而系统管理员(root)则可以为任意用户设置或重置密码。

此外,passwd 还集成了对 /etc/passwd/etc/shadow 等账户和密码文件的操作控制,是用户账户安全机制中的核心组成部分。


二、命令语法
passwd [选项] [用户名]
  • 不带用户名时,表示修改当前用户的密码。

  • 指定用户名时(通常需要 root 权限),表示修改指定用户的密码。


三、命令选项
选项含义
-d删除指定用户的密码(允许该用户无密码登录)
-e强制指定用户在下次登录时修改密码(立即过期)
-l锁定指定用户的账户(不能登录)
-u解锁指定用户账户
-S显示用户密码状态(是否锁定、加密方式等)
-n DAYS设置用户密码的最短使用期限(多少天后可改)
-x DAYS设置用户密码的最大有效期限(多少天必须改)
-w DAYS设置密码过期前多少天开始警告用户
-i DAYS设置密码过期后多少天禁用账户
--stdin从标准输入读取新密码(用于脚本)
--help显示帮助信息

四、常见用法详解
1. 普通用户修改自己的密码
passwd

执行后系统将提示输入当前密码,验证通过后再输入新密码两次确认。

2. root 用户修改任意用户密码
sudo passwd username

无需提供旧密码,可直接设置新密码。

3. 删除用户密码(允许空密码登录)
sudo passwd -d username

风险提醒:这可能导致用户无密码即可登录,不建议在公网或多用户系统使用。

4. 强制用户下次登录时修改密码
sudo passwd -e username

设置密码为立即过期状态,下次登录系统时会提示必须修改密码。

5. 锁定 / 解锁账户
sudo passwd -l username  # 锁定
sudo passwd -u username  # 解锁

锁定后,用户无法登录,但 root 可登录并操作该账户。

6. 查看用户密码状态
sudo passwd -S username

示例输出:

user1 P 05/01/2025 0 99999 7 -1

其中各字段分别代表:用户名、状态(P=已设密码)、最后更改日期、最小期限、最大期限、警告天数、不活动天数。

7. 设置密码策略示例
sudo passwd -n 3 -x 60 -w 7 -i 14 username
  • 最短使用期限:3 天

  • 最长有效期限:60 天

  • 密码过期前 7 天开始警告

  • 密码过期后 14 天禁用账户


五、密码相关文件说明
文件说明
/etc/passwd存储用户基本信息(用户名、UID、GID、家目录、shell)
/etc/shadow存储用户密码的加密信息、密码策略等
/etc/login.defs默认密码策略和账户限制配置文件
/etc/pam.d/Pluggable Authentication Modules,控制认证行为的配置

passwd 修改密码后,会自动更新 /etc/shadow 中对应用户的加密密码行和相关策略字段。


六、脚本中使用 passwd 命令

passwd 默认无法在脚本中直接使用,因为它会要求交互式输入密码。但可以通过 --stdin 结合 echo 实现:

echo "new_password" | sudo passwd --stdin username

此方法适用于自动化运维、批量账户管理等场景。

注意:不是所有发行版都支持 --stdin,如 Ubuntu 通常不支持。


七、图形界面中的 passwd

在桌面环境下,大多数 Linux 发行版也提供图形化用户和密码管理工具,这些工具的核心仍然调用的是 passwd 命令。


八、常见错误与排查
错误提示原因与解决方案
passwd: Authentication token manipulation error可能未以 root 运行,或 /etc/shadow 文件权限不当
passwd: User not known to the underlying authentication module用户不存在,或系统未使用标准的认证模块(如 LDAP 环境)
BAD PASSWORD: it is based on a dictionary word密码过于简单,不符合 PAM 密码策略,可以修改 /etc/pam.d/common-password

九、与账户安全策略的集成

passwd 与 Linux 密码策略紧密相关,策略控制主要体现在以下方面:

  • 密码复杂度(通过 PAM 配置)

  • 密码长度、是否包含特殊字符

  • 密码历史记录防重复

  • 是否允许空密码登录

配置文件路径举例:

/etc/login.defs
/etc/pam.d/passwd
/etc/pam.d/common-password

十、总结
项目内容
命令名称passwd
主要功能设置、修改、删除用户密码;管理密码策略
使用权限普通用户可改自己密码;root 可管理任意用户
密切关联文件/etc/passwd, /etc/shadow, /etc/login.defs
常用操作修改密码、强制重设、密码过期、锁定账号

passwd 是保障 Linux 用户账号安全的核心工具之一,熟练掌握它有助于管理员更好地控制用户访问权限和系统安全策略。在现代系统中,它通常与 PAM 模块和密码策略系统深度整合,是 Linux 安全体系中的关键一环。

这里是封面:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值