如何查找Linux中所有用户的最后登录日期?我尝试了最后一个命令,但它仅从wtmp中检索最近的最近登录。
答案 0 :(得分:1)
一种解决方案是从/etc/passwd
获取所有可能的用户,然后对每个用户执行last
,将输出限制为单个项目:
cut -d: -f1 /etc/passwd |while read u ; do last -n 1 "$u" |head -n -2 ; done
head -n -2
出于审美原因,从last
的输出中省略了标准的空行+“ wtmp starts ...”。
注意:如果您从/etc/password
中删除用户,此命令将不会列出该用户。然后,您可以使用gawk
通过last
命令选择每个用户输出的第一个匹配项。
last |head -n -2 |gawk '{if (l[$1]=="") l[$1]=$0}END{for (i in l) {print l[i]}}'
我再次从last
的输出中截断了最后两行。在这里您还可能会列出“重新启动”。
答案 1 :(得分:0)
我使用finger命令来获取用户的最后登录详细信息。
语法:手指
这解决了问题,但是对于多个用户,必须编写脚本,在该脚本中,从/ etc / passwd提取所有用户,然后使用每个用户的手指。那应该可以解决问题:)