V tem vadnem priročniku se boste naučili, kaj je SELinux in kako rešiti napako "Failed to load SELinux Policy", ki se pojavi na operacijskih sistemih CentOS.
Najprej na kratko opišemo varnostni način SELinux. Kaj je to SELinux in kakšno vlogo ima v operacijskem sistemu Linux?
SELinux je varnostni modul jedra, ki ima vlogo nadzora dostopa programskih aplikacij in uporabnikov do operacijskega sistema. Izdano nekje sredi leta 2000, SELinux je z leti postal prisoten v vse več distribucijah Linux.
Dejavnost tega modula je razdelitev in nadzor varnostnih politik v sistemu, ki omejujejo dostop aplikacij na ravni glavnih podsistemov jedra.
Ta varnostni mehanizem deluje neodvisno od tradicionalnih sistemov nadzora in blokiranja sumljivih dejavnosti, ki so prisotni na Linux. Superuporabnik ga ne more aktivno nadzorovati "root
” in brez interakcije z aplikacijami ali skripti tretjih oseb, SELinux zagotavlja stabilnost jedra.
Varnost sistema Linux brez tega modula SELinux samodejno bo odvisno od pravilnosti konfiguracije jedra, aplikacij z zagnanimi privilegiji in njihovih konfiguracij. Preprosta napaka v enem od teh prej omenjenih elementov lahko ogrozi pravilno delovanje celotnega sistema.
V zaključku, SELinux lahko imenujemo pravi varuh operacijskih sistemov Linux, ki zagotavlja celovitost, varnost in stabilnost. Ne zamenjujte tega modula s protivirusnim programom ali požarnim zidom. To je popolnoma drugače.
Ljudje, ki uporabljajo Linux za spletne in oblačne strežnike to dobro vem SELinux lahko povzroči težave pri izvajanju programskih aplikacij s privilegiji dostopa do sistema in ravni nadzora.
SELinux lahko nadzira dejavnosti operacijskega sistema za vsakega uporabnika, aplikacijo in daemon delno in lahko uporablja natančne varnostne politike in omejitve. To je pogosto lahko težava za spletne strežnike, kjer ima večina specifičnih procesov programske opreme privilegije in sodeluje z jedrom operacijskega sistema.
Tisti, ki so se odločili onemogočiti ta modul jedra, pogosto delajo napake pri spreminjanju direktiv, kar vodi do nezmožnosti nalaganja SELinux ob ponovnem zagonu operacijskega sistema. “Failed to load SELinux policy".

Pokazal sem v a članek o tem, kako ga je mogoče onemogočiti SELinux, da preprečite prekinitev postopka, ki ga storitev NGINX postavi v spletni strežnik.
# 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)
Napaka, ki smo jo nenamerno naredili, in ker je šlo za oddaljeni strežnik, je bila rešitev popolna ponovna namestitev operacijskega sistema.
Če imate malo več sreče, lahko popravite SELinux samo, če imate pri roki DVD ali možnost nalaganja ISO slike operacijskega sistema v "rescue".
Failed to load SELinux Policy najdemo ga predvsem na različicah CentOS 6, CentOS 7, RHEL 7.x.
Hvala za članek, ugotovili ste glavni vzrok, vendar ste zgrešili eno rešitev: dejansko dodajanje selinux=0 v vnos OS, ki ga je predlagal grub, je dovolj, da onemogočite selinux in OS znova omogočite zagon.
Hvala za to rešitev!
selinux=0
Mislim, da v času, ko sem pisal članek, ta možnost ni bila na voljo. Lahko da se motim. Hvala za rešitev!