Команда sudo в Linux позволяет обычным пользователям выполнять задачи, которые обычно требуют административных привилегий. Она позволяет пользователям запускать команды через sudo, а не выполнять их напрямую. Перед выполнением команды пользователь должен подтвердить свою личность в системе.
Изменив конфигурационный файл sudoers, вы можете разрешить определенным пользователям или членам групп использовать sudo без необходимости вводить пароль при каждом выполнении команды. Этого можно добиться с помощью инструмента visudo из терминала.
Шаги по настройке беспарольного sudo в Linux
Откройте предпочитаемое терминальное приложение.
Проверьте текущие привилегии sudo для вашей учетной записи пользователя.
1 | sudo -l |
Пример
1 2 3 4 5 6 | Matching Defaults entries for user on host: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User user may run the following commands on host: (ALL : ALL) ALL |
Используйте команду visudo, чтобы открыть файл конфигурации sudoers.
1 | sudo visudo |
Добавьте строку ALL = (ALL) NOPASSWD: ALL под своим именем пользователя (или любого другого пользователя), чтобы предоставить ему возможность выполнять все команды без ввода пароля.
1 | user ALL = (ALL) NOPASSWD: ALL |
Беспарольный sudo можно назначить группе, заменив имя пользователя на %groupname или заменив его на ALL, чтобы разрешить беспарольный sudo для всех пользователей в системе.
Сохраните файл и выйдите из visudo.
Снова проверьте права sudo для вашей учетной записи пользователя, чтобы убедиться, что изменения прошли успешно.
1 | sudo -l |
Пример
1 2 3 4 5 6 7 | Matching Defaults entries for user on host: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User user may run the following commands on host: (ALL : ALL) ALL (ALL) NOPASSWD: ALL |
Проверьте выполнение команд с помощью sudo без необходимости вводить пароль.
1 | sudo ls -la /root |