
Ich verwende CentOS Linux Release 7.5.1804 (Core) und bin auf die übliche Aufgabe gestoßen, SELinux auf Permissive einzustellen. Aber dann gaben mir meine beiden Quellen zwei verschiedene Orte an, an denen die Konfiguration eingestellt werden sollte:
- /etc/sysconfig/selinux
Katze /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
- /etc/selinux/config
Katze /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# permissive - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of permissive.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Ich habe die entsprechenden RedHat-Foren gelesen, aber niemand scheint sich besonders auf das Entweder-oder zu konzentrieren. Lesen Sie auchSelinux – Centos – /etc/selinux/config fehlt, beide Lösungen stehen als Antwort zur Verfügung.
Welches sollte ich für meine aktuelle Version verwenden?
Welches sollte ich künftig für neuere Versionen verwenden?
UPDATE: Sie sind in meinem System nicht symbolisch verknüpft. In FAT sind es zwei ziemlich unterschiedliche Dateien:
ls -la /etc/selinux/ | grep config
-rw-r--r--. 1 root root 550 Jan 14 15:55 config
ls -la /etc/sysconfig/ | grep selinux
-rw-r--r--. 1 root root 543 Jan 10 14:12 selinux
Antwort1
Von einem CentOS 7-System habe ich zur Hand, aber CentOS 6 und Fedora 31 sind gleich
lrwxrwxrwx. 1 root root 17 Oct 31 2018 selinux -> ../selinux/config
Scheint, als wären es die gleiche Datei. Persönlich verwende ich /etc/selinx/config, weil ich es mir gut einpräge.
aber in meinem System sind es unterschiedliche Dateien. Die Größe ist unterschiedlich und die Änderungszeit ist unterschiedlich.
Dann nehmen Sie an, dass Ihr System „kaputt“ ist. Das lässt sich leicht testen: Stellen Sie in einem System die Option „permissiv“ und in dem anderen „erzwingend“ ein. Starten Sie neu ...
Antwort2
Die Standardkonfigurationsdatei für Selinux befindet sich in /etc/selinux/config
per man 8 selinux
. In Anhang D desRHEL 6 Bereitstellungshandbuch(konnte es nicht im RHEL 7-Dokument finden), sie erwähnen, dass es /etc/sysconfig
sich um einen symbolischen Link zu Folgendem handelt /etc/selinux/config
:
Die Datei /etc/sysconfig/selinux enthält die grundlegenden Konfigurationsoptionen für SELinux. Es handelt sich um einen symbolischen Link zu /etc/selinux/config
Sie erkennen, dass es sich um einen symbolischen Link handelt, wenn Sie die ls -la
Ausgabe sehen, denn das erste Feld lautet l
„für Link“ und ugo
enthält rwx
:
[root@test sysconfig]# ls -lah selinux
lrwxrwxrwx. 1 root root 19 Nov 24 00:58 selinux -> /etc/selinux/config
Bevor ich erkannte, dass es sich um einen symbolischen Link handelte, überschrieb ich die Datei versehentlich mit „ sed
weil symbolischen Links standardmäßig sed
nicht gefolgt wird“:
[root@test sysconfig]# ls -lah selinux
lrwxrwxrwx. 1 root root 17 Jul 24 23:16 selinux -> ../selinux/config
[root@test sysconfig]# grep '^SELINUX=' selinux
SELINUX=enforcing
[root@test sysconfig]# sed -i 's/SELINUX=enforcing/SELINUX=permissive/' selinux
[root@test sysconfig]# ls -lah selinux
-rw-r--r--. 1 root root 544 Nov 24 00:50 selinux
Sollten Sie jemals in diese Situation geraten, können Sie den symbolischen Link ganz einfach wiederherstellen:
[root@test sysconfig]# rm /etc/sysconfig/selinux
rm: remove regular file ‘/etc/sysconfig/selinux’? y
[root@test sysconfig]# ln -s /etc/selinux/config selinux
[root@test sysconfig]# ls -lah selinux
lrwxrwxrwx. 1 root root 19 Nov 24 00:52 selinux -> /etc/selinux/config
Ich persönlich ändere nur /etc/selinux/config
, erstens, damit mir nicht noch ein Fehler mit dem Symlink unterläuft, und zweitens, weil einige Konfigurationsdateien in diesem Verzeichnis in neueren Versionen veraltet sind; zum Beispiel:nfs
in RHEL 8.