Несмотря на некоторые серьезные ошибки в sudo, он остается основным инструментом для получения оболочки root или запуска команды от имени другого пользователя в Linux, macOS и Unix-подобных системах.
Команда sudo позволяет системному администратору предоставлять отдельным пользователям доступ к непривилегированным командам.
Например, я могу дать разработчикам возможность перезапустить веб-сервер Apache или процесс PHP/Python на сервере Linux.
Давайте посмотрим, как напомнить разработчикам и непривилегированным пользователям о серьезности sudo.
В этом кратком руководстве я покажу вам, как добавить немного остроты в сеанс sudo с помощью файла lecture на Linux или Unix.
Как сделать предупреждение при использовании sudo
Каждый опытный системный администратор Unix знает, что команду sudo следует использовать с большой осторожностью.
Следовательно, у sudo есть возможность передать сообщение с помощью lecture.
Как заставить sudo показывать сообщение каждый раз, когда ее используют пользователи
Отредактируйте файл конфигурации, выполните следующую команду:
sudo visudo
Добавьте следующую строку после начальных параметров, чтобы sudo запускал грозное сообщение каждый раз, когда пользователь использует sudo:
Defaults lecture=always
Вышеупомянутый параметр определяет, когда будет показано короткое сообщение вместе с запросом пароля.
Возможны следующие значения:
- always :Всегда предупреждать пользователя.
- never : Никогда не предупреждать пользователя.
- once : Предупреждать только при первом использовании sudo
Сохраните и закройте файл.
Давайте сделаем недействительными кэшированные учетные данные пользователя и проверим:
sudo -k
## или ##
sudo --reset-timestamp
## Попробуем получить root shell ##
sudo -i
Теперь наши Unix-разработчики и другие пользователи Linux получат скучное сообщение:
Прекрасно, правда?
Но подождите, это еще не все.
Мы можем изменить это сообщение и сделать его более дружелюбным.
Снова безопасно отредактируйте файл sudoers, набрав следующую команду:
sudo visudo
Добавьте еще один вариант конфигурации:
Defaults lecture_file=/etc/sudo_lecture.txt
Сохраните и закройте файл!
Воспользуемся командой figlet:
sudo sh -c 'figlet "BE CARE W с sudo" > /etc/sudo_lecture.txt'
sudo -k
sudo -i
Заключение
Lecture_file – отличная идея в сочетании с ANSI и другими утилитами CLI, такими как toilet и figlet