News
Serverspace Technologien in den VAE: Einführung von Falconcloud
WB
William Bell
4. Juni 2020
Aktualisiert Juni 7, 2023

Debian Superuser-Rechte (sudo, visudo)

Debian Linux

Allgemeine Hinweise

Linux Betriebssysteme implementieren das Prinzip der Differenzierung von Benutzerrechten, was bedeutet, dass verschiedene Konten unterschiedlich viele Zugriffsrechte auf Verzeichnisse, Dateien und Programme habenramS. Die maximalen Rechte werden dem integrierten Root-Konto gewährt. Neu erstellte Benutzerkonten unterliegen in der Regel erheblichen Einschränkungen beim Zugriff auf Systemkonfigurationsdateien, der Verwaltung von Diensten sowie der Installation und Löschung von Softwarepaketen. Allerdings wird vom Arbeiten im Betriebssystem unter dem Root-Konto vor allem aus Sicherheitsgründen dringend abgeraten. In diesem Fall ist die sudo Das Befehlszeilen-Dienstprogramm kommt zur Rettung.

Der Befehl sudo ermöglicht die Ausführung einzelner Befehle mit erhöhten Rechten (standardmäßig mit Root-Rechten) über ein nicht privilegiertes Konto. Sehen wir uns an, was erforderlich ist, damit dieses Dienstprogramm funktioniert.

Installation und Konfiguration

In Ubuntu Betriebssystem, sudo ist standardmäßig aktiviert und in DebianWenn das entsprechende Paket während des Installationsvorgangs nicht ausgewählt wurde, wird höchstwahrscheinlich das folgende Bild angezeigt:

root@debian10:~# sudo
-bash: sudo: command not found

Sie müssen also das fehlende Paket installieren. Aktualisieren Sie die Repository-Informationen und installieren Sie sudo:

apt-get update
apt-get install sudo

Wir warten auf das Ende des Prozesses:

Debian superuser rights
Screenshot Nr. 1. Debian Superuser-Rechte

Nach einer erfolgreichen Installation müssen Sie sudo konfigurieren, um zu bestimmen, welche Benutzer oder Gruppen in welchem ​​Umfang die Rechteausweitung nutzen können. Alle diese Einstellungen werden in der Konfigurationsdatei gespeichert / etc / sudoersEs wird jedoch dringend davon abgeraten, direkt Änderungen daran vorzunehmen. Für diese Zwecke wird ein spezieller Befehl verwendet:

visudo

Dadurch wird ein Texteditor mit einer Konfigurationsdatei gestartet:

Text editor with a configuration file
Screenshot Nr. 2. Texteditor mit einer Konfigurationsdatei

Für die Rechtevergabe sind zwei Linien zuständig:

root    ALL=(ALL:ALL) ALL
%sudo   ALL=(ALL:ALL) ALL

