📒 

Команда sudo, которая означает «superuser do», является важным инструментом в Linux, который предоставляет авторизованным пользователям возможность выполнять административные задачи с привилегиями суперпользователя. Это позволяет ограниченным пользователям временно получать доступ к функциям, требующим повышенных привилегий, что повышает безопасность системы. По умолчанию каждый раз при использовании sudo пользователю требуется вводить пароль для подтверждения своей личности и получения временных привилегий суперпользователя. Этот механизм добавляет дополнительный уровень безопасности, предотвращая несанкционированный доступ к критически важным системным функциям. Однако в некоторых случаях вам может потребоваться отключить запрос пароля для определенных команд или пользователей, например, для автоматизации задач или упрощения выполнения часто используемых команд. В этом руководстве мы подробно рассмотрим, как можно настроить sudo так, чтобы он не требовал запроса пароля для определенных команд или пользователей, а также практические примеры и сценарии, в которых это может быть полезно.

Обратите внимание: отключать запрос пароля для sudo следует с осторожностью. Предоставляйте эту привилегию только доверенным пользователям и определенным командам для обеспечения безопасности системы. Мы рекомендуем вам подробно прочитать документацию перед началом этой процедуры.

Существует несколько способов выполнения этой процедуры. Каждый метод будет описан ниже подробно и с примерами кода.

Способ 1: временное отключение запроса пароля

Если вы хотите временно отключить запрос пароля для текущего сеанса, вы можете использовать опцию -S с sudo.

sudo -S

Способ 2. Отключение запроса пароля для всех команд

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

Шаг 1. Откройте файл sudoers для редактирования:

sudo visudo

Шаг 2. Добавьте строку, чтобы отключить запрос пароля:

Чтобы отключить запрос пароля для определенного пользователя (например, Джейн) для всех команд, добавьте следующую строку под строкой Defaults :

alexhostcom ALL=(ALL) NOPASSWD: ALL

  • Замените alexhostcom имя пользователя.

Шаг 3. Сохраните и выйдите из редактора.

Способ 3. Редактирование файла sudoers

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

Шаг 1. Откройте файл sudoers для редактирования:

sudo visudo

Шаг 2. Найдите строку «По умолчанию».

В файле sudoers найдите строку, начинающуюся с Defaults.

 

Шаг 3. Добавьте строку, чтобы отключить запрос пароля.

Чтобы отключить запрос пароля для определенного пользователя (например, Джона) при запуске определенной команды (например, /usr/bin/command), добавьте следующую строку под По умолчанию строка:

alexhost ALL=(ALL) NOPASSWD: /usr/bin/command

Затем замените alexhost именем пользователя и /usr/bin/command фактической командой, которую вы хотите исключить из запроса пароля. .

Шаг 4. Сохраните и выйдите из редактора.

Способ 4. Как избежать запроса пароля для определенных пользователей

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

Шаг 1. Откройте файл sudoers для редактирования.

sudo visudo

Шаг 2. Добавьте строку для установки timestamp_timeout:

Ниже строки «По умолчанию» добавьте следующую строку, чтобы установить для timestamp_timeout большее значение (в минутах):

Defaults        timestamp_timeout=30

  • В этом примере время ожидания устанавливается равным 30 минутам. Отрегулируйте значение по мере необходимости.

Шаг 3: Сохраните и выйдите из редактора.

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