ユーザーがログインしたときに失敗したログイン試行回数を含めたいと思います。
私が作った:
/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アクセス権を付与することを防ぐことができます。