时间Linux查看用户过期时间的方法linux查看用户过期

说实话,我在服务器部门检查Linux用户的过期时间时多次遇到过这个问题。
方法确实有很多,但是用得顺不顺还得看情况。

最直接的方法是使用chage -l username。
比如你查我同事老张的账号,输入chage -l zhangsan 就可以了。
命令执行后,你会得到一堆日期,红色框标记了密码过期时间。
这是最准确的方法。
它是系统自带的,所以不需要安装任何其他东西。
但你必须记住,你需要有权限。
一般来说,您需要成为 root 或管理员才能查看其他用户。

有趣的是,chage在一些旧系统或特定环境中可能不太好用。
这时候就可以拉取/etc/shadow文件了。
这个文件是什么? 说白了,它存储的是密码、过期时间等敏感信息。
使用grep username /etc/shadow来查看,比如grep zhangsan /etc/shadow,然后看里面一长串的参数,比如zhangsan::1 5 05 6 :0:9 9 9 9 9 :7 :::。
倒数第二个数字是密码过期前的最后警告天数。
但直接读取文件比较麻烦。
格式又臭又长,很容易眼花。

还有一种情况。
例如,如果您使用的是OpenLDAP或Kerberos等集中式身份验证系统,那么您必须去相应的目录服务器检查用户过期时间。
当我帮助客户端连接到 AD 时,我必须使用 ldapsearch 命令来检查并了解特定的 LDAP 架构和查询路径。
这项工作相当困难,你必须了解 LDAP 的所有陷阱。

最后,我们来谈谈那些非官方的工具。
与 passwd2 或 expire 一样,它们有很多功能。
我以前的一个同事很喜欢用expire,说可以进行详细搜索,也可以进行批量搜索。
但说实话,这些工具很容易与系统原生工具发生冲突,有时系统升级后就变得很难用了。
使用前一定要保证兼容性,最好先做一下测试。

一般来说,检查用户过期时间取决于您的系统环境、您的权限以及您自己的习惯。
我一般用chage -l,简单明了。
但如果真的遇到复杂的环境,你就得知道如何去认识/etc/shadow或者LDAP。
技术这个东西,就看你用得顺不顺手。

linux下怎么设置用户的密码不过期?

如何设置用户密码策略 chage过期时间管理

哎呀,你对chage命令的描述太详细了,就像用户手册一样……但是让我带你过一遍,用白话解释一下如何使用这个东西。

上周一位客户问我如何处理 Linux 密码过期问题,我继续使用 chage。
你需要知道这个指令的作用 - 它控制 /etc/shadow 文件中与密码相关的设置,例如何时需要更改密码、密码可以使用多长时间等。

查看用户密码策略 最常见的用途是查看用户现在正在做什么。
例如,如果你想见 Alice 的这位朋友: 巴什 chage -l alice
它会告诉你:
您最后一次更改密码是什么时候(例如,2 02 5 年 2 月 1 0 日)
密码何时过期(例如2 02 5 年5 月1 1 日)
密码过期后可以使用多长时间(默认无限制)
更改密码至少需要几天时间(例如7 天)
密码最多可以使用多长时间(例如9 0天)
到期前提前几天提醒(如7 天)
过期后可以使用多少天(比如1 4 天)
修改密码策略 如果你想改变你的策略,那就更容易了: 1 .设置密码最长有效期:例如强制每9 0天更换一次 巴什 chage-M 9 0 爱丽丝 2 、设置密码最短使用天数:防止用户每天更换密码 巴什 chage-m 7 爱丽丝 3 .设置提醒天数:到期前提前7 天提醒 巴什 chage-W 7 爱丽丝 4 .设置宽限期:过期后允许1 4 天更改密码 巴什 chage-I 1 4 爱丽丝 5 、设置账户过期时间:例如2 02 5 年1 2 月3 1 日 巴什 变化-E 2 02 5 -1 2 -3 1 爱丽丝 6 .设置最后修改日期:例如现在 巴什 chage -d $(日期 +%Y-%m-%d) alice
在集群中设置新的用户策略 对于新用户,您可以更改系统默认值。
打开这个文件: 巴什 sudo vim /etc/login.defs
找到这一行: 巴什 PASS_MAX_DAYS 9 0 密码最长 9 0 天 PASS_MIN_DAYS 7 至少 7 天后可以更改 PASS_WARN_AGE 7 提前 7 天警告
更改此文件后,使用 useradd 创建的新用户将自动携带这些设置。
请注意,这不适用于现有用户,您必须使用 chage 单独转换它们。

推荐的安全策略 我通常这样设置:
普通用户:最短7 天,最长9 0天,7 天提前提醒,到期后1 4 天宽限期
临时用户:除此之外,还必须设置过期时间,例如: 巴什 chage-E 2 02 5 -06 -3 0 tempuser
自动检查 您可以编写一个脚本来定期检查密码何时即将过期。
例如这个: 巴什 !/bin/bash 对于 $(awk -F: '$7 == "" || $7 > "1 00000" {print $1 }' /etc/shadow) 中的用户;做 chage -l $用户| grep“密码已过期” 完成
或使用 passwd -S: 巴什 passwd -S alice
会显示密码已过期或密码有效。

注释 1 、不要太僵化。
例如,如果你每月更改一次密码,用户肯定会不高兴。
你必须找到一个平衡点。
2 . chage可以与PAM模块配合使用,实现更复杂的策略,例如密码复杂度检查。
3 . 对于定期审计,可以使用pwck或grpck等工具来检查用户状态。

无论如何,这取决于你。
我在这里发现的陷阱是......我曾经将临时用户的宽限期设置得太小。
结果第二天人家登录的时候发现密码直接被锁了,我还得手动改……所以,这个参数需要慎重考虑。