PQ
PQ.Hosting

Валюта

Как отключить пароль для sudo в Linux: NOPASSWD для пользователя, команд и группы

Автор
PQ
02 марта 2026
3 мин чтения
12 просмотров

sudo запрашивает пароль при каждом использовании — это намеренная мера безопасности. Система убеждается, что привилегированную команду выполняет именно пользователь, а не скрипт или программа, пытающаяся получить несанкционированный доступ.

Тем не менее бывают случаи, когда пароль нужно отключить: автоматизированные скрипты и CI/CD-пайплайны, системное обслуживание на изолированных серверах, окружения разработки где частые вводы пароля мешают работе. Для продакшн-серверов с публичным доступом отключать пароль не рекомендуется.

Как это работает: директива NOPASSWD

Поведение sudo настраивается в файле /etc/sudoers. Добавление директивы NOPASSWD к строке пользователя или группы отключает запрос пароля для указанных команд.

Редактировать /etc/sudoers нужно только через visudo — утилита проверяет синтаксис перед сохранением и не даёт записать сломанный файл. Ошибка в sudoers может полностью заблокировать доступ к sudo.

sudo visudo

Отключить пароль для конкретного пользователя

Найти раздел User privilege specification и добавить строку:

linux90 ALL=(ALL) NOPASSWD: ALL

Расшифровка формата linux90 ALL=(ALL) NOPASSWD: ALL:

  • linux90 — имя пользователя
  • первое ALL — с любого хоста
  • (ALL) — от имени любого пользователя
  • NOPASSWD: — без запроса пароля
  • последнее ALL — для любых команд

Сохранить и закрыть. В vi: Esc, затем :wq. После этого sudo не будет запрашивать пароль у linux90 ни для каких команд.

Отключить пароль только для отдельных команд

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

linux90 ALL=(ALL) NOPASSWD: /usr/bin/apt, /sbin/reboot

Пути должны быть абсолютными. Команды указываются через запятую. Для всех остальных команд пароль будет запрашиваться как обычно.

Найти полный путь к команде:

which apt
which reboot

Отключить пароль для группы пользователей

Чтобы применить настройку ко всем пользователям группы — использовать префикс % перед именем группы:

%group_name ALL=(ALL) NOPASSWD: ALL

Например, для группы deploy:

%deploy ALL=(ALL) NOPASSWD: /usr/bin/apt, /usr/bin/systemctl

Все пользователи группы deploy смогут выполнять apt и systemctl без пароля.

Добавить пользователя в группу:

sudo usermod -aG deploy username

Использовать файл в sudoers.d (рекомендуемый способ)

Вместо редактирования основного файла /etc/sudoers лучше создать отдельный файл в директории /etc/sudoers.d/. Это удобнее при управлении несколькими пользователями и безопаснее при обновлениях системы:

sudo visudo -f /etc/sudoers.d/linux90

Содержимое файла:

linux90 ALL=(ALL) NOPASSWD: ALL

Права файла должны быть 0440:

sudo chmod 0440 /etc/sudoers.d/linux90

Файлы из /etc/sudoers.d/ подключаются автоматически через директиву #includedir в основном sudoers.

Проверить, что настройка применилась

sudo -l -U linux90

В выводе должна быть строка с NOPASSWD:

(ALL) NOPASSWD: ALL

Или переключиться на пользователя и проверить:

su - linux90
sudo apt update

Пароль запрошен не будет.

Вернуть запрос пароля

Удалить строку с NOPASSWD через visudo или удалить созданный файл из sudoers.d:

sudo rm /etc/sudoers.d/linux90

Шпаргалка

Задача Строка в sudoers
Без пароля для пользователя user ALL=(ALL) NOPASSWD: ALL
Без пароля для конкретных команд user ALL=(ALL) NOPASSWD: /usr/bin/apt, /sbin/reboot
Без пароля для группы %group ALL=(ALL) NOPASSWD: ALL
Открыть sudoers безопасно sudo visudo
Отдельный файл для пользователя sudo visudo -f /etc/sudoers.d/username
Проверить права пользователя sudo -l -U username

Поделиться статьей

Похожие статьи