Služba systemd dosiahne na proxy, ale nie na súbor CA
Keď nastavenie certifikátu proxy funguje len v interaktívnom shelli, preverte prístup používateľa služby k súboru a obmedzenia systemd.
Nainštalovali ste schválený balík CA a požiadavka funguje v termináli. Služba stále hlási chybu načítania certifikátu. Pred zmenou IP proxy overte, či tento proces môže otvoriť rovnaký súbor.
Služba môže bežať ako iný používateľ Unixu, štartovať v inom adresári alebo vidieť obmedzený súborový systém. Cesta platná pre vaše prihlásenie nie je automaticky platná pre ňu.
Začnite absolútnou cestou
Skontrolujte cestu nastavenú v skutočnom klientovi. Pri curl napríklad --cacert vyberá balík CA cieľa; HTTPS proxy má samostatné voľby CA proxy. Iní klienti používajú vlastné konfiguračné kľúče alebo premenné prostredia.
Prezrite súbor aj adresáre, ktoré k nemu vedú:
namei -l /home/alex/certs/approved-ca.pem
systemctl show example.service -p User -p Group -p ProtectHome -p RootDirectory
Ide o diagnostické príklady, nie pokyn sprístupniť súbor na zápis všetkým. Práva prechodu adresármi sú rovnako dôležité ako právo čítať konečný súbor.
Oprávnenia nemusia byť celý problém
S ProtectHome=yes zneprístupní systemd službe štandardné umiestnenia domovských adresárov. Zmena režimu súboru certifikátu neodstráni obmedzenie menného priestoru. Nastavený koreňový adresár tiež môže zmeniť, na čo absolútna cesta vnútri služby odkazuje.
Použite vhodné miesto pre konfiguráciu služby, napríklad adresár pod /etc určený aplikácii, a udeľte len potrebné čítanie. Aktualizujte cestu CA klienta. Neodstraňujte nesúvisiace obmedzenia súborového systému len preto, že prvá kópia bola vo vašom osobnom domovskom adresári.
Čítajte prvú užitočnú chybu
«Nemožno načítať súbor CA» a «reťazec certifikátov nie je dôveryhodný» sú rôzne chyby. Prvá môže nastať pred akýmkoľvek overovaním. Druhá môže znamenať, že čitateľný balík obsahuje nesprávnu autoritu alebo sa používa na nesprávne TLS spojenie.
Po oprave prístupu testujte znova z kontextu služby. Úspešný príkaz v termináli zostáva užitočným porovnaním, no nedokazuje, aké súbory služba vidí ani aké nastavenie dôvery jej klient používa.