在 Linux 上查看和配置密码时效
创始人
2024-03-02 04:41:22
0

使用正确的设置,可以强制 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

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


via: https://www.networkworld.com/article/3532815/viewing-and-configuring-password-aging-on-linux.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

如何在CentOS系统中更...
在服务器管理中,系统账户的密码安全直接影响整体系统的防御能力,本文...
2025-03-08 06:23:12
百亿基金加码,深圳如何构建...
文/林典驰 2月23日,深圳宣布,将设立100亿元人工智能和机器人...
2025-02-27 23:19:50
如何在CentOS系统上创...
3、设置用户权限 权限这个东西可重要啦,就像家里的各个房间,有些房...
2025-02-27 10:49:00
借力AI逆袭登顶行业新龙头...
春节期间Deepseek横空出世,再一次掀起全民关于AI的讨论热潮...
2025-02-24 18:45:48
不重复字符序列的Passa...
要生成一个不重复字符序列的Passay密码,可以使用以下步骤:导入...
2025-01-12 13:30:45
不知道用户名和密码连接到P...
我们可以使用以下步骤连接到Progress数据库:1.使用Java...
2025-01-12 10:30:49

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...