I denne opplæringen lærer du hva SELinux er og hvordan du fikser feilen “Kunne ikke laste Selinux -policyen” som vises på CentOS-operativsystemer.
Først, la oss kort beskrive SELinux sikkerhetsmodus. Hva er SELinux og hvilken rolle spiller det på Linux-operativsystemet?
SELinux er en kjernesikkerhetsmodul som kontrollerer programvare og brukertilgang til operativsystemet. Utgitt en gang på midten av 2000-tallet, har SELinux blitt tilstede på flere og flere Linux-distribusjoner gjennom årene.
Aktiviteten til denne modulen består i distribusjon og kontroll av sikkerhetspolicyer i systemet, og begrenser tilgangen til applikasjoner på nivået til de viktigste undersystemene til kjernen.
Denne sikkerhetsmekanismen fungerer uavhengig av de tradisjonelle kontroll- og blokkeringssystemene for mistenkelige aktiviteter som finnes på Linux. Kan ikke aktivt kontrolleres av superbrukeren “root” og uten interaksjon med applikasjoner eller tredjeparts skript, gir SELinux stabilitet til kjernen.
Sikkerheten til et Linux-system uten denne SELinux-modulen vil automatisk avhenge av riktigheten av konfigurasjonen av kjernen, applikasjoner med kjørerettigheter og deres konfigurasjoner. En enkel feil i et av disse tidligere nevnte elementene kan kompromittere den korrekte funksjonen til hele systemet.
Avslutningsvis kan SELinux kalles en ekte vokter av Linux-operativsystemer, noe som sikrer integritet, sikkerhet og stabilitet. Ikke forveksle denne modulen med et antivirus eller en brannmur. Det er helt annerledes.
Brukere som bruker Linux for web- og skyservere er godt klar over at SELinux kan forårsake problemer når de kjører privilegerte programvareapplikasjoner på systemtilgangs- og kontrollnivå.
SELinux kan kontrollere operativsystemaktiviteter for hver enkelt bruker, applikasjon og demon, og håndheve presise sikkerhetspolicyer og begrensninger. Dette kan ofte være et problem for webservere, der de fleste spesifikke programvareprosesser har privilegier og samhandler med operativsystemkjernen.
De som bestemte seg for å deaktivere denne kjernemodulen gjør ofte feil når de endrer direktivene, noe som fører til manglende evne til å laste SELinux når operativsystemet startes på nytt. “Failed to load SELinux policy“.

Jeg viste i en artikkel hvordan deaktiverer SELinux, for å forhindre å avbryte prosessen satt av NGINX-tjenesten i en webserver.
# 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.
SELINUXTYPE=disabled (WRONG)
En feil som vi utilsiktet gjorde, og siden det var en ekstern server, var løsningen fullstendig reinstallering av operativsystemet.
Hvis du er litt heldigere, kan du bare fikse SELinux hvis du har en DVD tilgjengelig eller muligheten til å starte operativsystemets ISO-bilde i “rescue“.
Failed to load SELinux Policy det finnes spesielt på versjonene CentOS 6, CentOS 7, RHEL 7.x.
Takk for artikkelen, du får grunnårsaken, men gikk glipp av en løsning: faktisk legge til selinux=0 i OS-oppføringen foreslått av grub er nok til å deaktivere selinux og gjøre OS oppstartbart igjen.
Takk for denne løsningen!
selinux=0Jeg tror at på det tidspunktet jeg skrev artikkelen, var dette alternativet ikke tilgjengelig. Jeg kan ta feil. Takk for løsningen!