私は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を使用しているときに特定のユーザーにログインしないようにするにはどうすればよいですか?zabbix
root
sudo
ノート:システムログのメッセージをフィルタリングしてみましたが、上記の問題が発生しました。つまり、ログメッセージには、どのユーザーが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
。