Faillog - Motdの失敗したログイン数

Faillog - Motdの失敗したログイン数

ユーザーがログインしたときに失敗したログイン試行回数を含めたいと思います。

私が作った:

/usr/local/bin/dynmotd

含む

#!/bin/bash

FAILLOG=`faillog -u`

echo -e "
$FAILLOG
"

そして/usr/local/bin/dynmotd追加されました/etc/profile

問題は私が得るということです/var/log/faillog: Permission denied

一般ユーザーとしてログインするたびに。 motdでこのコマンドを実行するために一時的に権限を安全に高めるか、この応答を取得するためにこのユーザーに障害ログへのアクセス権を一時的に付与する方法はありますか?すべてのユーザーに失敗ログへの永続的なアクセス権を付与したくありません。

修正する

これを試しました:

#!/bin/bash

CURRENTUSER=`whoami`

sudo -u bob setfacl -m u:$CURRENTUSER:rx /var/log/faillog

FAILLOG=`sudo -u bob faillog -u $CURRENTUSER`

echo -e "
$FAILLOG
"

sudoersに「bob」を追加すると、「NOPASSWD:bob」としてログインすると正常に動作しますが、「bob2」でログインしようとするとsudoersのパスワードを求めるメッセージが表示されます。

答え1

ルートとして実行されるスクリプトを作成することをお勧めします。毎時間実行し、「faillog -a」の出力をすべての人がアクセスできるテキストファイルに書き込むようにします。その後、MOTDは現在のユーザーに対してそのファイルをgrepします。これにより、不要な権限の変更や不要な人にsudoアクセス権を付与することを防ぐことができます。

関連情報