服务器 
首页 > 服务器 > 浏览文章

在 Linux 上查看和配置密码时效的方法

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

使用正确的设置,可以强制 Linux 用户定期更改密码。以下是查看密码时效以及如何更改其中设置的方法。

可以将 Linux 系统上的用户密码配置为永久或设置过期时间,以让人们必须定期重置它们。出于安全原因,通常认为定期更改密码是一种好习惯,但默认并未配置。

要查看和修改密码时效,你需要熟悉几个重要的命令:chage 命令及其 -l 选项,以及 passwd 命令及其 -S 选项。本文会介绍这些命令,还有其他一些 chage 命令选项来配置密码时效。

查看密码时效设置

确定某个特定帐户是否已设置密码时效的方法是使用如下 chage 命令。请注意,除了你自己的帐户以外,其他任何帐户都需要 root 权限。请注意下面的密码到期日期。

$ sudo chage -l dory
Last password change   : Mar 15, 2020
Password expires   : Jun 13, 2020 <==
Password inactive   : never
Account expires   : never
Minimum number of days between password change : 10
Maximum number of days between password change : 90
Number of days of warning before password expires : 14

如果未应用密码时效,那么帐户信息将如下所示:

$ sudo chage -l nemo
Last password change   : Jan 14, 2019
Password expires   : never <==
Password inactive   : never
Account expires   : Mar 26, 2706989
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

你也可以使用 passwd -S 命令查看某些信息,但是你需要知道输出中的每个字段代表什么:

dory$ passwd -S
dory P 03/15/2020 10 90 14 -1

这里的七个字段代表:

  • 1 – 用户名
  • 2 - 帐户状态(L = 锁定,NP = 无密码,P = 可用密码)
  • 3 – 上次密码更改的日期
  • 4 – 可更改最低时效(如果没有这么多天,则不能更改密码)
  • 5 – 最长时效(这些天后,密码必须更改)
  • 6 – 密码过期前提前警告的天数
  • 7 – 密码过期后锁定之前的天数(设为无效)

需要注意的一件事是,chage 命令不会显示帐户是否被锁定;它仅显示密码时效设置。另一方面,passwd -S 命令将告诉你密码被锁定的时间。在此例中,请注意帐户状态为 L:

$ sudo passwd -S dorothy
dorothy L 07/09/2019 0 99999 7 10

通过将 /etc/shadow 文件中通常包含密码的“哈希”字段变为 !,从而达成锁定的效果。

$ sudo grep dorothy /etc/shadow
dorothy:!:18086:0:99999:7:10:: <==

帐户被锁定的事实在 chage 输出中并不明显:

$ sudo chage -l dorothy
Last password change   : Jul 09, 2019
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

密码时效的一些选项

最常用的设置是最短和最长的天数。它们经常结合使用。例如,你可以配置一个密码,使其最长不能使用超过 90 天(最大),然后添加一个有效期为一周或 10 天(最小)的密码。这样可以确保用户不会在需要更改密码后马上改回以前的密码。

$ sudo chage -M 90 -m 10 shark
$ sudo chage -l shark
Last password change   : Mar 16, 2020
Password expires   : Jun 14, 2020
Password inactive   : never
Account expires   : never
Minimum number of days between password change : 10 <==
Maximum number of days between password change : 90 <==
Number of days of warning before password expires : 7

你还可以使用 -E 选项为帐户设置特定的到期日期。

$ sudo chage -E 2020-11-11 tadpole
$ sudo chage -l tadpole
Last password change   : Oct 15, 2019
Password expires   : never
Password inactive   : never
Account expires   : Nov 11, 2020 <==
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

密码时效可能是一个重要的选择,只要它不鼓励用户使用过于简单的密码或以不安全的方式写下来即可。有关控制密码字符(例如,大小写字母、数字等的组合)的更多信息,请参考这篇关于密码复杂度的文章。

总结

上一篇:iis7 iis8反向代理规则编写、安装与配置方法
下一篇:几步命令轻松搭建Windows SSH服务端
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?