Linux中所有用户的上次登录日期

时间:2018-10-11 06:14:37

标签: linux unix

如何查找Linux中所有用户的最后登录日期?我尝试了最后一个命令,但它仅从wtmp中检索最近的最近登录。

2 个答案:

答案 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提取所有用户,然后使用每个用户的手指。那应该可以解决问题:)