Sudo und die NOPASSWD Option - Sudo and the NOPASSWD Option (DE / EN)
Sudo und die NOPASSWD Option - Sudo and the NOPASSWD Option (DE / EN)
Sudo ist ein Befehl unter Unix und Unixartigen Betriebssystemen wie auch Linux eines ist. Er wird genutzt um Prozesse mit den Rechten eines anderen Benutzers (üblicherweise Root) zu starten ohne dessen Passwort kennen zu muessen. Mit Sudo lassen sich auch einzelne Befehle fuer die Nutzung mit Root Rechten (bzw Rechten anderer Nutzer) freigeben. Das dauerhafte Arbeiten mit einer anderen Identität (wie beim su Befehl) ist mit
su -s
oder
su -i
auch Möglich.
Die Konfiguration ueber die /etc/sudoers.conf
Sudo wird über die Datei /etc/sudoers.conf konfiguriert. Achtung: Die Datei /etc/sudoers.conf sollte niemals direkt Editiert werden, der kleinste Rechtschreibfehler kann je nach Systemkonfiguration zur Unbenutzbarkeit des Rechners führen!!
Sie sollte nur mit dem Kommando:
visudo
Bearbeitet werden. Dieses startet standartmässig den Editor nano um Änderungen vorzunehmen. Nach dem Editieren ist es wichtig die sudoers.tmp zu speichern (STRG-o), nur dann wird die Syntaxueberprüfung durchgeführt und evtl Schreibfehler können korrigiert werden. Mit STRG-x kann der Editor beendet werden.
Die Reihenfolge der Einträge in /etc/sudoers.conf wird von oben nach unten Gelesen. Wenn sich zwei Einträge wiedersprechen gewinnt immer der letzte (bzw unterste) Eintrag.
Beispielzeilen fuer die /etc/sudoers.conf
Der Benutzer user1 darf nach Eingabe seines Benutzerpassworts alle Programme mit Rootrechten starten
user1 ALL=(ALL) ALL
Erstellt eine Benutzergruppe denen dann Rechte zugewiesen werden können.
User_Alias FU_USER=user1
Weisst den Benutzern in der Gruppe FU_USER das Recht zu einige Progamme ohne Passworteingabe nutzen zu können.
FU_USER ALL=NOPASSWD: /sbin/reboot, /sbin/halt, /sbin/shutdown
Diese Zeile funktioniert NUR wenn danach bis zum Ende der Datei kein Eintrag mehr steht der sich auf die gleichen Benutzer bezieht und eine Passwort Eingabe verlangt. (Der jeweils letzte Eintrag überschreibt die vorhergehenden Einträge wenn es um das gleiche Zielobjekt geht) Anstelle der Benutzergruppe kann auch ein einzelner Benutzername stehen. Eine Unix Gruppe geht auch, die Schreibweise ist dann %Gruppenname
%Gruppenname ALL=NOPASSWD: /sbin/reboot, /sbin/halt, /sbin/shutdown
Eine sudoers.conf als Beispiel
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
JoeUser ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# Die Mitglieder der Gruppe shutdown dürfen per sudo
# die Kommandos /sbin/reboot und /sbin/halt Nutzen ohne
# ein Passwort eingeben zu müssen.
%shutdown ALL=NOPASSWD: /sbin/reboot, /sbin/halt
English Version
Sudo and the NOPASSWD Option
Sudo is a command under Unix and Unix-like operating systems like Linux. It is used to start processes with the rights of another user (usually root) without having to know his password. With Sudo it is also possible to execute single commands with root rights (or rights of other users). Working permanently with another identity (like the su command) is also possible:
su -s
or
su -i
The configuration via /etc/sudoers.conf
Sudo is configured via the file /etc/sudoers.conf. Attention: The file /etc/sudoers.conf should never be edited directly. Depending upon your Computers system configuratioin, the smallest spelling mistake can lead to the unusability of the computer! It should only be edited with the command:
visudo
By default this starts the editor nano to make changes. After editing it is important to save the sudoers.tmp (CTRL-o), only then the syntax check is performed and possible spelling mistakes can be corrected. With CTRL-x the editor can be closed.
The order of the entries in /etc/sudoers.conf is read from top to bottom. If two entries contradict each other, the last (or lowest) entry always wins.
Sample lines for /etc/sudoers.conf
The user user1 is allowed to start all programs with root rights after entering his user password.
user1 ALL=(ALL) ALL
Creates a user group to which rights can then be assigned.
User_Alias FU_USER=user1
Assigns the users in the group FU_USER the right to use some
programs without entering a password.
FU_USER ALL=NOPASSWD: /sbin/reboot, /sbin/halt, /sbin/shutdown
This line works ONLY if there is no entry after that until the end of the file that refers to the same users and requires a password entry. (The last entry overwrites the previous entries if it is about the same target object) Instead of the user group there can also be a single user name. a Unix group is also possible, the notation then is %groupname
%Gruppenname ALL=NOPASSWD: /sbin/reboot, /sbin/halt, /sbin/shutdown
A sudoers.conf as an example
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
JoeUser ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# Members of Group shutdown are allowed to use the commands /sbin/reboot und /sbin/halt without passwort.
%shutdown ALL=NOPASSWD: /sbin/reboot, /sbin/halt
Du hast ein Upvote von mir bekommen, diese soll die Deutsche Community unterstützen. Wenn du mich unterstützten möchtest, dann sende mir eine Delegation. Egal wie klein die Unterstützung ist, Du hilfst damit der Community. DANKE!
Nice. Ich hab' mich bislang immer total einsam hier gefühlt mit Linux...
Einsam mit Linux? Kann schon sein, soviele Desktop Benutzer gibts es ja nicht wenn man den Statistiken glaubt.