sudo, &, -b ali --daemon: kako prestaviti odjemalca OpenVPN v ozadje
Ampersand osvobodi terminal, ne prijave. Primerjajte sudo -b, --daemon in primer storitve po tem, kdo ima v lasti proces in kdo odgovarja na pozive.
V besedni zvezi »zaženi to v ozadju« se skrivata dve vprašanji. Prvo je, ali sme ta uporabnik sploh zagnati privilegiran proces; drugo je, ali se seja lahko nadaljuje, ne da bi kdo tipkal v terminal. Ampersand lupine ne odgovori na nobeno, skript, ki shranjuje geslo sudo v spremenljivko, pa slabo odgovori na prvo in drugo pusti nedotaknjeno. Ločite ju in možnosti bo lahko primerjati.
Primerjajte tri kandidate po lastništvu, ne po udobju.
Trije načini, da zapustite terminal, trije različni lastniki
Dodajanje ampersanda ukazu prosi lupino, da ga izvede kot opravilo v ozadju, in opravilo še vedno pripada tej lupini. sudo lahko vpraša že pred začetkom programa, OpenVPN pa lahko nato vpraša za geslo ključa ali prijavo. Če ukaz, ki čaka na vnos, postavite v ozadje, nastane proces, ki čaka na terminal, ki ga nihče ne opazuje. Terminal se sprosti; interakcija ne.
To je najcenejša možnost in tista, ki odpove najbolj zmedeno, ker se poziv pojavi tam, kjer je operater že odšel.
sudo -b ni upravljalnik poverilnic
sudo -b izvede ukaz v ozadju z vidika samega sudo, kar zveni kot manjkajoča funkcija in ni. Po priročniku sudo se interaktivni ukazi v tem načinu običajno obnašajo slabo, nadzor opravil lupine pa ne more upravljati procesov, ki jih ustvari. Premakne proces, ne da bi mu dal način za odgovarjanje na vprašanja. Nič v njem ne zagotavlja gesla zasebnega ključa ali prijave na prehod.
Če povezava potrebuje interakcijo, je rešitev podprta neinteraktivna ureditev preverjanja pristnosti, ne drug način zagona istega poziva.
--daemon spremeni program, ne prijave
--daemon prosi sam OpenVPN, da se po inicializaciji odcepi. Priročnik različice 2.6 ugotavlja, da se preusmeritev sysloga zgodi ob razčlenjevanju možnosti, čeprav se odcep zgodi pozneje, zato lahko sporočila prenehajo prihajati v terminal prej, kot je bilo pričakovano. Tišina po tej točki ničesar ne dokaže o tunelu. Dodajte izrecno --log ali --log-append da izhod pristane nekje, kjer ga lahko preberete.
Način demona tudi trajno odstrani konzolo. Zaščiten zasebni ključ v tem načinu potrebuje askpass , poverilnice, vnesene v konzoli, pa lahko skupaj z možnostmi predpomnjenja pustijo poznejše ponovno preverjanje pristnosti brez mesta za vprašanje. Preverite model preverjanja pristnosti glede na nameščeno različico, preden domnevate, da bo zagon v ozadju preživel prvo obnovitev ključa.
Kaj validacija sudo prinese in česa ne
sudo -v preveri ali osveži predpomnjeno lokalno poverilnico in se preveri, če politika to zahteva. Ne zažene OpenVPN, ne preverja se pri prehodu in ne zagotavlja, da bo poznejši ukaz v skriptu dovoljen. sudo -n pomeni nasprotno: ne sprašuj, raje spodleti. To naredi lokalno napako avtorizacije izrecno, kar je koristno, in ne pove ničesar o tem, kaj bo OpenVPN zahteval pozneje.
Nobena od možnosti ni razlog za podelitev ukazov brez gesla vsem ali za pošiljanje skrbniškega gesla v skript.
Raje izberite lastnika, ki ga je mogoče opazovati
Za tunel v lasti stroja uporabite primer storitve, ki ga podpira distribucija. Tak lastnik ponuja zagon, zaustavitev, stanje in dnevnike ter preživi konec vaše seje. Sestavljanje zagona lupine v ozadju, demonizacije in zanke za ponovni zagon enega okoli drugega ustvari tri lastnike za en tunel in nobenega jasnega odgovora, kateri teče.
Karkoli izberete, preverite vir, za katerega tunel obstaja. Uspešna zahteva za zagon je dogodek procesa, ne dokaz delujoče povezave.