sudo ignoruje NOPASSWD rubrika: Administrace: Software

9 Martin Mystik Jonáš
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.

Komentáře

  • Michal Illich : Myslím, že mezerou to nebude, já v sudoers používám: mike ALL = NOPASSWD: /usr/bin/názevscriptu a funguje to. 17.10.2013

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.