Linux/SELinux/04/06 Booleane: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 97: | Zeile 97: | ||
sudo semanage port -a -t http_port_t -p tcp 81 | sudo semanage port -a -t http_port_t -p tcp 81 | ||
[[Kategorie:SELinux/DOC]] | [[Kategorie:SELinux/DOC/04]] | ||
Version vom 24. März 2026, 00:15 Uhr
Booleane
Booleane ermöglichen es, Teile der SELinux-Richtlinie zur Laufzeit zu ändern, ohne Kenntnisse im Schreiben von SELinux-Richtlinien zu benötigen
- Dies ermöglicht Änderungen, wie z. B. das Zulassen des Zugriffs von Diensten auf NFS-Volumes, ohne die SELinux-Richtlinie neu zu laden oder neu zu kompilieren
Auflisten von Booleanen
Um eine Liste der Booleans, eine Erklärung zu deren Bedeutung sowie Angaben dazu, ob sie aktiviert oder deaktiviert sind, zu erhalten, führen Sie den Befehl semanage boolean -l als Linux-Root-Benutzer aus
Das folgende Beispiel listet nicht alle Booleans auf, und die Ausgabe wurde der Kürze halber gekürzt
sudo semanage boolean -l SELinux-Boolean Status Standard Beschreibung smartmon_3ware (aus , aus) Legt fest, ob smartmon... mpd_enable_homedirs (aus, aus) Legt fest, ob mpd...
- Hinweis
- Um detailliertere Beschreibungen zu erhalten, installieren Sie das Paket selinux-policy-devel
Die Spalte SELinux-Boolean listet die Namen der Booleans auf
- Die Spalte Beschreibung gibt an, ob die Booleans aktiviert oder deaktiviert sind und welche Funktion sie haben
Der Befehl getsebool -a listet Boolesche Werte auf, unabhängig davon, ob sie aktiviert oder deaktiviert sind, gibt jedoch keine Beschreibung zu jedem einzelnen
- Das folgende Beispiel listet nicht alle Booleschen Werte auf
getsebool -a cvs_read_shadow --> off daemons_dump_core --> on
Führen Sie den Befehl getsebool ‚‘ boolean-name'‚ aus, um nur den Status des Booleschen Werts ‘'boolean-name aufzulisten
getsebool cvs_read_shadow cvs_read_shadow --> off
Verwenden Sie eine durch Leerzeichen getrennte Liste, um mehrere Boolesche Werte aufzulisten
getsebool cvs_read_shadow daemons_dump_core cvs_read_shadow --> off daemons _dump_core --> on
Konfigurieren von Booleschen Werten
Führen Sie das Dienstprogramm setsebool im Format setsebool ‚'boolean_name‘' on/off aus, um Boolesche Werte zu aktivieren oder zu deaktivieren
Das folgende Beispiel zeigt die Konfiguration des Booleschen Werts httpd_can_network_connect_db
- Konfigurieren von Booleschen Werten
- Standardmäßig ist der Boolesche Wert httpd_can_network_connect_db deaktiviert, wodurch Skripte und Module des Apache-HTTP-Servers daran gehindert werden, eine Verbindung zu Datenbankservern herzustellen
getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> off
- Um Skripte und Module des Apache-HTTP-Servers vorübergehend die Verbindung zu Datenbankservern zu ermöglichen, geben Sie als Root den folgenden Befehl ein
sudo setsebool httpd_can_network_connect_db on
- Verwenden Sie das Dienstprogramm getsebool, um zu überprüfen, ob der Boolean-Wert aktiviert wurde
getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> on
Dadurch können Skripte und Module des Apache-HTTP-Servers eine Verbindung zu Datenbankservern herstellen
- Diese Änderung bleibt nach einem Neustart nicht erhalten
- Um Änderungen auch nach einem Neustart beizubehalten, führen Sie den Befehl setsebool -P ‚‘ boolean-name'' on als Root aus:[3]
sudo setsebool -P httpd_can_network_connect_db on
Shell-Autovervollständigung
Es ist möglich, die Shell-Autovervollständigung mit den Dienstprogrammen getsebool, setsebool und semanage zu verwenden
- Verwenden Sie die Autovervollständigung mit getsebool und [ [setsebool]], um sowohl Befehlszeilenparameter als auch Boolesche Werte zu vervollständigen
- Um nur die Befehlszeilenparameter aufzulisten, fügen Sie das Bindestrichzeichen („-“) hinter dem Befehlsnamen ein und drücken Sie die Tab-Taste
sudo setsebool -[Tab] -P
Um einen Booleschen Wert zu vervollständigen, beginnen Sie mit der Eingabe des Booleschen Werts und drücken Sie dann die Tab-Taste
getsebool samba_[Tab] samba_create_home_dirs samba_export_all_ro samba_run_unconfined samba_domain_controller samba_export_all_rw samba_share_fusefs samba_enable_home_dirs samba_portmapper samba_share_nfs
sudo setsebool -P virt_use_[Tab]
virt_use_comm virt_use_nfs virt_use_sanlock virt_use_execmem virt_use_rawip virt_use_usb virt_use_fusefs virt_use_samba virt_use_xserver
Das Dienstprogramm semanage wird mit mehreren Befehlszeilenargumenten verwendet, die nacheinander vervollständigt werden
- Das erste Argument eines semanage-Befehls ist eine Option, die angibt, welcher Teil der SELinux-Richtlinie verwaltet wird
sudo semanage [Tab] boolean export import login node port dontaudit fcontext interface module permissive user
Anschließend folgen ein oder mehrere Befehlszeilenparameter
sudo semanage fcontext -[Tab] -a -D --equal --help -m -o --add --delete -f -l --modify -S -C --deleteall --ftype --list -n -t -d -e -h --locallist --noheading --type
Geben Sie schließlich den Namen eines bestimmten SELinux-Eintrags ein, z. B. einen Booleschen Wert, einen SELinux-Benutzer, eine Domäne oder einen anderen
- Beginnen Sie mit der Eingabe des Eintrags und drücken Sie Tab
sudo semanage fcontext -a -t samba<tab>
samba_etc_t samba_secrets_t
sambagui_exec_t samba_share_t samba_initrc_exec_t samba_unconfined_script_exec_t samba_log_t samba_unit_file_t samba_net_exec_t
Befehls- -Parameter können in einem Befehl verkettet werden
sudo semanage port -a -t http_port_t -p tcp 81