Storitev systemd doseže posrednik, ne pa datoteke CA
Ko nastavitev potrdila posrednika deluje le v interaktivni lupini, preverite dostop uporabnika storitve do datotek in omejitve systemd.
Namestili ste odobren sveženj CA in zahteva deluje v terminalu. Storitev še vedno javlja napako nalaganja potrdila. Pred menjavo IP-ja posrednika preverite, ali ta proces lahko odpre isto datoteko.
Storitev lahko teče kot drug uporabnik Unix, se začne v drugem imeniku ali vidi omejen datotečni sistem. Pot, veljavna za vašo prijavo, ni samodejno veljavna zanjo.
Začnite z absolutno potjo
Preverite pot, nastavljeno v dejanskem odjemalcu. Pri curl na primer --cacert izbere sveženj CA cilja; posrednik HTTPS ima ločene možnosti CA za posrednik. Drugi odjemalci uporabljajo svoje konfiguracijske ključe ali okoljske spremenljivke.
Preglejte datoteko in imenike, ki vodijo do nje:
namei -l /home/alex/certs/approved-ca.pem
systemctl show example.service -p User -p Group -p ProtectHome -p RootDirectory
To so diagnostični primeri, ne navodilo, da bi datoteko naredili zapisljivo vsem. Dovoljenja za prehod imenikov so pomembna prav tako kot branje končne datoteke.
Dovoljenja morda niso celotna težava
Z ProtectHome=yes systemd onemogoči storitvi dostop do običajnih lokacij domačih imenikov. Sprememba načina datoteke potrdila ne odpravi omejitve imenskega prostora. Nastavljen korenski imenik lahko tudi spremeni, kam absolutna pot kaže znotraj storitve.
Uporabite ustrezno lokacijo konfiguracije storitve, na primer aplikaciji namenjen imenik pod /etc, in dodelite le potreben dostop za branje. Posodobite odjemalčevo pot CA. Ne odstranjujte nepovezanih omejitev datotečnega sistema samo zato, ker je bila prva kopija v vašem osebnem domačem imeniku.
Preberite prvo uporabno napako
«Ni mogoče naložiti datoteke CA» in «veriga potrdil ni vredna zaupanja» sta različni napaki. Prva se lahko pojavi pred kakršnimkoli preverjanjem. Druga lahko pomeni, da berljiv sveženj vsebuje napačnega izdajatelja ali se uporablja na napačni povezavi TLS.
Po popravku dostopa ponovno preizkusite iz konteksta storitve. Uspešen terminalski ukaz ostaja uporabna primerjava, vendar ne dokazuje, katere datoteke storitev vidi ali katero konfiguracijo zaupanja uporablja njen odjemalec.