’n Ou oplossing het die OpenVPN-uitvoerbare lêer êrens anders heen geskuif en ’n skelomhulsel by die oorspronklike pad agtergelaat. Maande later kom daar ’n opgradering, en die ongedaan maak van die oplossing word ’n raaispel oor watter lêer werklik die kliënt is. Die opdragnaam, die diens se gekonfigureerde uitvoerbare lêer en die pakket se eie lêerinventaris kan almal na verskillende objekte wys, en om een daarvan te herstel sonder die ander lewer ’n gasheer op wat reg lyk en erger presteer.

Begin by die pad wat die diens begin

’n Terminaal en ’n systemd-eenheid los uitvoerbare lêers nie op dieselfde manier op nie. Die skel soek in ’n PATH; die eenheid noem ’n pad, en drop-in-oorheersings kan dit vervang sonder om aan die lêer te raak wat jy lees. Daardie verskil verduidelik die meeste van die verwarring in hierdie taak. Dit bepaal ook watter lêer jou herstel moet teiken.

Vra die eenheid wat dit loop, insluitend die drop-ins wat dit wysig, en lees die resulterende ExecStart-reël eerder as die fragment wat jy as gesaghebbend aanneem. Volg dan daardie pad deur enige simboliese skakel na die finale lêer. ’n Omhulsel wat eindig met ’n exec na ’n verborge gids, is ’n algemene reëling uit hierdie ou regstellings.

Skryf die opgeloste pad neer voordat jy enigiets verander.

systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"

Vergelyk die opdragnaam met die diens se pad

Die twee antwoorde verskil dikwels, en daardie verskil is nie outomaties ’n fout nie. ’n NetworkManager-inprop kan sy eie pad begin, en ’n houer kan nog een monteer.

Wat saak maak, is om te weet watter eienaar die proses begin wat verkeer bedien. As die eenheid /usr/local/sbin/openvpn-wrapper loop terwyl jou skel /usr/sbin/openvpn oplos, verander die regmaak van die tweede lêer niks aan die diens nie.

Vra watter pakket elke kandidaat besit en besluit dan of die lêer deur die pakket bestuur word of plaaslik geplaas is. ’n Lêer sonder ’n besittende pakket is ’n lêer wat iemand doelbewus daar gesit het, en dit verdien ’n naam, ’n eienaar en ’n rede voordat dit verwyder word. Die omgekeerde fout is ook algemeen: ’n pakketlêer oorskryf met ’n ou gestoorde binêre lêer omdat ’n forumplasing dieselfde gids gebruik het.

Laat die pakketdatabasis oor pakketlêers praat

Waar die sagteware uit ’n Debian-pakket gekom het, kan die pakketdatabasis jou vertel of sy lêers nog ooreenstem met wat geïnstalleer is. Dit is ’n noue integriteitsvraag, nie ’n sekuriteitsuitspraak nie, en die verskil maak saak wanneer jy besluit wat om te herstel. ’n Wanverhouding beteken die lêer het ná installasie verander, wat jou ou oplossing of ’n wettige plaaslike wysiging kon wees. Die uitset beslis nie watter nie, so lees dit as ’n aanduiding eerder as ’n gevolgtrekking.

Voer die verifikasie uit en lees die uitset eerder as om ’n leë resultaat as bewys van enigiets te beskou.

dpkg -S /usr/sbin/openvpn
dpkg --verify openvpn

Die dpkg-handleiding dokumenteer dat verifikasie geïnstalleerde lêers met plaaslik aangetekende metadata vergelyk, met behulp van gestoorde kontrolesomme waar dit bestaan. Dit merk ’n veranderde pakketlêer op, en dit kan jou nie sê of ’n ander binêre lêer eerder begin word nie.

Teken die toestand aan voordat jy herstel

Versamel die opgeloste bekendstellingspad, die lêer se pakketverhouding, die omhulsel se ligging en die veranderingsrekord wat dit ingebring het. Kopieer die omhulsel na ’n beskermde plek as dit integrasiewerk bevat wat later nodig sal wees.

Moet nie omhulselinhoud in ’n ondersteuningsdraad plak voordat jy dit gelees het nie, want hierdie skrifte dra soms geloofsbriewe of gateway-besonderhede.

Teken aan watter profiele die diens gebruik en wie gekoppel is terwyl jy werk, want die herbegin van die tonnel kan die sessie onderbreek waarmee jy die gasheer bestuur.

Verifieer die bekendstelling en haal dan die omhulsel weg

Begin die diens ná die herstel en bevestig dat die proses die pad loop wat jy bedoel het. ’n Weergawe-navraag wat met die hand uitgevoer word, bewys die lêer werk; dit bewys nie dat die eenheid dit gebruik nie.

Koppel dan weer ’n kliënt en kyk of die profiel steeds verifieer, want ’n binêre ruil wat die oorspronklike opsies ignoreer, sal misluk op ’n manier wat soos ’n sertifikaatprobleem lyk.

Verwyder die verskuiwde omhulsel deur dieselfde veranderingsrekord wat dit ingebring het. Die voltooide herstel sê watter uitvoerbare lêer loop, waarom, en watter lêer verwyder is; om ’n lêernaam te herstel en te hoop is nie dieselfde ding nie.

Verwante artikels