У меня есть образ докера, который я использую для тестирования сценариев установки в настройке CI.Сценарии установки предназначены для запуска пользователями без полномочий root, поэтому команды в сценариях довольно часто используют sudo
.
Я добавил следующее, что позволяет мне избежать запроса пароля при выполнении команд sudo.
RUN adduser --disabled-password --gecos '' user
RUN adduser user sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER user
Однако это не работает с sudo validate ( sudo -v
). Независимо от того, что я пробую, sudo -v
всегда будет запрашивать пароль.
Я не хочу удалять sudo -v
из сценариев установки.
Кто-нибудь знает, почему это так? Я пробовал использовать образы докеров ubuntu: 16.04
и ubuntu: 18.04
.
Если у вас более новая версия sudo, вам также может потребоваться настроить verifypw
Defaults verifypw = any
Вы можете прочитать документацию, но в основном это означает, что если вы соответствуете любой строке NOPASSWD, она не не спрашивать пароль. По умолчанию используется все
, что означает, что вы должны сопоставить все группы и пользователя с NOPASSWD, чтобы пропустить пароль.
Так что, если ваш пользователь также находится в группах root, wheel или sudo, и они не говорят NOPASSWD, тогда он спросит.