SELinux (Security-Enhanced Linux) to warstwa bezpieczeństwa w systemach z rodziny RHEL, która egzekwuje ścisłe reguły dotyczące tego, do czego każdy proces może mieć dostęp. Jest wartościowa, ale czasem blokuje legalne oprogramowanie i powoduje błędy „permission denied”, których przyczyna nie jest oczywista. Ten przewodnik pokazuje, jak sprawdzić status SELinux i wyłączyć go — tymczasowo lub na stałe — w CentOS, RHEL, AlmaLinux, Rocky Linux i Fedora.
Sprawdzenie bieżącego statusu SELinux
Najpierw sprawdź, w jakim trybie działa SELinux:
sestatus # lub, aby zobaczyć tylko bieżący tryb: getenforce
Zobaczysz jeden z trzech stanów: Enforcing (reguły są stosowane), Permissive (reguły są tylko logowane, ale nie stosowane) lub Disabled (SELinux jest wyłączony).
Tymczasowe wyłączenie SELinux (do restartu)
Aby natychmiast przełączyć SELinux w tryb permissive bez restartu:
sudo setenforce 0 # potwierdzenie: getenforce # powinno zwrócić: Permissive
To zalecany pierwszy krok przy rozwiązywaniu problemów — po restarcie tryb wraca do enforcing, więc nie zablokujesz się na stałe. Aby ponownie włączyć tryb enforcing, użyj sudo setenforce 1.
Stałe wyłączenie SELinux
Aby zmienić tryb na stałe (po restartach), edytuj plik konfiguracyjny SELinux:
sudo nano /etc/selinux/config
Znajdź linię SELINUX i ustaw ją na permissive (zalecane) lub disabled:
# dla trybu permissive (bezpieczniej): SELINUX=permissive # lub aby całkowicie wyłączyć: SELINUX=disabled
Zapisz plik i zrestartuj system, aby zmiany weszły w życie:
sudo reboot
Weryfikacja po restarcie
getenforce # zwróci Permissive lub Disabled zgodnie z Twoją konfiguracją