Уведомлять, когда обычный пользователь переходит в root?

1581
IMB

Возможно ли, что когда обычный пользователь входит в систему с правами root, suбудет отправлено уведомление по электронной почте?

3
Почему вашим обычным пользователям разрешено даже выполнять `su`? По крайней мере, в моей системе каждый пользователь, который хочет использовать `su`, должен находиться в` wheel`. Baarn 11 лет назад 0
Подход плохой, любой пользователь, получивший root с помощью `su`, также может удалить такое уведомление по электронной почте. Ваши пользователи должны иметь возможность выполнять очень маленький набор команд от имени пользователя root и только с использованием `sudo`. Используйте файл `/ etc / sudoers` для соответствующей настройки (см. Справочную страницу sudoers). speakr 11 лет назад 3
@speakr Ну, мой план - только одному обычному пользователю будет предоставлен root, я хочу сделать это только для того, чтобы предотвратить грубый принудительный root. Так что прямой root отключен, и этот обычный пользователь должен использовать `su` IMB 11 лет назад 0
Определите "грубый корень". Затем объясните, как это предотвратит это. Fran 11 лет назад 0
@fran SSH атака грубой силой. У меня уже есть SSH на другом порту, а также блокировка неудачных попыток входа в систему, но немного больше безопасности, как это, не повредит. Как это работает, если brute-forcer узнает порт, ему все равно придется знать имя пользователя, потому что root отключен. IMB 11 лет назад 0
@IMB Так ты хотел написать `ssh` вместо` su` в своем вопросе? Я не понимаю, как ваше объяснение имеет какое-либо отношение к `su`. Fran 11 лет назад 0
Ну, когда имя пользователя входит в SSH, он использует `su` вместо прямого root. IMB 11 лет назад 0

1 ответ на вопрос

0
speakr

Решением будет создание сценария, который отправляет электронное письмо и выполняет оболочку:

#!/bin/bash echo "sudo was used" | mail -s "sudo notification" your@mailaddress exec bash 

Обязательно защитите этот скрипт от любого доступа непривилегированных пользователей (см. Нижнюю часть этого ответа )!

Затем вынудите привилегированного пользователя joe выполнить скрипт через ограничительные sudoправа.

Пример для /etc/sudoers:

joe ALL = (root) /absolute/path/to/your/script.sh 

Теперь Джо может позвонить sudo /absolute/path/to/your/script.shи получить корневую оболочку, пока вы будете уведомлены.

Однако имейте в виду, что как только joe получит корневую оболочку, он станет владельцем вашей системы, то есть ничто не помешает ему изменить ваш скрипт, файл sudoers и так далее.

Похожие вопросы