Die erste Zeile legt die Rechte für das Root-Konto fest, die zweite legt die Rechte für Mitglieder der Sudo-Gruppe fest, die bei der Installation des Pakets erstellt wurde (die % (Ein Zeichen vor dem Namen bedeutet, dass der Name zu einer Benutzergruppe gehört).

Dementsprechend haben wir im Wesentlichen zwei Möglichkeiten, dem Benutzerkonto das Nutzungsrecht einzuräumen sudo:

Fügen Sie der Sudo-Gruppe auf dem Server ein Benutzerkonto (z. B. Benutzer) hinzu:

usermod –a –G sudo user

Nachdem Sie die Gruppenmitgliedschaft geändert haben, müssen Sie sich erneut bei diesem Konto anmelden, um die neue Konfiguration zu übernehmen. Diese Methode empfiehlt sich in Fällen, in denen dem Benutzer volle Rechte gewährt werden müssen.

Erstellen Sie in der Datei einen neuen Eintrag, beispielsweise für das Benutzerkonto. Wir fügen eine Zeile ähnlich wie root hinzu:

user ALL=(ALL:ALL) ALL

Das Hinzufügen eines neuen Eintrags empfiehlt sich in Fällen, in denen die Liste der Berechtigungen angepasst wird (dazu später mehr). Wenn wir Änderungen an der Datei vorgenommen haben, müssen wir diese speichern, indem wir die Tastenkombination Strg-O drücken und den Editor verlassen – Strg-X.

Jetzt können Sie die korrekte Funktion überprüfen:

user@debian10:~$ sudo cat /etc/sudoers
[sudo] password for user:

Der Befehl sudo fragt nach dem Passwort des aktuellen Benutzers (in diesem Fall Benutzer) – geben Sie es ein, und wenn alles richtig gemacht wurde, sehen wir den Inhalt der Systemkonfigurationsdatei.

Feintuning

Somit kann ein normaler Benutzer Befehle mit den Rechten des Root-Kontos ausführen, ohne sein Passwort zu kennen. Das ist sehr praktisch, kann aber unsicher sein – ist es möglich, den Bereich der Befehle einzuschränken, die mit sudo ausgeführt werden können? Ja, und dabei hilft uns dieselbe Konfigurationsdatei. Wir starten Visudo erneut und verstehen weiter. Wir interessieren uns für die paramNach dem Benutzernamen angegebene Werte:

Parameters specified after the username
Screenshot Nr. 3. Parameters nach dem Benutzernamen angegeben

Wir werden sie genauer analysieren:

  • ALLER= (ALL: ALLE) ALLE - der erste Parameter bestimmt, auf welchen Host die Konfiguration angewendet wird. Bei Verwendung eines dedizierten Servers ist der parameter kann unverändert bleiben;
  • ALLE=(ALLES ALLES)ALLE - die paramDie Werte in Klammern bestimmen die Berechtigung des Benutzers (erster Abschnitt).rameter) und/oder Gruppe (zweite parameter) wird der Befehl ausgeführt. Standardmäßig führt sudo den Befehl als Root aus, aber beim Start können Sie mit dem Schalter –u ein anderes Konto angeben und mit dem Schalter –g können Sie eine andere Gruppe angeben, deren Berechtigungen beim Start verwendet werden;
  • ALLE=(ALLE: ALLE)ALLER- der dritte Parameter ermittelt, zu welchen Dateien und Befehlen diese Einstellungen gehören.

Bestimmen Sie auf der Grundlage des Vorstehenden ggf. die Liste der zulässigen Befehle und ersetzen Sie den letzten SchrittramÄther ALLER mit dem, was wir brauchen, indem wir die Befehle durch Kommas getrennt auflisten. Zum Beispiel die Zeile:

user    ALL=(ALL:ALL) /sbin/shutdown –r, /bin/cat

Gibt dem Benutzer das Recht, mit sudo den Server mit sudo /sbin/shutdown –r neu zu starten und Dateien mit sudo /bin/cat anzuzeigen. Andere Befehle über sudo werden nicht ausgeführt. Wenn Sie beispielsweise versuchen, den Server mit dem Befehl sudo /sbin/shutdown –h herunterzufahren, erhalten wir die Antwort:

Sorry, user user is not allowed to execute '/sbin/shutdown -h' as root on debian10.

Nützlich

Sie können die Liste der Berechtigungen anzeigen, indem Sie sudo –l (die Liste für den aktuellen Benutzer wird angezeigt) oder sudo –l –U user (die Liste der Benutzerberechtigungen wird angezeigt) ausführen:

The list of user privileges
Screenshot Nr. 4. Die Liste der Benutzerrechte

Die Zusammensetzung von sudo umfasst den Befehl sudoedit, der einen Texteditor mit der angegebenen Datei sofort mit erhöhten Rechten startet, d. h. anstelle des Befehls:

sudo nano /etc/network/interfaces

kann laufen:

sudoedit /etc/network/interfaces

Wenn Sie längere Zeit im Modus mit erhöhten Rechten arbeiten müssen und es unpraktisch ist, für jeden Befehl sudo einzugeben, können Sie über sudo eine Instanz des Befehlsinterpreters ausführen:

sudo bash

und weiter daran arbeiten – alle Teams werden mit erhöhten Rechten gestartet. Beenden Sie nach Abschluss den Interpreter mit dem Befehl „exit“.

Abstimmung:
5 aus 5
Durchschnittliche Bewertung: 5
Bewertet von: 2
1101 CT Amsterdam Niederlande, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Wir verwenden Cookies, um Ihr Erlebnis auf der Website zu verbessern Serverspace besser. Indem Sie weiterhin auf unserer Website surfen, stimmen Sie unseren zu
Cookies und Datenschutzbestimmungen.