So überprüfen Sie, ob ein Benutzer in Linux sudo-Zugang hat

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob ein Benutzer in Linux sudo-Zugang hat. Sie werden drei gängige Methoden untersuchen: das direkte Testen der sudo-Berechtigungen mit sudo -l, die Prüfung der Konfigurationsdatei /etc/sudoers und die Überprüfung, ob der Benutzer zur Gruppe sudo gehört.

Durch die Durchführung dieser Schritte werden Sie praktische Fähigkeiten erwerben, um Benutzerberechtigungen im Zusammenhang mit administrativen Aufgaben in einer Linux-Umgebung zu verstehen und zu überprüfen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") subgraph Lab Skills linux/cat -.-> lab-558774{{"So überprüfen Sie, ob ein Benutzer in Linux sudo-Zugang hat"}} linux/sudo -.-> lab-558774{{"So überprüfen Sie, ob ein Benutzer in Linux sudo-Zugang hat"}} linux/groups -.-> lab-558774{{"So überprüfen Sie, ob ein Benutzer in Linux sudo-Zugang hat"}} end

Testen von sudo-Berechtigungen mit sudo -l

In diesem Schritt lernen Sie, wie Sie Ihre sudo-Berechtigungen mit dem Befehl sudo -l prüfen können. sudo (SuperUser DO) ermöglicht es einem autorisierten Benutzer, einen Befehl als Superuser oder als ein anderer Benutzer auszuführen, wie es die Sicherheitsrichtlinie vorgibt.

Der Befehl sudo -l listet die Befehle auf, die der Benutzer auf dem aktuellen Host ausführen darf, oder die Befehle, die auf einem angegebenen Host erlaubt sind.

Lassen Sie uns die sudo-Berechtigungen für den aktuellen Benutzer (labex) prüfen. Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

sudo -l

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Matching Defaults entries for labex on ...:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User labex may run the following commands on ...:
    (ALL : ALL) NOPASSWD: ALL

Diese Ausgabe zeigt Ihnen, dass der Benutzer labex alle Befehle (ALL) als alle Benutzer (ALL : ALL) ausführen kann, ohne dass ein Passwort erforderlich ist (NOPASSWD: ALL). Dies bestätigt, dass Ihr labex-Benutzer volle sudo-Berechtigungen hat, ohne dass ein Passwort benötigt wird.

Das Verständnis von sudo ist entscheidend für die Verwaltung von Berechtigungen und die Ausführung von administrativen Aufgaben in Linux.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Prüfen der sudoers-Datei mit cat /etc/sudoers

In diesem Schritt werden Sie die Datei /etc/sudoers untersuchen, die die Hauptkonfigurationsdatei für sudo ist. Diese Datei bestimmt, welche Benutzer oder Gruppen welche Befehle als welche Benutzer ausführen können.

Wichtig: Das direkte Bearbeiten der Datei /etc/sudoers kann gefährlich sein und kann Sie aus Ihrem System sperren, wenn es falsch durchgeführt wird. Es wird im Allgemeinen empfohlen, den Befehl visudo zum Bearbeiten dieser Datei zu verwenden, da er eine Syntaxprüfung durchführt. In diesem Schritt werden wir jedoch einfach den Inhalt der Datei mit dem Befehl cat anzeigen, um ihre Struktur zu verstehen.

Da /etc/sudoers eine Systemdatei ist, benötigen Sie sudo-Berechtigungen, um sie lesen zu können.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

sudo cat /etc/sudoers

Sie werden den Inhalt der Datei /etc/sudoers sehen. Suchen Sie nach Zeilen, die Benutzer- oder Gruppenberechtigungen definieren. Sie könnten Zeilen ähnlich diesen sehen (Kommentare beginnen mit #):

#
## 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:/snap/bin"

## Host alias specification

## User alias specification

## Cmnd alias specification

## User privilege specification
root	ALL=(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

Die Zeile %sudo ALL=(ALL:ALL) ALL ist besonders wichtig. Sie bedeutet, dass jeder Benutzer, der Mitglied der Gruppe sudo ist (%sudo), Befehle (ALL) als jeder Benutzer (ALL) und jede Gruppe (ALL) auf jedem Host (ALL) ausführen kann. Dies ist eine gängige Methode, um Benutzern in Debian-basierten Systemen wie Ubuntu administrative Berechtigungen zu erteilen.

Durch das Anzeigen dieser Datei erhalten Sie Einblicke in die Konfiguration der sudo-Berechtigungen auf dem System.

Klicken Sie auf Weiter, um zum nächsten Schritt zu gelangen.

Überprüfen der sudo-Gruppe mit dem groups-Befehl

Im vorherigen Schritt haben Sie in der Datei /etc/sudoers gesehen, dass Mitglieder der Gruppe sudo volle sudo-Berechtigungen haben. In diesem Schritt werden Sie überprüfen, dass der Benutzer labex tatsächlich Mitglied der Gruppe sudo ist, indem Sie den Befehl groups verwenden.

Der Befehl groups zeigt die Namen der primären und zusätzlichen Gruppen für jeden angegebenen Benutzernamen an, oder für den aktuellen Prozess, wenn kein Benutzername angegeben wird.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

groups

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die Gruppen auflistet, zu denen der Benutzer labex gehört:

labex sudo ssl-cert public

Diese Ausgabe zeigt, dass labex Mitglied der Gruppen labex, sudo, ssl-cert und public ist. Das Vorhandensein von sudo in der Liste bestätigt, dass der Benutzer labex Teil der Gruppe ist, der gemäß der Datei /etc/sudoers sudo-Berechtigungen gewährt werden.

Alternativ können Sie den Benutzernamen mit dem Befehl groups angeben:

groups labex

Die Ausgabe wird die gleiche sein:

labex : labex sudo ssl-cert public

Dieser Schritt stärkt die Verbindung zwischen Gruppenmitgliedschaft und sudo-Berechtigungen, wie sie im System konfiguriert sind.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie prüfen können, ob ein Benutzer in Linux sudo-Zugang hat. Sie haben begonnen, indem Sie den Befehl sudo -l verwendet haben, um die Befehle aufzulisten, die der aktuelle Benutzer mit sudo-Berechtigungen ausführen darf. Dies hat bestätigt, dass der Benutzer labex uneingeschränkten sudo-Zugang ohne Passwort hat.

Anschließend haben Sie die Datei /etc/sudoers mit dem Befehl cat untersucht, um ihre Rolle bei der Konfiguration der sudo-Berechtigungen zu verstehen. Es wurde jedoch betont, dass visudo das empfohlene Tool zum Bearbeiten dieser Datei ist. Schließlich hätten Sie normalerweise überprüft, ob der Benutzer Teil der Gruppe sudo ist, indem Sie den Befehl groups verwendet haben, da die Gruppenmitgliedschaft eine gängige Methode ist, um sudo-Zugang zu gewähren.