GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zugriff auf die SELinux-Richtliniendokumentation

[Möchten Sie Red Hat Enterprise Linux ausprobieren? Jetzt kostenlos herunterladen.]

Es gibt viele hervorragende Handbuchseiten für die eingeschränkten Domänen, die in der SELinux-Richtlinie enthalten sind. Diese Manpages beschreiben boolesche Werte und Kontexttypen für jede Domäne. Sie enthalten auch Beispiel-semanage Befehle zum Hinzufügen von Kontextzuordnungen, Ändern von Booleschen Werten und mehr.

Unglücklicherweise für den Systemadministrator, der mit der SELinux-Konfiguration beginnt, werden diese Manpages oft nicht standardmäßig installiert. Die SELinux-Richtlinien-Manpages sind an zwei Stellen verfügbar. Das Upstream-Repository für Referenzrichtlinien enthält eine Handvoll vorgefertigter Manpages. Der Rest kann mit einem Tool aus dem policycoreutils-devel aus dem Richtlinieninhalt generiert werden Paket.

Installation von einem Distributionspaket

Einige Distributionen generieren die Manpages vorab und packen sie, damit die Dokumentation einfach zu Ihrem System hinzugefügt werden kann. Fedora, CentOS und Red Hat Enterprise Linux 8 enthalten alle eine selinux-policy-doc.noarch Paket in ihren Basis-Repositories. Dieses Paket wird standardmäßig nicht installiert, kann aber einfach mit einem yum hinzugefügt werden oder dnf Befehl:

$ sudo yum install selinux-policy-doc.noarch

Red Hat Enterprise Linux 7 hat dieses Paket ebenfalls, aber es befindet sich im „Optionalen“ Repo, das standardmäßig nicht aktiviert ist. Aktivieren Sie das Repo entweder dauerhaft mit subscription-manager :

$ sudo subscription-manager repo --enable=rhel-7-server-optional-rpms

oder fügen Sie das Repo einfach während der Installation vorübergehend hinzu:

$ sudo yum --enablerepo=rhel-7-server-optional-rpms install selinux-policy-doc.noarch

Nachdem die SELinux-Domänendokumentation verfügbar ist, suchen Sie mit:

nach den relevanten Seiten
$ man -k _selinux

Hinweis: Nach der Installation des Dokumentationspakets müssen Sie möglicherweise auch den Manpage-Index-Cache aktualisieren, bevor Sie die Ergebnisse der Suche sehen können:

$ sudo mandb

Manpages aus der Richtlinie generieren

Wenn das Docs-Paket nicht verfügbar ist oder Sie nur eine Manpage für eine bestimmte Domäne generieren möchten, können Sie die Manpages auch aus der Richtlinie erstellen. Installieren Sie zuerst devel Pakete und ihre Abhängigkeiten:

$ sudo yum install policycoreutils-devel 

Verwenden Sie dann die sepolicy Befehl zum Generieren einer bestimmten Manpage durch Angabe des Domänentyps (der SELinux-Kontexttyp, der dem laufenden Prozess zugeordnet ist, der enthalten ist). Zum Beispiel:

$ sepolicy manpage -d httpd_t

Die resultierende Manpage wird in /tmp generiert Verzeichnis und kann nach Namen angezeigt werden:

$ man /tmp/httpd_selinux.8

Es gibt Optionen für die sepolicy manpage Befehl zum Überschreiben des Ausgabespeicherorts (--path ), generieren Sie eine HTML-Version (--web ) oder alle generieren (--all ) Seiten. Um diese und andere Optionen anzuzeigen, verwenden Sie:

$ man sepolicy-manpage

Solange ein Benutzer Schreibrechte für den Ausgabepfad hat, kann er eine Manpage generieren und anzeigen.

Sehen Sie sich die Magie dieser Manpages in der Vorschau an

Die SELinux-Manpages für Domänentypen haben alle ein gemeinsames Layout. Wie bei jedem Satz Manpages gilt:Je mehr Manpages Sie lesen, desto einfacher ist es, die nächste zu scannen oder schnell zu lesen.

Jede Manpage beginnt mit den erwarteten Feldern NAME und DESCRIPTION jeder Manpage. Die Handbuchseiten der SELinux-Domäne enthalten dann die Abschnitte ENTRYPOINTS und PROCESS TYPES. (Einstiegspunkte sind die Typen, die den ausführbaren Dateien zugewiesen sind, die, wenn sie als Daemons gestartet werden, zu den eingeschränkten Prozesstypen übergehen.)

Nicht alle Prozesstypen sind jedoch Daemons, einige können interaktive ausführbare Dateien sein. Beispiel:sshd_exec_t ist ein Einstiegspunkt, der zum sshd_t übergeht Prozesstyp. Außerdem sshd_t , ssh_t , und ssh_keygen_t und sind auch Beispiele für Prozesstypen.

Prozesstypen werden auch als Domänentypen bezeichnet und sind die Typen, die mit semanage in den Permissive-Modus versetzt werden können Befehl.

Nach allen Abschnitten zu Einstiegspunkten und Prozesstypen enthält die Handbuchseite der SELinux-Domäne Abschnitte für alle BOOLEANS, PORT TYPES, MANAGED FILES und FILE CONTEXTS, die für diese Domäne gelten. Diese Abschnitte definieren Schlüsselwörter und bieten Beispiele für Änderungen, die mit semanage vorgenommen werden können Befehl. Das Aktivieren eines booleschen Werts ermöglicht einen anderen Regelsatz für verschiedene Anwendungsfälle. Datei- und Portkontextmodifikationen ermöglichen es, ein System so zu konfigurieren, dass es Daten an einem nicht standardmäßigen Speicherort speichert oder auf einem nicht standardmäßigen Port ausgeführt wird.

Jede Manpage endet mit einer Liste von COMMANDS, auf die in der Manpage und den traditionellen Manpage-Abschnitten AUTOR und SIEHE AUCH verwiesen wird.

Beginnen Sie mit der Erkundung

Mit dem targeted Richtlinie, der httpd Domänenseite ist wahrscheinlich die längste, da diese Domäne die meisten booleschen Werte und Dateitypen zu beschreiben hat. Es war auch eine der ersten beschränkten Domains in der Geschichte des targeted von SELinux Richtlinie.

Beginnen Sie mit einer Ihnen vertrauten Domäne wie sshd , httpd , oder ntpd . Suchen Sie dann nach Domänen, die für Ihre Umgebung relevant sind. Nach der Installation der selinux-docs Paket habe ich über 850 Manpages auf meinem System zum Erkunden!

Und denken Sie daran, SELinux weiter durchzusetzen! (So ​​geht's.)


Linux
  1. Ersetzen Sie Manpages durch Tealdeer unter Linux

  2. Top 5 Linux man-Befehlsoptionen zum Durchsuchen von Manpages

  3. Wie verwendet man Manpages, um zu lernen, wie man Befehle verwendet?

  4. 8 UNIX/Linux-Man-Befehlsbeispiel zum Anzeigen von Man-Pages

  5. Muss ich Manpages für die C-Bibliothek schreiben?

Dwww – Sehen Sie sich die vollständige Debian-Dokumentation offline über einen Webbrowser an

Erfahren Sie, wie man Manpages effizient unter Linux verwendet

So zeigen Sie einen bestimmten Abschnitt in Manpages in Linux an

So installieren Sie Manpages in Alpine Linux

Farben in Manpages?

Manpage-Zitatzeichen?