Linux 密码过期与 Awk、shadow 和密码

标签 linux awk shadow passwd

我正在尝试编写一个脚本来输出用户名、真实姓名和帐户到期日期。 这是我到目前为止的代码。

awk -F: '$3 > 1000 { print $1, $5 }|grep /etc/shadow (print $9)to_date('1970-01-01','YYYY-MM-DD') + numtodsinterval(1244108886,'SECOND')

输入:

smithj:Ep6mckrOLChF.:10063:0:99999:7:::
westf:Ep7uopliokmmm.:1058:0:1087654:7:::
martinezj:GHolimpjk90.:1010:0:1008759:7::

输出:

John Smith           Password expires never
Frank West           Password expires: May 8th 2015
Jose Martinez        Password expires: August 12th 2015

最佳答案

假设您有权查看影子文件,这将输出用户名、真实姓名和帐户到期日期,以冒号分隔:

join -t: -o 0,1.5,2.8 <(sort /etc/passwd) <(sort /etc/shadow)

它将到期日期显示为自纪元以来的天数。这可能会更好:

user=someone
IFS=: read username name < <(getent passwd "$user" | cut -d: -f1,5)
expiry=$(chage -l "$user" | awk -F': ' '/^Account expires/ {print $2}')
printf "%s\n" "$username" "$name" "$expiry"

关于Linux 密码过期与 Awk、shadow 和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29147193/

相关文章:

linux - config.mk 中的 CPPFlags

linux - 通过 sudo 识别当前用户的最可靠方法

awk - 如果模式匹配则退出 awk

css - 使用 Google Maps API 将 CSS 阴影添加到标记

linux - Linux下的分布式文件系统

开罗从数据加载图像

sql - AWK - 解析 SQL 输出

regex - 将类似正则表达式的表示法扩展到多个文字

windows - 64 位程序 - Windows "Shadow Space"问题

shadow - 对面的 CSS 阴影