就像下面的答案一样Bash 命令确定特定时间段内的首次登录,而不是我想要找出的持续时间,以检查用户第一次使用连接到机器的时间ssh
。
是否有可能找出特定用户?
答案1
如果这是用户“user”自非本地主机重启后第一次登录,则此行应该打印“First”:
[ $( last | sed '/^reboot/,$d' | egrep '^user +pts/' | wc -l ) -lt 2 ] && echo First
请注意,last
日志通常每月轮换一次,因此如果用户登录的时间超过一个月,答案可能不正确。我使用 锚定表达式,以^
确保从第一列中选择用户名(如果用户名是仍然,我们会得到错误的结论仍处于登录状态:-) 并且我还希望pts/
出现,表示远程登录(tty
而是用表示本地登录)。
即使本月计算机没有重启,此方法也应该有效。但如果用户的登录名是逐字的,则该方法无效重启。