一般ユーザーがサービスを実行しようとしているかどうかを追跡したいと思います。サービスを開始/停止するコマンドは次のとおりです。
service filebeat start
私は次のような監査ルールを作成しました。
-w /usr/sbin/service -p warx -k service_attempt
サービスを開始/停止するたびにタグ(service_attempt)が記録されますが、監査は失敗しません。したがって、サービスの開始/停止試行が成功したかどうかを区別することはできません。
答え1
/var/log/auth.log
承認されていないユーザーがサービスの停止/開始の拒否を記録したため、あなたの質問に少し混乱しました。
サービス関連のイベントと失敗した試みのみを表示するには、次の手順を実行します。
$sudo cat /var/log/auth.log | grep service | grep FAILED
以下は、sudoなしで作成して実行しようとしたbasicuserの出力例ですservice alsa-state restart
。出力はあなたが知る必要があるすべてを教えてくれます。重要な部分(日付、セッション、失敗、サービス名、ユーザー名)を太字で表示しました。
foot@BOOT:~# cat /var/log/auth.log | grep service | grep FAILED
3月1日 21:13:24BOOT polkitd(authority=local): unix-operatorセッション:6つの失敗system-bus-name::1.255 で org.freedesktop.systemd1.manage-units 操作に対する権限を取得するには、認証してください。systemctl は alsa-state.service を起動します。](所有者Unixユーザー:基本ユーザー)
auth.log ファイルには、サービスやログインの試みなど、認証の失敗について知っておく必要があるすべてが表示されます。