man 5 sudoers
říká (část "Formát souboru Sudoers"):
Když se uživateli shoduje více záznamů, jsou použity v pořadí. Pokud existuje více shod, použije se poslední shoda (což nemusí nutně být ta nejkonkrétnější).
Takže byste měli mít tyto řádky přesně v tomto pořadí:
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
a jakýkoli řádek, který se také shoduje (jako např. %sudo ALL=(ALL:ALL) ALL
) by měl být před NOPASSWD
řádek.
Obecná poznámka:#include
a #includedir
povolit sudoers
zahrnout další soubory . Nenechte #
blázen, tohle není komentáře. Při hledání záznamů, které mohou rušit, byste neměli vynechat co #include
a #includedir
ukázat na. Užitečná možnost:sudo -l
.
Takový řádek často najdete v /etc/sudoers
:
# Allow members of group sudo to execute any command
%wheel ALL=(ALL:ALL) ALL
To umožní každému uživateli, který je v „kolečku ", chcete-li použít sudo
s vhodným dokladem totožnosti (např.:jejich heslo). Nominovaná skupina může být také "sudo “, „admin ", nebo jiné... (např.:řádek začíná %sudo
)
Pokud je v souboru přítomen, spusťte id
abyste viděli, ve kterých skupinách jste:
$ id
uid=1000(attie) gid=1000(attie) groups=1000(attie),27(sudo),117(docker)
Pokud váš uživatel není v příslušné skupině, musíte uživatele do této skupiny přidat.
Alternativou by bylo uvést obě vaše pravidla jedno po druhém, přičemž poslední odpovídající pravidlo vstoupí v platnost (tj. pořadí je důležité):
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Podívejte se na stránku ArchWiki na sudo:https://wiki.archlinux.org/index.php/sudo#Example_entries