Vorwort
Dies ist eine ziemlich komplexe Frage im Zusammenhang mit der Sudoers-Datei und dem Befehl sudo im Allgemeinen.
HINWEIS: Ich habe diese Änderungen auf einem dedizierten Computer mit Ubuntu Desktop 13.04 vorgenommen, den ich ausschließlich zu Lernzwecken verwende. Ich verstehe, dass die Aktivierung von NOPASSWD sudo ein großes Sicherheitsrisiko darstellt.
Frage
Anfänglich war meine einzige Änderung an der sudoers-Datei (/ etc / sudoers) eine Zeile, eine Benutzerspezifikation, die es 'nicholsonjf' hätte ermöglichen sollen, alle Befehle mit sudo auszuführen, ohne ein Kennwort eingeben zu müssen (siehe die Zeile, die mit 'nicholsonjf' beginnt) '):
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
nicholsonjf ALL=NOPASSWD: ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Dies funktionierte jedoch nicht und ich wurde jedes Mal zur Eingabe meines Kennworts aufgefordert, wenn ich den Befehl 'nicholsonjf' ausführte. Ich konnte sudo-Befehle erst als 'nicholsonjf' ausführen, nachdem ich 'nicholsonjf' aus den Gruppen sudo und admin entfernt hatte.
Kann mir jemand erklären, warum das funktioniert hat?
Liegt es daran, dass der Benutzer 'nicholsonjf' Sudo-Rechte von den beiden Gruppenspezifikationen 'admin' und 'sudo' (siehe unten in der sudoers-Datei) erbte, die die Benutzerspezifikation 'nicholsonjf' außer Kraft setzten, weil sie sich weiter unten in der Datei befanden? Konfigurationsdatei?