Среднее время на прочтение: 1 мин.

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

В различных ситуациях может понадобится выполнение sudo без ввода пароля. Рассмотрим как это сделать на Linux на нескольких примерах.

 

Для удобства рекомендую хранить файл настроек для каждого пользователя системы (если их много, то будет проще управлять) отдельно в /etc/sudoers.d.

 

 

К примеру для пользователя jakonda, разрешим выполнять абсолютно все команды без sudo пароля:

echo "jakonda ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers.d/jakonda

Пояснение по синтаксису:

jakonda Задаём имя пользователя, к которому нужно применить данное правило (в данном случае это jakonda).
Первое ALL Означает, что правило будет применяться ко всем хостам.
Второе ALL Означает, что указанный пользователь может запускать команды в сессии любого пользователя.
Третье ALL Означает, что указанный пользователь может запускать команды в любой группе.
Последнее ALL Указывает, что эти правила нужно применять ко всем командам.

 

 

Если необходимо разрешить выполнять только определенные команды, к примеру chown, chmod:

jakonda ALL=(ALL) NOPASSWD:/usr/bin/chmod,/usr/bin/chown

[stextbox id=’info’]ИНФОРМАЦИЯ. Важно указывать полный путь к исполняемому файлу. Узнать расположение файла можно используя — which <имя команды>.[/stextbox]

 

 

Можно разрешить пользователю перезапускать какую либо службу (к примеру apache):

jakonda ALL=(ALL) NOPASSWD:/usr/bin/systemctl restart apache2

Обсуждение

0 комментариев

Нет комментариев.