Отримуйте сповіщення електронною поштою про використання "sudo" певним користувачем


16

У мене налаштування сервера, і я дозволяю комусь, кому я довіряю з невеликим sudoдоступом, мати його. Однак я також хочу отримати електронний лист у будь-який час, який вони використовують sudo.

Я знаю, що я можу використовувати Defaults mail_alwaysелектронний лист у будь-який час, коли КОГО-небудь намагається використовувати sudo, але у мене є робота з Cron для OwnCloud, яка працює кожні 30 хвилин і вимагає sudo -u www-dataна початку її. Очевидно, що я не хочу електронної пошти кожні 30 хвилин.

Як я завжди можу отримати електронний лист лише для одного конкретного користувача?

Відповіді:


21

Після деяких експериментів я знайшов відповідь. Щоб встановити такі параметри, як mail_alwaysабо root_pwдля конкретних користувачів, ви можете додати такий sudoersфайл у свій файл після відкриття з visudo:

Defaults:USER_NAME mail_always

Просто переконайтеся, що ця лінія вставлена ​​вгорі, де є інші Defaultsпараметри. Крім того, якщо ви хочете вказати отримувача електронних листів:

Defaults mailto="youremail@domain.tld"

1
також переконайтеся, що ваш хост справді може надіслати електронну пошту (:
DopeGhoti

Я не бачу, як це вам допомагає - sudo /bin/bashбуде відслідковуватися, але команд, переданих до root bashне, не буде. Аналогічно, sudo vi fooнаступним :!rm /etc/passwdне буде реєструватися. Перечитайте man sudoers. Ви можете налаштувати sudo так, що це дозволить отримати одну команду, без пароля.
waltinator

4
@Waltinator Я знаю, як налаштувати sudoокремі команди або лише кілька команд. Я вже це зробив. Я просто хотів, щоб електронний лист був у будь-який час, коли одна із цих команд використовувалась sudoсаме цим користувачем. Це вирішило мою проблему, досягнувши саме того, що моє запитання задало.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.