sudo ignoruje NOPASSWD rubrika: Administrace: Software

položil/-a 14.10.2013
upravil/-a 14.10.2013
Potřebuju spustit následujícíc script (post-receive hook z git repozitáře):
#!/bin/sh echo "Executing post-receive hook as user `id` using `which sudo`" sudo -l sudo -n /var/project/autotest/autotest.sh
Hook by se měl spustit aniž by se ptal na heslo, ale dostanu takovýhle výstup:
Executing post-receive hook as user uid=1005(martinjonas) gid=1001(martinjonas) groups=1001(martinjonas),1009(lifeweb),1017(project) using /usr/bin/sudo Matching Defaults entries for martinjonas on this host: env_reset User martinjonas may run the following commands on this host: (root) NOPASSWD: /var/project/autotest/autotest.sh sudo: sorry, a password is required to run sudo
Podle výstupu co dá sudo -l by práva na spuštění /var/project/autotest/autotest.sh bez hesla měla být aktivní, ale stejně se to zeptá na heslo.
Obsah sudoers (tohle je celý soubor, žádné další položky v něm nejsou):
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d www-data ALL=(root) NOPASSWD: /usr/bin/svn up %project ALL=(root) NOPASSWD: /var/project/autotest/autotest.sh
Jediné co se mi podařilo najít jako možné příčiny bylo použití špatného sudo (chybný alias) a umístění pravidla na špatnou pozici v rámci sudoers (last entry wins). To jsem ale oboje vyloučil jak je vidět ve výpisech.
Používáme na serveru Debian 6.0 Linux 2.6.32-5-amd64
odkaz
7
Jakub Macek

odpověděl/-a 14.10.2013
Možná přebývá mezera za "NOPASSWD:"? Já ji v sudoers nemám.
Pro zobrazení všech 2 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře