누군가가 시스템에 로그인을 시도할 때마다 웹캠에서 사진을 찍고 싶습니다. 나는 이것을 할 수 있다는 것을 안다:
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