每次有人尝试登录系统时,我都想从网络摄像头拍一张照片。我知道我可以这样做:
mplayer -vo png -frames 1 tv://
当有人登录失败时如何触发此命令?
答案1
lastb
如果退出则记录失败的登录/var/log/wtmp
。您可以监视对此文件的更改,/var/log/wtmp
,您可以使用或inotify-tools
获取输出。 如果您注意到一些失败的登录消息,您就会知道它何时发生,并且您可以创建一个条件来触发您想要的命令。last
lastb
更详细地说:
为了监视文件,当文件更改时会触发:
while inotifywait -e close_write /var/log/wtmp; do <myscrip>.sh; done
lastb | grep -q "failed login"
如果该字符串存在,将输出 0 并退出,没有任何其他输出,这将是登录失败的情况。
您可以在 Bash 中创建条件 if 语句,如下所示:
if lastb | grep -q "failed login";
then <ascript>.sh;
fi;
您可能需要创建/var/log/wtmp
,这可以通过touch /var/log/wtmp