9

Я в группе sudo все в порядке:

$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)

В моих судорогах у меня, кажется, есть подходящая настройка:

sudo    ALL=(ALL:ALL) NOPASSWD: ALL

и это последняя некомментированная строка там.

Но когда я пытаюсь сделать git pull , я снова набираю пароль:

$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:

Когда я вошел в консоль, это не проблема, но это неприемлемо в сценариях. Так как же мне разрешить кому-либо из группы sudo использовать git pull как www-data без повторного ввода пароля?

Когда я ставлю свое имя напрямую:

molot ALL=(ALL) NOPASSWD: ALL

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

2 ответа2

19

Кажется, у вас есть соответствующая строка в вашем sudoers, пропускающая символ:

sudo ALL =(ALL: ALL) NOPASSWD: ALL

соответствует пользователю с именем 'sudo'. Для «всех пользователей в группе sudo» должно быть:

% sudo ALL =(ALL: ALL) NOPASSWD: ALL

(обратите внимание на знак% в начале).

1

sudo visudo

Затем, предполагая, что molot - ваше имя пользователя, перейдите в конец файла и:

molot ALL=(ALL) NOPASSWD: ALL

Это должно работать, но если это не так, держите нас в курсе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .