Разрешение пользователю использовать sudo без пароля

Разрешение пользователю использовать sudo без пароля

В среде песочницы виртуальной машины у меня есть настройка Ubuntu Linux, которая защищена брандмауэром и недоступна извне локальной системы. Поэтому на этой виртуальной машине я хотел бы предоставить административному пользователю (которого я настроил) возможность запускать что угодно с помощью sudo и не нуждаться в пароле.

Хотя я знаю, что это небезопасно, эта виртуальная машина не включена все время и требует мой личный пароль для запуска. Так что, даже если это не "безопасно", есть ли способ получить желаемую функциональность?

решение1

Отчеловек sudoers:

   NOPASSWD and PASSWD

   By default, sudo requires that a user authenticate him or herself
   before running a command.  This behavior can be modified via the
   NOPASSWD tag.  Like a Runas_Spec, the NOPASSWD tag sets a default for
   the commands that follow it in the Cmnd_Spec_List.  Conversely, the
   PASSWD tag can be used to reverse things.  For example:

    ray  rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

   would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm
   as root on the machine rushmore without authenticating himself.

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

ray ALL= NOPASSWD: ALL

решение2

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

Одним из возможных решений является эта однострочная команда, которую я нахожу более простой для запоминания, чем параметр NOPASSWD. Получите права администратора и запустите

$ visudo

и добавьте следующую строку

Настройки по умолчанию: имя пользователя !аутентифицировать

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

Связанный контент