誰かがログインに失敗するたびにbashコマンドを実行する方法は?

誰かがログインに失敗するたびにbashコマンドを実行する方法は?

誰かがシステムにログインしようとするたびに、ウェブカメラで写真を撮りたいと思います。私はこれができることを知っています:

mplayer -vo png -frames 1 tv://

誰かがログインに失敗したときにこのコマンドをどのように実行できますか?

ベストアンサー1

lastbログアウトした場合はログイン失敗を記録します/var/log/wtmp 。このファイルの変更を監視したり、または/var/log/wtmpを使用して出力を取得したりできますinotify-tools 。失敗したログインメッセージが見つかった場合は、いつエラーが発生したのかがわかり、必要なコマンドを実行する条件を生成できます。lastlastb

もっと詳しく:

ファイルを監視するためにファイルが変更されたときにトリガーされます。 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

おすすめ記事