Þjónustan mistekst, loggin nefna spawn og möppu, og fyrsta eðlishvötin er að athuga VPN-stillingarnar. Ekkert í þeirri skrá hefur enn verið lesið. systemd mistókst við að undirbúa ferlið, áður en keyrsluskráin hófst, svo ekkert þáttunartæki, ekkert skírteini og enginn fjartengdur þjónn var spurður. Að lesa stöðukóðann sem fullyrðingu um systemd frekar en um OpenVPN er það sem gerir þetta að stuttri rannsókn.

Lestu stöðukóðann áður en þú lest forritið

Talnakóðinn á eftir þjónustuheitinu nefnir það þrep sem mistókst. Möppumistök eru tilkynnt sem CHDIR-staða, en keyrsluskrá sem ekki var hægt að keyra er allt annar kóði. Þau tvö líta svipuð út í samantektarlínu og eiga ekkert sameiginlegt í orsökum sínum.

Sú aðgreining skiptir máli því viðgerðirnar eru í mismunandi skrám. CHDIR-mistök snúast um slóð og hvernig þjónustan sér hana. Exec-mistök snúast um tvíundarskrána, túlk hennar eða ótengda mótpunkt. Að breyta fjartengipunkti VPN, dulritunarlistanum eða slóð skírteinisins getur hvorugt leyst.

Staðfestu að mistökin séu við ræsingu en ekki eftir árangursríka keyrslu. Ef þjónustan virkaði í gær og mistekst núna á sama þrepi, hefur eitthvað breyst varðandi möppuna, heimildir hennar eða unitina sjálfa, og sú breyting er sönnunin sem þú átt að leita að.

Spurðu unitina hvar hún vill vera

Lestu virku unitina frekar en skrána sem þú heldur að sé uppsett, því drop-ins geta hnekkt vinnumöppunni án þess að þú breytir aðalunitinni nokkurn tíma. Show-úttakið svarar spurningunni beint:

systemctl cat [email protected]
systemctl show [email protected] -p WorkingDirectory -p RootDirectory -p User -p ProtectHome
journalctl -u [email protected] -b --no-pager | tail -30

Fyrir upstream-þjónasniðmátið er vinnumappan stillingamappa þjónsins og tilviksnafnið velur sniðið inni í henni. Tilvik sem heitir branch væntir því eigin skrár í sömu möppu, og snið sem sett er annars staðar uppfyllir alls ekki kröfuna um vinnumöppu.

Berðu saman það sem unitin krefst og það sem er til. Slóð sem var til áður, táknleg tenging sem nú bendir annars staðar, eða tilviksnafn sem passar ekki lengur við möppu eru allt venjulegar breytingar sem valda nákvæmlega þessum mistökum.

Athugaðu slóðina eins og þjónustan sér hana

Skurnin þín og þjónustan deila ekki sama skoðun á skráarkerfinu. Stillt rótarmappa eða rótarímynd breytir því hvað algild slóð þýðir inni í unitinni, og slóð sem er augljóslega til á hýsilnum getur vantað í því nafnrými. Lestu stillingar unitinnar áður en þú treystir handvirkri prófun.

Heimildir gera vandann verri. Þjónustan keyrir sem tiltekinn notandi, og sá notandi verður að geta gengið í gegnum hverja yfirmöppu til að ná markinu, ekki bara lesið markið sjálft. Mappa sem er læsileg fyrir root og ekki gengileg fyrir þjónustunotandann veldur mistökum sem líta út eins og slóð vantar.

namei -l /etc/openvpn/server
systemctl show [email protected] -p ProtectSystem -p ReadOnlyPaths

Hörðunarstillingar eru líka hluti af þessari mynd. Unit sem felur heimamöppur eða gerir hluta skráarkerfisins skrifvarðan gerir nákvæmlega það sem hún var stillt til, og vinnumappan verður að vera þar sem sandkassinn sýnir hana enn.

Lagaðu eigandann, búðu þá við annarri villu

Lagaðu uppsetninguna eða unitina í gegnum þann sem á þá stillingu. Að flytja snið inn í vænta möppu er lögmæt viðgerð þegar uppsetningin er röng, en það skýrir ekki möppu sem ekki er hægt að ganga inn í, svo ekki meðhöndla það sem almenna svarið.

Standa gegn flýtileiðinni að víkka heimildir á stillingatrénu eða fjarlægja sandkassann. Bæði láta einkennin hverfa en fjarlægja jafnframt varnirnar sem settar voru þar viljandi, og næstu mistök verða erfiðari að túlka.

Endurræstu tilvikið og lestu næsta atburð í stað þess að gera ráð fyrir árangri. Líkleg næsta villa er að OpenVPN geti ekki opnað stillingarskrá sína, sem er framfarir: gengið var inn í vinnumöppuna og þáttunarforritið keyrir núna. Fylgdu raunverulegri skráarvörpun unitinnar héðan í frá í stað þess að snúa aftur að netvilluleit.

Keyrsluviðmið systemd skilgreinir hvernig vinnumappan er túlkuð ásamt rótarmöppum og sandkassa. Myndin sem á að muna er einföld: hver stöðukóði nefnir annað þrep, og aðeins eigin villur forritsins lýsa forritinu.

Tengdir greinar