阅读:0

Linux chage用法详解:修改用户密码状态

通过 chage 命令可以查看和修改 /etc/shadow 文件的第三个字段到第八个字段的密码状态。我个人建议直接修改 /etc/shadow 文件更加直观和简单。

那么为什么还要讲解 chage 命令呢?因为 chage 命令有一种很好的用法,就是强制用户在第一次登录时必须修改密码。

chage 命令的格式如下:

[root@localhost ~]#chage [选项] 用户名

选项:
  • -l:列出用户的详细密码状态;
  • -d 日期:密码最后一次修改曰期(/etc/shadow 文件的第三个字段),格式为 YYYY-MM-DD;
  • -m 天数:密码的两次修改间隔时间(第四个字段);
  • -M 天数:密码的有效期(第五个字段);
  • -W 天数:密码修改到期前的警告天数(第六个字段);
  • -i 天数:密码过期后的宽限天数(第七个字段);
  • -E 日期:账号失效时间(第八个字段),格式为 YYYY-MM-DD;

举几个例子,先看一下查看状态。

【例 1】

[root@localhost ~]# chage -l lamp
#查看一下用户密码状态
Last password change:Jan 06, 2013
Password expires:never
Password inactive :never
Account expires :never
Minimum number of days between password change :0
Maximum number of days between password change :99999
Number of days of warning before password expires :7

我们强制 lamp 用户在第一次登陆时必须修改密码。

【例 2】

[root@localhost ~]# chage -d 0 lamp
#这个命令其实是把密码修改曰期归零了,这样用户一登录就要修改密码

然后我们以 lamp 用户登陆一下系统。

local host login:lamp
Password:
#输入密码登陆
You are required to change your password immediately (root enforced)
changing password for lamp.
#有一些提示,就是说明 root 强制你登录后修改密码
(current)UNIX password:
#输入旧密码
New password:
Retype new password:
#输入两次新密码

这项功能在进行批量用户管理时还是非常有用的。