W porządku, jestem w grupie sudo:
$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)
W moich sudores wydaje mi się, że mam odpowiednie ustawienie:
sudo ALL=(ALL:ALL) NOPASSWD: ALL
i jest to ostatnia niekomentowana linia tam.
Ale kiedy próbuję git pull
, próbuję ponownie wpisać hasło:
$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:
Nie jest to problem, gdy jestem zalogowany w konsoli, ale jest to niedopuszczalne w skryptach. Więc jak mogę pozwolić komukolwiek w grupie sudo na ściąganie jako dane www bez ponownego wpisywania hasła?
Kiedy umieszczam swoje imię bezpośrednio:
molot ALL=(ALL) NOPASSWD: ALL
mi to pasuje. Ale oczywiście nie dla marianów ani innych użytkowników z grupy sudo. O ile rozumiałem instrukcję , zarówno nazwy użytkowników, jak i nazwy grup powinny działać w pierwszym pliku.
sudo -u www-data ./your_script.sh
? Jaki jest cel skryptu?sudoers
formatu pliku jest prawidłowe) to nazwa użytkownika wywołującego. Czy próbowałeś zastąpić go symbolem wieloznacznym*
lub jakimkolwiek użytkownikiem, który działa jako hak git?*
nie działa. Umieszczenie mojego imienia bezpośrednio działa dla mnie ... ale oczywiście nie dla innych użytkowników w grupie sudo.Odpowiedzi:
Wygląda na to, że w sudoersach brakuje odpowiedniej linii:
pasuje do użytkownika o nazwie „sudo”. Dla „wszystkich użytkowników w grupie sudo” powinno być:
(zwróć uwagę na znak% na początku).
źródło
%
się%wheel
myśli.sudo visudo
Następnie, zakładając, że
molot
to Twoja nazwa użytkownika, przejdź na koniec pliku i:molot ALL=(ALL) NOPASSWD: ALL
To powinno działać, ale jeśli nie, informuj nas na bieżąco.
źródło
User_Alias
) i zezwól na uruchamianie określonych poleceń jako root (Runas_Alias
). Nie wiem, jak twoja grupa jest skonfigurowana, możesz sprawdzić wiki sudoers help.ubuntu.com/community/Sudoers To jest naprawdę zwięzłe. Sprawdź sekcję „Specyfikacje użytkownika”, to powinno pomóc.