Diese zusätzlichen Informationen enthalten die folgenden vier Entitäten:
- SELinux-Benutzer: Definiert die Identität des Benutzers, der auf einen Prozess oder eine Datei in Linux-basierten Betriebssystemen zugreift, ihn besitzt, ändert oder löscht. Wenn ein Benutzer unter Linux Zugriff auf eine bestimmte Datei oder einen bestimmten Prozess hat, wird die Identität des Benutzers in der SELinux-Sicherheitsrichtlinie explizit erwähnt. Dies bedeutet, dass ein Linux-Benutzer immer mit seiner Identität angesprochen wird.
- Rolle: Basierend auf dieser Entität wird einem Benutzer der Zugriff auf ein bestimmtes Objekt in SELinux erlaubt oder verweigert. Das Rollenkonzept leitet sich von einem der sehr bekannten Zutrittskontrollmodelle ab, d.h.e., Rollenbasierte Zugriffskontrolle (RBAC). Dieses Modell ist besonders nützlich, wenn viele Benutzer die gleichen Zugriffsrechte haben. Anstatt jedem einzelnen Benutzer bestimmte Zugriffsrechte zuzuweisen, werden die Zugriffsrechte einer bestimmten Rolle zugeordnet. Die mit der jeweiligen Rolle eines Benutzers verbundenen Zugriffsrechte werden diesem Benutzer automatisch zugewiesen.
- Typ: Diese Entität wird verwendet, um Dateitypen und Prozessdomänen in SELinux zu definieren. Durch die Verwendung dieser Entität wird der Zugriff nur dann gewährt, wenn eine Regel in der Zugriffskontrollrichtlinie von SELinux für diesen bestimmten Typ vorhanden ist und auch die Regel für die Gewährung des Zugriffs da ist und nicht umgekehrt.
- Level: Diese Entität steht für Multi-Level Security (MLS) und Multi-Category Security (MCS). Die Sicherheitsstufen werden durch Begriffe wie hoch, niedrig usw. definiert.
Kurz gesagt, ein SELinux-Kontext ist eine Kombination dieser vier Attribute. Mit Hilfe dieser vier Attribute gewährt oder verweigert SELinux einem Benutzer den Datei- oder Prozesszugriff.
Dieser Artikel zeigt Ihnen Methoden zum Auflisten aller SELinux-Kontexte in CentOS 8.
Methoden zum Auflisten von SELinux-Kontexten in CentOS 8
Um alle SELinux-Kontexte in CentOS 8 aufzulisten, können Sie eine der vier unten geteilten Methoden auswählen:
Methode Nr. 1: Verwenden des Befehls „semanage“
Um die SELinux-Kontexte für alle Dateien und Prozesse in Ihrem CentOS 8-System aufzulisten, führen Sie den folgenden Befehl in Ihrem CentOS 8-Terminal aus:
$ sudo semanage fcontext -l | grep httpd_log_tDieser Befehl kann ohne Root-Benutzerberechtigungen nicht ausgeführt werden. Bei diesem Befehl muss zwingend das Schlüsselwort „sudo“ verwendet werden; Andernfalls wird eine Fehlermeldung ausgegeben error. Daher ist es besser, diesen Befehl wie oben beschrieben zu verwenden, um wertvolle Zeit zu sparen.
Sobald dieser Befehl seine Ausführung abgeschlossen hat, werden alle SELinux-Kontexte in Ihrem Terminal angezeigt, wie in der Abbildung unten gezeigt. Sie können nach oben, unten, links oder rechts scrollen, um eine vollständige Ansicht aller SELinux-Kontexte in CentOS 8 . zu erhalten.
Methode # 2: Verwenden des „ls“-Befehls
Um alle SELinux-Dateikontexte in CentOS 8 zu erhalten, können Sie auch den folgenden Befehl in Ihrem CentOS 8-Terminal ausführen:
$ sudo ls -lZ /rootDie SELinux-Dateikontexte werden im „root“-Verzeichnis gespeichert. Um auf dieses Verzeichnis zugreifen zu können, müssen Sie über Root-Benutzerrechte verfügen. Mit anderen Worten, Sie müssen diesen Befehl zusammen mit dem Schlüsselwort „sudo“ ausführen, genau wie wir es getan haben.
Nachdem Sie diesen Befehl ausgeführt haben, können Sie alle SELinux-Dateikontexte in Ihrem CentOS 8-Terminal anzeigen, wie in der folgenden Abbildung gezeigt:
Methode Nr. 3: Verwenden des „ps“-Befehls
Wir haben alle SELinux-Dateikontexte in der oben gezeigten Methode aufgelistet. Manchmal müssen Sie möglicherweise nur alle SELinux-Prozesskontexte in CentOS 8 auflisten. Sie können diese Kontexte nur abrufen, indem Sie den folgenden Befehl im Terminal ausführen:
$ sudo ps axZSie müssen über Root-Benutzerrechte verfügen, um den oben genannten Befehl auszuführen. Mit anderen Worten, Sie müssen diesen Befehl zusammen mit dem Schlüsselwort „sudo“ ausführen, genau wie wir es getan haben.
Nachdem Sie diesen Befehl ausgeführt haben, können Sie alle SELinux-Prozesskontexte im Terminal anzeigen, wie unten gezeigt:
Methode Nr. 4: Verwenden des Befehls „id“
Zu anderen Zeiten müssen Sie möglicherweise nur die aktuellen Benutzerkontexte von SELinux in CentOS 8 . abrufen. Sie können alle aktuellen SELinux-Benutzerkontexte auflisten, indem Sie den folgenden Befehl in Ihrem CentOS 8-Terminal ausführen:
$ id -Z
Nachdem Sie diesen Befehl ausgeführt haben, können Sie alle aktuellen Benutzerkontexte von SELinux im Terminal anzeigen, wie in der Abbildung unten gezeigt. Dies sind alle Informationen, die mit Ihrem aktuellen Benutzer im CentOS 8-System verknüpft sind.
Fazit
In diesem Artikel haben wir Ihnen zunächst eine Methode zum Auflisten aller SELinux-Kontexte auf einmal vorgestellt. Dann haben wir mit Ihnen Methoden geteilt, um alle SELinux-Dateien, -Prozesse und -Benutzerkontexte separat aufzulisten. Dies versetzt Sie in eine sehr gute Position, um mit SELinux-Kontexten herumzuspielen. Wenn Sie alle Kontexte der SELinux-Prozesse und -Dateien auf einmal sehen möchten, verwenden Sie Methode 1. Wenn dies jedoch nicht der Fall ist, können Sie gemäß Ihren Anforderungen Methode 2, Methode 3 oder Methode 4 wählen.