Kurš openvpn binārais fails darbojas? Pārbaudiet palaišanas ceļu
Komandas nosaukums, pakalpojuma ceļš un pakotnes fails var būt trīs dažādi objekti. Pārbaudiet palaišanas ceļu, pārbaudiet pakotnes failus un pēc tam noņemiet ietvaru.
Vecs risinājums pārvietoja OpenVPN izpildāmo failu citur un atstāja shell ietvaru sākotnējā ceļā. Mēnešus vēlāk pienāk atjauninājums, un šī risinājuma atsaukšana pārvēršas minējumos par to, kurš fails īsti ir klients. Komandas nosaukums, pakalpojumā konfigurētais izpildāmais fails un pašas pakotnes failu saraksts var norādīt uz dažādiem objektiem, un viena no tiem labošana bez pārējiem rada resursdatoru, kas izskatās salabots un uzvedas sliktāk.
Sāciet ar ceļu, ko palaiž pakalpojums
Terminālis un systemd vienība izpildāmos failus neatrisina vienādi. Shell meklē PATH; vienība nosauc ceļu, un drop-in aizvietojumi var to aizstāt, neaizskarot failu, ko jūs lasāt. Šī atšķirība izskaidro lielāko daļu šī uzdevuma apjukumā. Tā arī nosaka, uz kuru failu jāvērš jūsu labojums.
Jautājiet vienībai, ko tā izpilda, ieskaitot drop-in failus, kas to maina, un lasiet iegūto ExecStart rindu, nevis fragmentu, ko uzskatāt par autoritatīvu. Pēc tam sekojiet šim ceļam caur jebkuru simbolisko saiti līdz galīgajam failam. Ietvars, kas beidzas ar exec slēptā mapē, ir parasta šo veco labojumu konstrukcija.
Pierakstiet atrisināto ceļu, pirms kaut ko maināt.
systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"Salīdziniet komandas nosaukumu ar pakalpojuma ceļu
Abas atbildes bieži atšķiras, un šī atšķirība nav automātiski defekts. NetworkManager spraudnis var palaist savu ceļu, un konteiners var pievienot vēl vienu.
Svarīgi ir zināt, kurš īpašnieks palaiž procesu, kas apkalpo trafiku. Ja vienība izpilda /usr/local/sbin/openvpn-wrapper, kamēr jūsu shell atrisina /usr/sbin/openvpn, otrā faila labošana pakalpojumā neko nemaina.
Jautājiet, kurai pakotnei pieder katrs kandidāts, un pēc tam izlemiet, vai failu pārvalda pakotne vai tas ir novietots lokāli. Fails bez to piederošas pakotnes ir fails, ko kāds tur apzināti ievietojis, un tas ir pelnījis nosaukumu, īpašnieku un iemeslu pirms dzēšanas. Arī pretējā kļūda ir izplatīta: pakotnes faila pārrakstīšana ar vecu saglabātu bināro failu, jo foruma ierakstā tika izmantota tā pati mape.
Ļaujiet pakotņu datubāzei runāt par pakotnes failiem
Ja programmatūra nāk no Debian pakotnes, pakotņu datubāze var pateikt, vai tās faili joprojām atbilst instalētajam. Tas ir šaurs integritātes jautājums, nevis drošības spriedums, un atšķirība ir svarīga, kad izlemjat, ko labot. Neatbilstība nozīmē, ka fails mainījās pēc instalēšanas, un tas var būt jūsu vecais risinājums vai likumīgs lokāls labojums. Izvade neizšķir, kurš, tāpēc lasiet to kā norādi, nevis kā secinājumu.
Palaidiet pārbaudi un lasiet izvadi, nevis uzskatiet tukšu rezultātu par pierādījumu kaut kam.
dpkg -S /usr/sbin/openvpn
dpkg --verify openvpndpkg rokasgrāmata dokumentē, ka pārbaude salīdzina instalētos failus ar lokāli reģistrētiem metadatiem, izmantojot saglabātās kontrolsummas, kur tādas ir. Tā pamana mainītu pakotnes failu, un tā nevar pateikt, vai tā vietā netiek palaists cits binārais fails.
Reģistrējiet stāvokli pirms labošanas
Apkopojiet atrisināto palaišanas ceļu, faila saistību ar pakotni, ietvara atrašanās vietu un izmaiņu ierakstu, kas to ieviesa. Nokopējiet ietvaru aizsargātā vietā, ja tajā ir integrācijas darbs, kas būs vajadzīgs vēlāk.
Neielīmējiet ietvara saturu atbalsta pavedienā, pirms to esat izlasījis, jo šie skripti dažkārt satur pieteikšanās datus vai vārtejas informāciju.
Reģistrējiet, kādus profilus pakalpojums izmanto un kas ir pieslēgts, kamēr strādājat, jo tuneļa restartēšana var pārtraukt sesiju, ar kuru pārvaldāt resursdatoru.
Pārbaudiet palaišanu un pēc tam noņemiet ietvaru
Pēc labošanas palaidiet pakalpojumu un apstipriniet, ka process darbojas paredzētajā ceļā. Manuāli izpildīts versijas vaicājums pierāda, ka fails darbojas; tas nepierāda, ka vienība to izmanto.
Pēc tam atkārtoti pievienojiet klientu un pārbaudiet, vai profils joprojām autentificējas, jo binārā faila nomaiņa, kas ignorē sākotnējos parametrus, neizdosies tā, ka izskatīsies kā sertifikāta problēma.
Noņemiet pārvietoto ietvaru, izmantojot to pašu izmaiņu ierakstu, kas to ieviesa. Pabeigtā labošana norāda, kurš izpildāmais fails darbojas, kāpēc un kurš fails tika noņemts; faila nosaukuma atjaunošana un cerība nav viens un tas pats.