Похоже, вы довольно близки со своей строкой конфигурации PAM:
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.
Я удалил службу в тесте sudo
: это избыточно, учитывая, что эта строка находится в /etc/pam.d/sudo
.
Неясно, сколько файлов вы хотите удалить, и находятся ли они все в одном каталоге или разбросаны по разным путям. Но я укажу, что если количество файлов слишком велико, такие команды, как ls & rm, могут не пройти итерацию по всему списку. В этом случае вы можете использовать find для создания списка интересующих вас файлов, а затем с помощью переключателя -exec он может выполнять действия по каждому из них в отдельности. В качестве меры предосторожности я рекомендую всегда использовать команду find для вывода списка файлов перед повторным -выполнением команды с переключателем -exec, чтобы убедиться, что вы знаете, над какими файлами вы собираетесь выполнить действие.
Например, если вы хотите удалить только файлы x -wine -extension -*.xml в /root/.local/share/mime/packages... вы должны использовать find следующим образом перечислить их:
find /root/.local/share/mime/packages -name x-wine-extension-\*.xml
А затем, чтобы удалить их, вы должны использовать это:
find /root/.local/share/mime/packages -name x-wine-extension-\*.xml -exec rm {} \;