Наши партнеры

UnixForum





Библиотека сайта 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: