Получить уведомление по электронной почте для использования «sudo» конкретным пользователем

16

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

Я знаю, что могу Defaults mail_alwaysполучать электронную почту в любое время, когда ЛЮБОЙ пытается ее использовать sudo, но у меня есть cron-задание для OwnCloud, которое запускается каждые 30 минут и требует sudo -u www-dataначала в начале. Очевидно, я не хочу электронную почту каждые 30 минут.

Как я всегда могу получить электронное письмо только для одного конкретного пользователя?

ankit7540
источник

Ответы:

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 так, чтобы он позволял одну команду без пароля.
Вальтинатор
4
@Waltinator Я знаю, как настроить sudoотдельные команды или несколько команд. Я уже сделал это. Я просто хотел, чтобы электронная почта всегда использовалась одной из этих команд sudoэтим конкретным пользователем. Это решило мою проблему, достигнув именно того, что задал мой вопрос.