是否有命令可以查明是否有人以系统 ID(bin、sshd、rpc 等)之一登录到机器?
我已经尝试过 last、faillog、ausearch 和 aureport(这个效果最好),但我想要更多细节。
答案1
我编写了一个小的 bash 脚本,并把它放在 crontab 任务中,以查看哪些人的帐户因缺少登录而需要禁用。我相信还有更好的方法,但这个方法快捷又简单。
#!/bin/bash
grep users /etc/group | awk -F ":" '{print $4}' | sed 's/,/\
/g' > list
for fn in `cat list`; do lastlog -u $fn | grep Never; done
rm list
echo
lastlog -b 30 | grep -iv Never | awk '{if (NR!=1) {print $1" last logged in on "$5" "$6" at "$7}}'
在你的情况下,你不想过滤掉像我这样的任何东西;所以不会有一个简单的
lastlog -b 30
(显示上个月)就够了吗?结果如下,告诉我没有人登录过系统帐户。
daemon **Never logged in**
bin **Never logged in**
sys **Never logged in**