Pravo pretraživanja u svakom direktoriju prije ključa
Ključ može imati 0600 i ipak odbiti da se otvori kada nadređeni direktorij blokira prolaz. Provjerite cijelu putanju kao servisni račun prije nego promijenite bilo koji način.
Način 0600 i ispravan vlasnik ne jamče da servis može otvoriti ključ. Nedostajuće dopuštenje obično je na direktoriju iznad njega. Linux razrješava putanju jednu komponentu po jednu, a svaki korak zahtijeva dopuštenje pretraživanja prije nego se pokuša sljedeći. Čitajte cijelu putanju, a ne zadnji redak popisa.
Dopuštenje čitanja je zadnji korak, a ne jedini
Otvaranje datoteke zahtijeva da kernel prođe od korijena ili radnog direktorija kroz svaku komponentu putanje. Direktorij bez dopuštenja pretraživanja zaustavlja taj prolaz pogreškom dopuštenja. Vlastiti način datoteke nikada se ne pregledava, pa savršeno čitljiv ključ izgleda nečitljiv. Pogreška često dolazi u trenutku otvaranja bez imena direktorija, zato se krivi završna datoteka.
Za direktorij, bit izvršavanja znači pretraživanje, a ne izvršavanje sadržaja. Ključ ostaje podatak i nijedan dio ovog popravka ne zahtijeva označavanje kao izvršnog.
Prođite putanju kao servisni račun
Navedite svaku komponentu s njezinim vlasnikom i načinom, zatim ponovite čitanje kao stvarni identitet servisa. Razlika između vaše ljuske i demona često je cijeli odgovor. Slijedite simboličke veze do stvarne mete, jer se provjerava razriješena putanja.
namei -l /etc/openvpn/client/office.key
sudo -u vpn-reader stat -c '%A %U:%G %n' /etc/openvpn/client/office.key
Servis također može otvarati datoteke u više faza. Dio materijala čita se tijekom privilegiranog postavljanja, dok se druge datoteke otvaraju nakon što se privilegije spuste. Root ljuska koja čita datoteku ne reproducira pristup kasnijeg radnika. Montažni prostor imena može prikazati drukčiji pogled na istu putanju, posebno unutar kontejnera, pa usporedite pogled datotečnog sustava demona sa svojim.
Promijenite najuže dopuštenje koje odgovara
Odaberite najmanji raspored koji procesu daje pristup: kontrolirana grupa s pretraživanjem na potrebnim direktorijima, upravljano mjesto koje servis već posjeduje ili drugi dokumentirani mehanizam. Čitanje datoteke ne zahtijeva dopuštenje pisanja na njezinu direktoriju. Široko dopuštenje pisanja grupe na privilegiranu konfiguraciju nije uobičajen popravak prolaza. Rekurzivni 0777 također nije rješenje.
Zabilježite koju ste komponentu promijenili i zašto. Promjenu dopuštenja bez zabilježenog razloga teško je pregledati i lako je zaboraviti.
Pogledajte dalje od načina tek nakon prolaza
Ako bitovi načina izgledaju dovoljni, preostale provjere su ACL, sigurnosna politika i ograničenja sandboxa. ACL može dati pristup koji bitovi načina sugeriraju da nema, ili odbiti pristup koji izgleda da dopuštaju. Te postavke pripadaju postojećem vlasniku konfiguracije i treba ih usko prilagoditi umjesto potpuno isključiti. Razlika korijena ili radnog direktorija također može objasniti apsolutnu putanju koja radi u jednom kontekstu, a u drugom ne.
Ne gubite iz vida što je datoteka dok popravljate pristup. CA certifikat je javan po dizajnu, privatni ključ nije. Datoteke koje klijent prepisuje također trebaju drukčija prava pisanja od identitetskog ključa koji je samo za čitanje. Pregledajte metapodatke bez ispisivanja tajni, zatim potvrdite da sam servis radi nakon promjene. Kratka bilješka u dokumentaciji servisa poštedjet će sljedeću osobu istog prolaza.