Bash 命令确定是否是重启后的第一个 ssh 连接?

Bash 命令确定是否是重启后的第一个 ssh 连接?

就像下面的答案一样Bash 命令确定特定时间段内的首次登录,而不是我想要找出的持续时间,以检查用户第一次使用连接到机器的时间ssh

是否有可能找出特定用户?

答案1

如果这是用户“user”自非本地主机重启后第一次登录,则此行应该打印“First”:

[ $( last | sed '/^reboot/,$d' | egrep '^user +pts/' | wc -l ) -lt 2 ] && echo First

请注意,last日志通常每月轮换一次,因此如果用户登录的时间超过一个月,答案可能不正确。我使用 锚定表达式,以^确保从第一列中选​​择用户名(如果用户名是仍然,我们会得到错误的结论仍处于登录状态:-) 并且我还希望pts/出现,表示远程登录(tty而是用表示本地登录)。

即使本月计算机没有重启,此方法也应该有效。但如果用户的登录名是逐字的,则该方法无效重启

相关内容