Intereting Posts
Как рассчитывается средняя загрузка для FreeBSD? Сжимать zip-файлы с более высоким сжатием Почему `env var = value` разрешает произвольное имя в var? Скрипт, который перечисляет имена файлов с помощью первого типа bash типа Как заставить низкое ssh-шифрование Использование виртуальной памяти Превышение физического пространства на диске Debian устанавливает менее 1 ГБ. Как получить графику, работающую с Linux, в моем блоке Bruswell NUC? Система больше не выводит символы UTF-8 Командная строка для возврата в графический интерфейс после Ctrl-Alt-F1? Symial aliasing файлы в подкаталогах без изменения текущего каталога Прокомментируйте оператор if и соответствующее ключевое слово endif Перемещение частично совпадающих файлов, которые уже существуют (PLC-транскодер) Показывать элемент в контекстном меню только для определенного типа файлов с помощью Nautilus-Actions Configuration Tool Как найти recurse в подкаталоги при использовании опции -prune

Как остановить sudo PAM-сообщения в auth.log для конкретного пользователя?

Я использую Zabbix для мониторинга моей среды, и zabbix_agentd выполняет как пользователь zabbix один настраиваемый скрипт каждые 60 секунд; он использует 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 

и сообщение исчезло.

Но проблема в том, что таким образом я подавил каждое сообщение PAM, когда кто-то выполняет скрипт с sudo как root .

Я хочу остановить сообщение только для пользователя zabbix (не для всех других пользователей). sudo знает, что пользователь zabbix хочет выполнить скрипт с привилегиями root и есть ли способ сообщить PAM? Как я могу сообщить PAM не регистрироваться для конкретного пользователя при использовании sudo ?

Примечание . Я попытался фильтровать сообщения в syslog; хотя это работает, оно имеет ту же проблему, что и выше, а именно, что она слишком неразборчива, поскольку в сообщении журнала не указывается, какой пользователь становится root.

Вы, кажется, очень близки к вашей строке 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 становится любым пользователем, а не просто root.

Я удалил service in sudo test: он лишний, учитывая, что эта строка находится в /etc/pam.d/sudo .

Ты получишь:

 pam_succeed_if(sudo:session): unknown attribute "ruser" 

с вашим ответом.

 #%PAM-1.0 @include common-auth @include common-account @include common-session-noninteractive session [success=1 default=ignore] pam_succeed_if.so service in zabbix quiet use_uid session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid 

работает, но вы все равно получите:

 pam_unix(sudo:session): session opened for user root by (uid=0) 

в ваших журналах.