Modus 0600 og riktig eier garanterer ikke at tjenesten kan åpne en nøkkel. Den manglende tillatelsen sitter vanligvis på en mappe ovenfor. Linux løser opp en sti én komponent om gangen, og hvert trinn krever søkerett før det neste forsøkes. Les hele stien, ikke den siste linjen i opplistingen.

Leserett er det siste trinnet, ikke det eneste

Å åpne en fil krever at kjernen går fra roten eller arbeidsmappen gjennom hver komponent i stien. En mappe uten søkerett stopper den gjennomgangen med en tillatelsesfeil. Filens egen modus blir aldri undersøkt, så en fullt lesbar nøkkel ser uleselig ut. Feilen kommer ofte ved åpning uten å navngi mappen, og derfor får den siste filen skylden.

For en mappe betyr eksekveringsbiten søk, ikke kjøring av innholdet. En nøkkel forblir data, og ingen del av denne reparasjonen krever at den merkes som kjørbar.

Gå stien som tjenestekontoen

List hver komponent med eier og modus, og gjenta deretter lesingen som tjenestens faktiske identitet. Forskjellen mellom skallet ditt og daemonen er ofte hele svaret. Følg symbolske lenker til det virkelige målet, fordi det er den oppløste stien som kontrolleres.

namei -l /etc/openvpn/client/office.key
sudo -u vpn-reader stat -c '%A %U:%G %n' /etc/openvpn/client/office.key

En tjeneste kan også åpne filer i mer enn én fase. Noe materiale leses under privilegert oppsett, mens andre filer åpnes etter at privilegier er sluppet. Et root-skall som leser filen, gjenskaper ikke den senere arbeiderens tilgang. Et mount-navnerom kan vise en annen visning av samme sti, særlig inne i en container, så sammenlign daemonens filsystemvisning med din.

Endre den smaleste tillatelsen som passer

Velg den minste ordningen som gir prosessen tilgang: en kontrollert gruppe med søk på de nødvendige mappene, et administrert sted tjenesten allerede eier, eller en annen dokumentert mekanisme. Lesing av en fil krever ikke skriverett på mappen. Bred gruppe-skriverett på privilegert konfigurasjon er ikke en normal gjennomgangsreparasjon. Rekursiv 0777 er heller ikke en løsning.

Noter hvilken komponent du endret og hvorfor. En tillatelsesendring uten notert grunn er vanskelig å gjennomgå og lett å glemme.

Se forbi modus først etter gjennomgangen

Hvis modusbitene virker tilstrekkelige, er de resterende kontrollene ACL-er, sikkerhetspolicy og sandbox-begrensninger. En ACL kan gi tilgang som modusbitene antyder mangler, eller nekte tilgang som de ser ut til å tillate. Disse innstillingene tilhører den eksisterende konfigurasjonseieren, og de bør justeres smalt i stedet for å slås av. En forskjell i rot eller arbeidsmappe kan også forklare en absolutt sti som virker i én sammenheng og feiler i en annen.

Mist ikke oversikten over hva filen er mens du retter tilgangen. Et CA-sertifikat er offentlig av design; en privat nøkkel er ikke. Filer klienten skriver om, trenger også andre skriverettigheter enn en identitetsnøkkel som er skrivebeskyttet. Undersøk metadata uten å skrive ut hemmeligheter, og bekreft deretter at tjenesten selv virker etter endringen. Et kort notat i tjenestedokumentasjonen sparer neste person for den samme gjennomgangen.

Relaterte artikler