Библиотека сайта rus-linux.net
Как выполнить SUDO без пароля
Оригинал: Cómo ejecutar SUDO sin contraseña
Автор: maslinux
Дата публикации: 2 июля 2019 г.
Перевод: В.Костромин
Дата перевода: 2 июля 2019 г.
Команда sudo позволяет доверенным пользователям выполнять команды от имени других пользователей, в том числе (по умолчанию) с правами суперпользователя root. Если вы проводите много времени в командной строке, как я, sudo - это команда, которую используешь все время. Но все же сразу хочу предупредить, что использование этой возможности без особой необходимости не является хорошей идеей, потому что можно по неосторожности нанести вред вашей системе.
Обычно для предоставления доступа к sudo пользователь добавляется в группу sudo, определенную в файле sudoers. В Debian, Ubuntu и их производных членам группы sudo предоставляются привилегии суперпользователя, а в дистрибутивах, основанных на RedHat, таких как CentOS и Fedora, эта группа называется wheel.
Каждого члена этой группы попросят ввести пароль перед выполнением команды sudo. Это добавляет дополнительный уровень безопасности и является предпочтительным способом предоставления привилегий sudo пользователям.
Однако в некоторых ситуациях, например при запуске автоматических сценариев, может потребоваться настроить файл sudoers и разрешить определенным пользователям запускать команду sudo без запроса пароля.
Файл sudoers содержит информацию, которая определяет привилегии sudo для пользователей и групп.
Вы можете настроить доступ пользователя к sudo, изменив файл sudoers или добавив файл конфигурации в каталог /etc/sudoers.d. Все файлы из этого каталога включены в файл sudoers.
Откройте файл /etc/sudoers с помощью команды visudo:
sudo visudo
Когда вы вносите изменения в файл sudoers, всегда используйте visudo. Эта команда после редактирования производит проверку и, если есть синтаксическая ошибка, она не сохранит изменения. Если вы откроете файл в текстовом редакторе, синтаксическая ошибка приведет к потере доступа к sudo.
В большинстве систем команда visudo открывает файл /etc/sudoers в текстовом редакторе vim. Если у вас нет опыта работы с vim, вы можете использовать другой текстовый редактор. Например, чтобы изменить редактор на nano, выполните команду:
sudo EDITOR=nano visudo
Прокрутите вниз до конца файла и добавьте следующую строку, которая позволит пользователю «pedro» выполнить любую команду с помощью sudo без необходимости запрашивать пароль:
pedro ALL=(ALL) NOPASSWD:ALL
Если вы хотите разрешить пользователю выполнять без ввода пароля только определенные команды, укажите эти команды после ключевого слова NOPASSWD.
Например, чтобы разрешить только команды mkdir и mv, я бы использовал:
pedro ALL(ALL) NOPASSWD:/bin/mkdir,/bin/mv
После этого сохраните файл и выйдите из редактора.
Другой способ заключается в том, чтобы использовать /etc/sudoers.d
.
Вместо редактирования файла sudoers вы можете добавить новый файл с правилами авторизации в каталог /etc/sudoers.d. При таком подходе облегчается управление привилегиями sudo.
Откройте ваш текстовый редактор и создайте файл:
sudo nano /etc/sudoers.d/pedro
Вы можете назвать файл как хотите, но обычно хорошей идеей является использование имени пользователя в качестве имени файла.
Добавьте то же правило, которое вы добавили бы в файл sudoers:
pedro ALL=(ALL) NOPASSWD:ALL
Ну, и наконец, сохраните файл и закройте редактор.
Другие статьи о команде sudo в Linux:
- Все, что вы хотели бы знать о команде SUDO
- Как задать время сессии Sudo
- Использование sudo в Ubuntu для начинающих пользователей
- Sudo или не sudo? - вот в чем вопрос!
- Приемы работы в Ubuntu. Глава 7: Безопасность
- В чем разница между sudo и su
- Организация безопасного редактирования системных файлов с помощью sudoedit в Linux
- Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей