Проверка правильности конфигов sudo с помощью visudo
Я как раз скоро опубликую более подробный взгляд на решение и отладку проблем с sudo, а пока вот такая небольшая заметка про полезный функционал команды visudo.
ВАЖНО: всегда старайтесь редактировать sudoers из интерактивной оболочки – то есть у вас есть root шелл, и если даже sudoers испытывает проблемы – не нужно на него полагаться, чтобы что-то выполнить или исправить с правами супер-пользователя.
Два основных метода работы visudo
Основной метод работы visudo – интерактивный: запускаем команду, она открывает редактор файла /etc/sudoers, потом применяет наши изменения в основную конфигурацию sudo.
А во второй метод – тоже очень полезный! Файлы мы не редактируем, а только проверяем на синтаксическую правильность – вот об этом я сегодня и расскажу.
Проверка /etc/sudoers с помощью visudo
Запускаем команду visudo с опцией -c и получаем отчёт о главном конфиге – /etc/sudoers и всех других файлах, которые он может подгружать из /etc/sudoers.d:
greys@becky:~ #visudo -c/etc/sudoers: parsed OK
/etc/sudoers.d/010_at-export: parsed OK
/etc/sudoers.d/010_pi-nopasswd: parsed OK
/etc/sudoers.d/README: parsed OK
Как выглядит ошибка, найденная visudo
Вот так она выглядит:
root@becky:~ #visudo -c/etc/sudoers: syntax error near line 10 <<<
parse error in /etc/sudoers near line 10
Как видно из этого примера, я запускаю visudo уже из активной сессии root. Так что, видя ошибку, я могу её попытаться исправить прямым редактированием файла /etc/sudoers (или какой там ещё файл найдёт visudo) – именно потому, что мы уже являемся супер-пользователем и не зависим от работоспособности sudo.
В этом примере, что-то неправильно в основном файле /etc/sudoers, в 10й строке.
ВАЖНО: после исправления ошибок, снова запустите visudo -c, чтобы убедиться: больше ошибок нет. Финальной проверкой должен стать отдельный логин в систему и попытка использования sudo. НИ В КОЕМ СЛУЧАЕ не закрывайте текущую сессию root, потому что она по-прежнему может быть единственным способом что-то исправлять.
Заходите на страницу Facebook или присоединяйтесь к чату в Telegram:
Я использую браузер Brave
Попробуйте сами:
IT Консалтинг
У меня есть консалтинговая компания: Tech Stack Solutions. Я помогаю планировать и создавать облачные решения на базе AWS и помогаю с развёртыванием и поддержкой сервисов на Unix/Linux. Свяжитесь со мной тут.