man 5 sudoers
sagt (Abschnitt "Sudoers File Format"):
Wenn mehrere Einträge für einen Benutzer übereinstimmen, werden sie der Reihe nach angewendet. Bei mehreren Übereinstimmungen wird die letzte Übereinstimmung verwendet (die nicht unbedingt die spezifischste Übereinstimmung ist).
Sie sollten diese Zeilen also genau in dieser Reihenfolge haben:
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
und jede passende Zeile (wie z.B. %sudo ALL=(ALL:ALL) ALL
) sollte vor NOPASSWD
stehen Linie.
Allgemeiner Hinweis:#include
und #includedir
sudoers
zulassen um andere Dateien einzuschließen . Lassen Sie #
nicht zu Täuschen Sie sich, das sind nicht Kommentare. Bei der Suche nach störenden Einträgen sollten Sie #include
nicht auslassen und #includedir
zeigen auf. Hilfreiche Option:sudo -l
.
Eine solche Zeile finden Sie häufig in /etc/sudoers
:
# Allow members of group sudo to execute any command
%wheel ALL=(ALL:ALL) ALL
Dies erlaubt jedem Benutzer, der sich im "Rad befindet "-Gruppe, um sudo
zu verwenden mit geeignetem Identitätsnachweis (z.B.:Passwort). Die nominierte Gruppe kann auch "sudo sein ", "admin ", oder andere ... (z. B.:Zeile beginnt mit %sudo
)
Wenn dies in der Datei vorhanden ist, führen Sie id
aus um zu sehen, in welchen Gruppen Sie sind:
$ id
uid=1000(attie) gid=1000(attie) groups=1000(attie),27(sudo),117(docker)
Wenn Ihr Benutzer nicht in der entsprechenden Gruppe ist, müssen Sie ihn zu dieser Gruppe hinzufügen.
Eine Alternative wäre, beide Regeln nacheinander aufzulisten, wobei die zuletzt übereinstimmende Regel wirksam wird (d. h. die Reihenfolge ist wichtig):
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Siehe die ArchWiki-Seite zu sudo:https://wiki.archlinux.org/index.php/sudo#Example_entries