使用 chage 管理 Linux 密码过期和老化

举报
Tiamo_T 发表于 2021/12/06 08:19:20 2021/12/06
【摘要】 最佳实践建议用户定期更改密码。但通常情况下,Linux 系统的开发人员和其他用户不会更改密码,除非他们被迫更改密码。

最佳实践建议用户定期更改密码。但通常情况下,Linux 系统的开发人员和其他用户不会更改密码,除非他们被迫更改密码。
 
找到强制开发人员更改密码的方法是系统管理员的责任。用枪顶着用户强迫用户更改密码不是一种选择!尽管大多数具有安全意识的系统管理员甚至可能会尝试这样做。
 
在本文中,让我们了解一下如何使用 Linux chage 命令执行几个实用的密码老化活动,包括如何强制用户更改密码。

在 debian 上,您可以通过执行以下命令来安装 chage:

# apt-get install chage

 
注意:这个命令很容易打错字。您可能最终将其输入为 change,而不是 chage。请记住 chage 代表“改变年龄”。即chage命令的缩写类似于chmod、chown等,

1. 列出用户的密码及其相关详细信息

如下图,任何用户都可以自己执行chage命令来识别自己的密码什么时候到期。

Syntax: chage –-list username (or) chage -l username

$ chage --list dhinesh
Last password change                                    : Apr 01, 2009
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

 
如果用户 dhinesh 尝试为用户 ramesh 执行相同的命令,他将收到以下权限被拒绝的消息。

$ chage --list ramesh
chage: permission denied

 
注意:但是,root 用户可以为任何用户帐户执行 chage 命令。
 
当用户 dhinesh 在 2009 年 4 月 23 日更改他的密码时,它将更新“Last password change”值,如下所示。
 

$ date
Thu Apr 23 00:15:20 PDT 2014

$ passwd dhinesh
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

$ chage --list dhinesh
Last password change                                    : Apr 23, 2009
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

2. 使用 chage 选项 -M 为用户设置密码到期日期

root 用户(系统管理员)可以为任何用户设置密码到期日期。在以下示例中,用户 dhinesh 密码设置为自上次更改密码后 10 天到期。
 
请注意,选项 -M 将更新“密码过期”和“密码更改之间的最大天数”条目,如下所示。

Syntax: # chage -M number-of-days username

# chage -M 10 dhinesh

# chage --list dhinesh
Last password change                                    : Apr 23, 2009
Password expires                                        : May 03, 2009
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 7

3. 登录时密码过期警告信息

默认情况下,密码过期前的警告天数设置为 7。因此,在上面的示例中,当用户 dhinesh 尝试在 2009 年 4 月 30 日登录时,他将收到以下消息。


$ ssh dhinesh@tiamo
dhinesh@testingserver's password:
Warning: your password will expire in 3 days

4. 用户在到期后被迫更改密码

如果密码到期且用户未更改密码,系统将强制用户在登录前更改密码,如下所示。

$ ssh dhinesh@tiamo
dhinesh@testingserver's password:

You are required to change your password immediately (password aged)
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for dhinesh
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:

5. 为用户设置账户到期日

您还可以使用 chage 命令使用选项 -E 设置帐户到期日期,如下所示。下面给出的日期采用“YYYY-MM-DD”格式。这将更新“帐户到期”值,如下所示。

# chage -E "2014-05-31" dhinesh

# chage -l dhinesh
Last password change                                    : Apr 23, 2014
Password expires                                        : May 03, 2014
Password inactive                                       : never
Account expires                                         : May 31, 2014
Minimum number of days between password change          : 0
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 7

6. 强制用户帐户在 X 天不活动天数后被锁定

通常,如果密码已过期,用户将在下次登录时被迫更改密码。您还可以设置一个附加条件,在密码过期后,如果用户在 10 天内从未尝试登录,您可以使用选项 -I 自动锁定他们的帐户,如下所示。在此示例中,“密码无效”日期设置为“密码过期”值的 10 天。
 
一旦帐户被锁定,只有系统管理员才能解锁它。

# chage -I 10 dhinesh

# chage -l dhinesh
Last password change                                    : Apr 23, 2009
Password expires                                        : May 03, 2009
Password inactive                                       : May 13, 2009
Account expires                                         : May 31, 2009
Minimum number of days between password change          : 0
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 7

7.如何禁用用户帐户的密码老化

要关闭用户帐户的密码过期,请设置以下内容:

  • -m 0将密码更改之间的最小天数设置为 0
  • -M 99999将密码更改之间的最大天数设置为 99999
  • -I -1(数字减一)将“密码无效”设置为从不
  • -E -1(数字减一)将“帐户过期”设置为从不。
# chage -m 0 -M 99999 -I -1 -E -1 dhinesh

# chage --list dhinesh
Last password change                                    : Apr 23, 2009
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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。