sestatus steht für SELinux-Status.
Dieser Befehl wird verwendet, um den aktuellen Status von SELinux anzuzeigen, das auf Ihrem System ausgeführt wird.
Dieses Tutorial erklärt Folgendes:
- sestatus-Befehlsausgabe mit Details erklärt
- Ausgewählten Objekt-Sicherheitskontext im Sestatus anzeigen
- Boolesche Werte im Status anzeigen
1. sestatus-Befehlsausgabe erklärt
Der Befehl sestatus zeigt an, ob SELinux aktiviert oder deaktiviert ist. Dadurch werden auch zusätzliche Informationen zu einigen der SELinux-Einstellungen angezeigt, die hier erklärt werden.
Das Folgende ist der sestatus-Befehl auf dem CentOS 7-System. Auf der älteren Version von CentOS / RedHat wird diese Ausgabe etwas anders sein.
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
Hinweis:In der obigen Ausgabe ist „aktueller Modus“ die wichtigste Zeile, auf die Sie achten sollten, was unten erklärt wird.
SELinux-Status: Dies zeigt an, ob das SELinux-Modul selbst auf Ihrem System aktiviert oder deaktiviert ist. Denken Sie daran, dass SELinux, auch wenn hier „aktiviert“ angezeigt wird, technisch möglicherweise nicht aktiviert (erzwungen) ist, was durch die unten erläuterte Zeile „Aktueller Modus“ wirklich angezeigt wird.
SELinuxfs-Mount: Dies ist der temporäre SELinux-Dateisystem-Einhängepunkt. Dies wird intern von SELinux verwendet. Dies ist, was Sie tun werden, wenn Sie versuchen, ein ls auf diesem SELinux-Dateisystem auszuführen. Für unseren praktischen Zweck können wir nichts in diesem Verzeichnis manipulieren, da dies intern von SELinux verwaltet wird.
# ls -l /sys/fs/selinux total 0 -rw-rw-rw-. 1 root root 0 Jun 4 22:16 access dr-xr-xr-x. 2 root root 0 Jun 4 22:16 avc dr-xr-xr-x. 2 root root 0 Jun 4 22:16 booleans -rw-r--r--. 1 root root 0 Jun 4 22:16 checkreqprot .. .. -r--r--r--. 1 root root 0 Jun 4 22:16 policy -rw-rw-rw-. 1 root root 0 Jun 4 22:16 relabel -r--r--r--. 1 root root 0 Jun 4 22:16 status -rw-rw-rw-. 1 root root 0 Jun 4 22:16 user
SELinux-Stammverzeichnis: Hier befinden sich alle SELinux-Konfigurationsdateien. Standardmäßig sehen Sie die folgenden Dateien und Verzeichnisse. Dieses Verzeichnis enthält alle für den SELinux-Betrieb notwendigen Konfigurationsdateien. Sie können diese Dateien ändern.
# ls -l /etc/selinux total 8 -rw-r--r--. 1 root root 546 May 1 19:08 config drwx------. 2 root root 6 May 1 19:09 final -rw-r--r--. 1 root root 2321 Jan 17 18:33 semanage.conf drwxr-xr-x. 7 root root 215 May 1 19:09 targeted drwxr-xr-x. 2 root root 6 Jan 17 18:33 tmp
Name der geladenen Richtlinie: Dies zeigt an, welche Art von SELinux-Richtlinie derzeit geladen ist. In so ziemlich allen gängigen Situationen sehen Sie „gezielt“ als SELinux-Richtlinie, da dies die Standardrichtlinie ist. Die folgenden möglichen SELinux-Richtlinien sind verfügbar:
- zielgerichtet – Dies bedeutet, dass nur gezielte Prozesse durch SELinux geschützt werden
- Minimum – Dies ist eine geringfügige Modifikation der gezielten Richtlinie. Dabei werden nur wenige ausgewählte Prozesse geschützt.
- mls – Dies dient dem mehrstufigen Sicherheitsschutz. MLS ist ziemlich komplex und wird in den meisten Situationen nicht verwendet.
Aktueller Modus: Dies zeigt an, ob SELinux derzeit die Richtlinien durchsetzt oder nicht. Mit anderen Worten, technisch gesehen sagt Ihnen dies, ob SELinux derzeit aktiviert ist und auf Ihrem System ausgeführt wird oder nicht.
Die folgenden sind die möglichen SELinux-Modi:
- erzwingen – Dies zeigt an, dass die SELinux-Sicherheitsrichtlinie erzwungen wird (d. h. SELinux ist aktiviert)
- permissive – Dies zeigt an, dass SELinux Warnungen ausgibt, anstatt sie zu erzwingen. Dies ist beim Debuggen hilfreich, wenn Sie wissen möchten, was SELinux möglicherweise blockieren würde (ohne es wirklich zu blockieren), indem Sie sich die SELinux-Protokolle ansehen.
- deaktiviert – Es wird keine SELinux-Richtlinie geladen.
Für unseren praktischen Zweck ist Enforcement gleich Enabled. freizügig und deaktiviert ist gleich deaktiviert.
Richtlinien-MLS-Status zeigt den aktuellen Status der MLS-Richtlinie an. Standardmäßig ist dies aktiviert.
Deny_unknown-Status der Richtlinie zeigt den aktuellen Status des deny_unknown-Flags in unserer Richtlinie an. Standardmäßig ist dies auf erlaubt gesetzt.
Maximale Kernel-Richtlinienversion gibt die aktuelle Version der SELinux-Richtlinie an, die sich in uns befindet. In diesem Beispiel ist es Version 28.
Das Folgende ist die Ausgabe von sestatus auf CentOS und RedHat 6.
# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 24 Policy from config file: targeted
Wenn Sie SELinux auf Ihrem System deaktivieren möchten, können Sie eine dieser Methoden verwenden:4 effektive Methoden zum vorübergehenden oder dauerhaften Deaktivieren von SELinux
2. Sicherheitskontext ausgewählter Objekte in sestatus anzeigen
Mit der Option -v können Sie neben dem regulären Selinux-Status auch den SELinux-Kontext für ausgewählte Dateien und Prozesse anzeigen.
Das Folgende ist die Standardausgabe der Option sestatus -v:
# sestatus -v SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 Process contexts: Current context: unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 Init context: system_u:system_r:init_t:s0 /usr/sbin/sshd system_u:system_r:sshd_t:s0-s0:c0.c1023 File contexts: Controlling terminal: unconfined_u:object_r:user_devpts_t:s0 /etc/passwd system_u:object_r:passwd_file_t:s0 /etc/shadow system_u:object_r:shadow_t:s0 /bin/bash system_u:object_r:shell_exec_t:s0 /bin/login system_u:object_r:login_exec_t:s0 /bin/sh system_u:object_r:bin_t:s0 -> system_u:object_r:shell_exec_t:s0 /sbin/agetty system_u:object_r:getty_exec_t:s0 /sbin/init system_u:object_r:bin_t:s0 -> system_u:object_r:init_exec_t:s0 /usr/sbin/sshd system_u:object_r:sshd_exec_t:s0
In der obigen Ausgabe:
- Der Abschnitt "Prozesskontexte" zeigt den SELinux-Kontext einiger ausgewählter Prozesse an. Sie können dieser Liste Ihren eigenen Prozess hinzufügen, indem Sie ihn zur Datei /etc/sestatus.conf hinzufügen. Wie Sie hier sehen, zeigt es den Sicherheitskontext des sshd-Prozesses an.
- Der Abschnitt Dateikontexte zeigt den SELinux-Kontext einiger ausgewählter Dateien an. Sie können dieser Liste Ihre eigenen benutzerdefinierten Dateien hinzufügen, indem Sie sie der Datei /etc/sestatus.conf hinzufügen. Wie Sie in der obigen Ausgabe sehen, zeigt es den Sicherheitskontext von Passwort, Schatten und einigen anderen Dateien an.
- Wenn die angegebene Datei ein symbolischer Link ist, wird auch der Kontext der Zieldatei angezeigt.
Dieser Abschnitt zeigt immer den Sicherheitskontext des aktuellen Prozesses, des Init-Prozesses und des Controllings an Terminals-Dateikontext.
Das Folgende ist die Standardeinstellung der Datei /etc/sestatus.conf. Fügen Sie Ihre benutzerdefinierten Dateien zum Abschnitt [files] und Ihren benutzerdefinierten Prozess zum Abschnitt [process] hinzu.
# cat /etc/sestatus.conf [files] /etc/passwd /etc/shadow /bin/bash /bin/login /bin/sh /sbin/agetty /sbin/init /sbin/mingetty /usr/sbin/sshd /lib/libc.so.6 /lib/ld-linux.so.2 /lib/ld.so.1 [process] /sbin/mingetty /sbin/agetty /usr/sbin/sshd
3. Boolesche Werte im Sestatus anzeigen
Mit der Option -b können Sie den aktuellen Status von booleschen Werten wie unten gezeigt anzeigen.
Wie unten gezeigt, werden neben der typischen sestatus-Ausgabe im Abschnitt „Policy booleans:“ die aktuellen SELinux-booleschen Werte für alle Parameter angezeigt.
# sestatus -b | more SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 Policy booleans: abrt_anon_write off abrt_handle_event off abrt_upload_watch_anon_write on antivirus_can_scan_system off antivirus_use_jit off auditadm_exec_content on authlogin_nsswitch_use_ldap off authlogin_radius off authlogin_yubikey off awstats_purge_apache_log_files off boinc_execmem on cdrecord_read_content off ... ... ... xend_run_blktap on xend_run_qemu on xguest_connect_network on xguest_exec_content on xguest_mount_media on xguest_use_bluetooth on xserver_clients_write_xshm off xserver_execmem off xserver_object_manager off zabbix_can_network off zarafa_setrlimit off zebra_write_config off zoneminder_anon_write off zoneminder_run_sudo off
Die obige Ausgabe zeigt normalerweise das, was Sie in der Ausgabe des Befehls getsebool sehen würden. Das heißt, der obige Befehl „sestatus -b“ entspricht der Ausführung der folgenden beiden Befehle:
sestatus getsebool -a