Как выполнить команду sudo без пароля

Судо без пароля

Команда sudo позволяет доверенным пользователям запускать программы от имени другого пользователя, по умолчанию пользователя root. Если вы проводите много времени в командной строке, sudo — одна из команд, которые вы будете использовать часто.

Обычно, чтобы предоставить пользователю доступ к sudo, необходимо добавить его в группу sudo, указанную в файле sudoers . В Debian, Ubuntu и их производных членам группы sudo предоставляются привилегии sudo, а в дистрибутивах на базе RedHat, таких как CentOS и Fedora, имя группы sudo — wheel .

Каждому члену этой группы будет предложено ввести пароль перед выполнением команды sudo . Это обеспечивает дополнительный уровень безопасности и является предпочтительным способом предоставления пользователям привилегий sudo.

Однако в некоторых ситуациях, например при запуске автоматизированных скриптов, вам может потребоваться настроить файл sudoers и разрешить определенным пользователям запускать команды sudo без запроса пароля.

Добавление пользователя в файл Sudoers

Файл sudoers содержит информацию, определяющую привилегии sudo пользователя и группы.

Вы можете настроить доступ пользователя к sudo, изменив файл sudoers или добавив файл конфигурации в каталог /etc/sudoers.d . Файлы, созданные в этом каталоге, будут включены в файл sudoers.

Перед внесением каких-либо изменений рекомендуется создать резервную копию текущего файла:

 sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}

Команда date добавит текущую дату к имени файла резервной копии.

Откройте файл /etc/sudoers с помощью команды visudo :

 sudo visudo

При внесении изменений в файл sudoers всегда используйте visudo . Эта команда проверяет файл после редактирования и, если в нём обнаружена синтаксическая ошибка, не сохраняет изменения. Если открыть файл в текстовом редакторе, синтаксическая ошибка приведёт к потере доступа к sudo.

В большинстве систем команда visudo открывает файл /etc/sudoers в текстовом редакторе vim. Если у вас нет опыта работы с vim, вы можете использовать другой текстовый редактор. Например, чтобы сменить редактор на GNU nano, выполните:

 sudo EDITOR=nano visudo

Прокрутите файл до конца и добавьте следующую строку, которая позволит пользователю «linuxize» запускать любую команду с помощью sudo без запроса пароля:

/etc/sudoers

 linuxize ALL = (ALL) NOPASSWD:ALL

Не забудьте заменить «linuxize» на имя пользователя, которому вы хотите предоставить доступ.

Если вы хотите разрешить пользователю запускать только определенные команды без ввода пароля, укажите команды после ключевого слова NOPASSWD .

Например, чтобы разрешить только команды mkdir и mv можно использовать:

/etc/sudoers

 linuxize ALL = (ALL) NOPASSWD:/bin/mkdir,/bin/mv

После этого сохраните файл и выйдите из редактора .

Использование /etc/sudoers.d

Вместо редактирования файла sudoers вы можете создать новый файл с правилами авторизации в каталоге /etc/sudoers.d . Такой подход упрощает управление привилегиями sudo.

Откройте текстовый редактор и создайте файл:

 sudo nano /etc/sudoers.d/linuxize

Вы можете назвать файл по своему усмотрению, но обычно рекомендуется использовать в качестве имени файла имя пользователя.

/etc/sudoers.d/linuxize

Добавьте то же правило, которое вы бы добавили в файл sudoers:

 linuxize ALL = (ALL) NOPASSWD:ALL

Наконец, сохраните файл и закройте редактор.

Заключение

Мы показали вам, как отредактировать файл /etc/sudoers чтобы можно было запускать команды sudo без ввода пароля. Это полезно, когда у вас есть скрипты, в которых требуется выполнение административных задач пользователем без прав root.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии.

терминал sudo

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *