Einführung
Unter Linux hat der Benutzer root uneingeschränkte Macht über das System. Für die tägliche Arbeit ist eine Anmeldung als root jedoch gefährlich. Stattdessen verwenden wir sudo. Damit können normale Benutzer bestimmte Befehle mit erweiterten Berechtigungen ausführen.
Die Datei /etc/sudoers legt fest, wer sudo verwenden darf und welche Aktionen diese Benutzer ausführen können. Sie gehört zu den wichtigsten Richtliniendateien eines Linux-Systems, weil sie delegierte administrative Berechtigungen definiert.
Die Verwaltung dieser Datei erfordert äußerste Vorsicht. Bereits ein einziger Syntaxfehler kann dazu führen, dass niemand mehr auf das System zugreifen kann – auch Administratoren nicht. Deshalb dürfen Sie diese Datei niemals direkt mit einem gewöhnlichen Texteditor bearbeiten. Verwenden Sie stattdessen das spezielle Werkzeug visudo.
Bei dieser Datei handelt es sich um eine Richtliniendatei und nicht nur um eine Komforteinstellung. Sie legt fest, wer unter welchen Bedingungen administrative Berechtigungen anfordern darf und für welche Befehle dies gilt.
In diesem Lab lernen Sie:
- die Sudoers-Konfiguration mit
visudosicher zu überprüfen; - einem Benutzer administrative Berechtigungen zu erteilen;
- zu prüfen, ob diese Berechtigungen korrekt funktionieren.
Aktuelle Berechtigungen prüfen
Bevor Sie Änderungen vornehmen, überprüfen Sie zunächst den aktuellen Zustand. Für dieses Lab wurde ein normaler Benutzer namens alex angelegt. Neue Benutzer haben standardmäßig keine administrativen Berechtigungen.
Sudoers-Datei überprüfen
Um die Konfiguration anzuzeigen, verwenden wir visudo. Dieses Werkzeug sperrt die Datei während der Bearbeitung und überprüft vor dem Speichern die Syntax. Dadurch werden versehentliche Systemsperren verhindert.
Diese Überprüfung ist der Grund, warum visudo verwendet wird. Bei gewöhnlichen Texteditoren wird ein kleiner Tippfehler möglicherweise erst entdeckt, nachdem die Datei gespeichert wurde und der Zugriff über sudo bereits nicht mehr funktioniert.
Zeigen Sie die aktuelle Konfiguration an:
sudo visudo
Sie sehen Zeilen, die festlegen, welche Benutzer Berechtigungen haben. Zum Beispiel:
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
In dieser Umgebung öffnet visudo die Datei im Editor nano. Drücken Sie Ctrl+X, um den Editor zu verlassen, ohne Änderungen vorzunehmen.
Fehlende Berechtigungen überprüfen
Wechseln Sie nun zum Benutzer alex und versuchen Sie, eine administrative Aufgabe auszuführen.
Wechseln Sie zuerst zum Benutzer alex:
su - alex
Geben Sie bei der Aufforderung password ein.
Versuchen Sie anschließend, den Inhalt des geschützten Verzeichnisses /root aufzulisten:
sudo ls /root
Geben Sie bei der Aufforderung password ein.
Beachten Sie die Fehlermeldung:
alex is not in the sudoers file. This incident will be reported.
Damit ist bestätigt, dass alex ein normaler Benutzer ist und keine administrativen Aktionen ausführen darf.
Das ist die sichere Standardeinstellung. In der Linux-Sicherheit gehört es zum Prinzip der geringsten Privilegien, zunächst möglichst wenige Berechtigungen zu vergeben und nur die benötigten hinzuzufügen.
Kehren Sie abschließend zu Ihrem ursprünglichen Benutzer (labex) zurück:
exit
Benutzerberechtigungen konfigurieren
Damit alex Befehle als root ausführen kann, müssen Sie der Datei /etc/sudoers eine Regel hinzufügen.
Öffnen Sie die Datei zunächst sicher:
sudo visudo
Scrollen Sie bis zum Ende der Datei oder suchen Sie nach dem Abschnitt „User privilege specification“. Fügen Sie dort die folgende Zeile ein:
alex ALL=(ALL:ALL) ALL
Aufschlüsselung der Regel:
alex: Der Benutzername, dem Sie die Berechtigungen erteilen.- Das erste
ALL: Die Regel gilt für Verbindungen von jedem Host. (ALL:ALL): Der Benutzer darf Befehle als jeder Benutzer (zum Beispielroot) und in jeder Gruppe ausführen.- Das abschließende
ALL: Der Benutzer darf jeden Befehl ausführen.
Diese Regel ist zu Lehrzwecken absichtlich weit gefasst. In realen Systemen bevorzugen Administratoren häufig engere Sudo-Regeln, die nur bestimmte Befehle erlauben, statt uneingeschränkten Zugriff zu gewähren.
Speichern Sie die Datei und beenden Sie den Editor:
- Drücken Sie
Ctrl+Ound anschließendEnter, um zu speichern. - Drücken Sie
Ctrl+X, um den Editor zu verlassen.
Wenn Sie einen Tippfehler gemacht hätten, würde visudo Sie darauf hinweisen und so eine fehlerhafte Konfiguration verhindern.
Aktualisierte Berechtigungen überprüfen
Nachdem Sie die Konfiguration aktualisiert haben, sollte alex über vollständige administrative Berechtigungen verfügen. Überprüfen Sie dies nun.
Wechseln Sie zuerst zum Benutzer alex:
su - alex
Führen Sie anschließend den privilegierten Befehl erneut aus:
sudo ls /root
Geben Sie password ein, falls Sie dazu aufgefordert werden.
Beachten Sie das Ergebnis. Nun sollte der Inhalt des Verzeichnisses /root angezeigt werden – wahrscheinlich ist es leer oder enthält einige Implementierungsdateien. Es sollten keine Fehler wegen verweigerten Zugriffs auftreten.
snap
Damit ist bestätigt, dass Sie die Berechtigungen für den Benutzer alex erfolgreich erweitert haben.
alex ist zu diesem Zeitpunkt dennoch nicht standardmäßig root. Stattdessen wurde alex die Möglichkeit übertragen, über sudo eine Ausführung mit erweiterten Berechtigungen anzufordern. Das ist sicherer und besser überprüfbar als eine normale Anmeldung als root.
Beenden Sie abschließend die Sitzung von alex:
exit
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie Benutzerberechtigungen sicher verwalten.
Wichtige Erkenntnisse:
- Sicherheit zuerst: Verwenden Sie zum Bearbeiten von
/etc/sudoersimmervisudo. Bearbeiten Sie die Datei niemals direkt. - Delegieren von Berechtigungen: Sie können bestimmten Benutzern Root-Zugriff gewähren, ohne das Root-Passwort weiterzugeben.
- Überprüfung: Testen Sie neue Berechtigungen immer, um sicherzustellen, dass sie wie vorgesehen funktionieren.
Wenn Sie die Konfiguration von sudoers beherrschen, können Sie ein sicheres System aufbauen, in dem Benutzer genau die benötigten Berechtigungen haben – nicht mehr und nicht weniger.



