サービスの開始/停止失敗をどのように記録しますか?

サービスの開始/停止失敗をどのように記録しますか?

一般ユーザーがサービスを実行しようとしているかどうかを追跡したいと思います。サービスを開始/停止するコマンドは次のとおりです。

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 ファイルには、サービスやログインの試みなど、認証の失敗について知っておく必要があるすべてが表示されます。

関連情報