"Hvad er SE Linux?"
Jo, det er faktisk et ganske viktig spørsmål hvis man anvender nye RedHat eller RedHat "derivater".
Gikk i gang med å teste ut og finne ut av dette på en Centos 4.0 (Gratis variant av RH Enterprice server 4.0) for noen uker siden. Husker ikke alle detaljer, men kan da forsøke å forsøke å gjengi noen av de konklusjoner som jeg kom fram til allikevell.
"Selinux" eller "Security-Enhanced Linux" er en variant av Linux kernel som har innebygget noen ekstra sikkerhetsfunksjoner som ikke finnes i den ordinære Linux kernel.
Som et slags grov eller meget enkel forklaring så kan man kanskje nærmest si det slik at selinux funksjonene virker som en slags "innvendig firewallfunksjon" (eller chroot miljø) mellom de forskjellige prosessene som kjører under linux. På denne måten så settes det bestemte regler for hva den enkelte prosess kan tillate seg, før de regelverket som følger av selinux trer i kraft og hindrer dette.
Litt mer forklaring her:
http://en.wikipedia.org/wiki/SELinuxGjennom kommando setenforce så har man muligheten for å lage en midlertidig delvis disabling av selinux funksjonene.
http://linuxcommand.org/man_pages/setenforce8.htmlSkal man lage en permanent disabling av selinux funksjonene så må man gjøre dette i grub oppstartfilen. Selinux medfører at det skrives fler sikkerhetsmassige filopplysninger i tilknytning til den enkelte fil enn det som finnes i en ordinær linux distribusjon. Dette medfører at dersom man lager en fullstendig disabling av selinux gjennom editering av grub oppstart filen, så er dette irreversibelt, dvs at det ikke er mulig å enable selinux på nytt igjen. Man må installere det hele på nytt.
Her har jeg gjemt bort en hel del detaljer, men det finnes en eller annen slags "policifil" eller noe liknende som setter de sikkerhetsmessige reglene for distribusjonen ("ala invendig firewall rules"). Kan ikke garantere at dette er rett konkjlusjon, men min konklusjon da jeg sjekket opp dette, det var i hvert fall at det å endre dette regelsettet for selinux var en så komplisert arbeidsoperasjon at det egentlig i praksis bare er de store distribørene, slik som for eksempel RedHat som har praktisk mulighet til å lage endringer i forhold til disse reglene.
Med andre ord - selinux medfører i praksis at den distribusjon som man har installert kjører med en hel del sikkerhetsmessige regler og begrensninger som man ikke en gang har mulighet til å vite hva er. Dette kan få installasjonen til å oppføre seg nærmest "irrasjonelt" eller "ufornuftig". Man har typisk sjekket opp alle ting som kan sjekkes opp, men det kjører allikevell ikke.
Jeg liker den sånn sett ikke helt. Synes selinux på et vis har noe "antiopensource" over seg. Den får linux installasjonen til å oppføre seg på bestemte måter uten at man egentlig helt vet hvorfor, merkelig atferd skyldes "hemmelige selinux rules" (Likner ikke dette nærmest på Windows ??).
Min konklusjon, rett eller galt, det var at enten så må man i prinsipp satse på å kjøre distribusjonen slik som den er på basis av standard pakker til distribusjonen, eller hvis man har behov for det mer spesielle, så må man konfigurere slik at selinux funksjonene blir satt permanent av.
I forhold til det konkrete spørsmål/tilfellet, så er da min erfaring av både standardinstallasjonene av php og mysql kjører problemfritt under selinux både for Core 3 og for Centos 4. (Fordi default "selinux rules" tillater standardpakkene å kjører.
Dersom det forholder seg slik at mysql ikke får kjøre under selinux, så vil jeg tro at det skulle skyldes at det dreier seg om en mysql installasjon som ikke er basert på de orginale mysql rpm's fra RedHat. Man har for eksempel laget en eller annen "uautorisert oppgradering" og så er man i konflikt med "selinux security rules".
I forhold til den konkrete problemstilling så vil jeg tro at valget reelt sett består mellom å reinstallere de orginale Core 3 pakkene og få alle andre modifikasjoner ut, eller å disable selinux funksjonene permanent.
Jeg hadde hest sett at min konklusjon ikke er riktig, og at selinux ikke har innebygget disse egentlig ganske omfattende ulempene.
Hvis det er andre som har testet ut eller som har andre konklusjoner, så ville det være ganske interessant med et par synspunkter.
Jeg ønsker fortrinnsvis ikke å ha rett med hensyn til det som står over (men jeg er bange for at det kan være rett.)
MVH Langbein.