特定のユーザーのauth.logでsudo PAMメッセージをどのように停止しますか?

特定のユーザーのauth.logでsudo PAMメッセージをどのように停止しますか?

私はZabbixを使って自分の環境を監視し、zabbix_agentdユーザーとして60秒ごとにzabbixカスタムスクリプトをsudo実行しますroot

私は/var/log/auth.logこれを60秒ごとに見る:

Aug 11 17:40:32 my-server sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Aug 11 17:40:32 my-server sudo: pam_unix(sudo:session): session closed for user root

このメッセージが私のログにあふれるのを防ぎたいと思います。/etc/pam.d/sudoファイルに次の行を追加しましたsession required pam_unix.so

session [success=1 default=ignore] pam_succeed_if.so service in sudo quiet uid = 0

その後、メッセージが消えた。

しかし問題はそれはすべてです。sudo誰かがasを使用してスクリプトを実行すると、すべてのPAMメッセージを抑制しますroot

zabbix他のすべてのユーザーではなく、そのユーザーに対してのみメッセージを停止したいと思います。ユーザーが権限を使用してスクリプトを実行したいことsudoを知り、PAMに通知する方法はありますか? PAMを使用しているときに特定のユーザーにログインしないようにするにはどうすればよいですか?zabbixrootsudo

ノート:システムログのメッセージをフィルタリングしてみましたが、上記の問題が発生しました。つまり、ログメッセージには、どのユーザーがrootになったのかが表示されないため、無差別的であるという問題があります。

ベストアンサー1

PAM confラインに非常に近いようです。

session [success=1 default=ignore] pam_succeed_if.so service in sudo quiet uid = 0

マニュアルページを見ると、pam_succeed_ifリクエストユーザー(ruser)はいzabbix

だから私は以下を提案します:

session [success=1 default=ignore] pam_succeed_if.so quiet uid = 0 ruser = zabbix

zabbixユーザーが変更されると、root次のテストは抑制されます(他の移行はありません)。私はこれを私のユーザーのいくつかでテストしました。

uid = 0(単にルートではなく)ユーザーになりたくない場合は、zabbix上記のテストを削除してください。

テストを削除しましたservice in sudo。この行は/etc/pam.d/sudo

おすすめ記事