Două conturi VPN, un gateway și o pictogramă de desktop care se conectează ca ultimul utilizator. Cauza obișnuită este un lansator care rescrie numele de utilizator al unui profil partajat chiar înainte de conectare, sau unul care caută un nume afișat pe care ambele profile îl partajează din întâmplare. NetworkManager distinge deja profilele după UUID, așa că pictograma poate numi exact unul dintre ele și poate lăsa identitatea în pace. Ce nu ar trebui să poarte este parola.

Un lansator este un indicator, nu un depozit de acreditive.

Găsiți UUID-ul și confirmați identitatea

Listați conexiunile salvate și citiți UUID-ul, ID-ul conexiunii și numele de utilizator pe care îl păstrează fiecare profil. Confirmați ce profil aparține cărui cont înainte de a crea ceva, pentru că un nume afișat este o etichetă, nu o cheie. Dacă cele două conturi au nevoie de gateway-uri diferite sau de profile diferite, aceasta este o sarcină separată de configurare.

Folosiți UUID-ul în lansator. Căutarea după numele afișat funcționează până când cineva redenumește un profil, iar atunci pictograma se conectează ca contul greșit sau ca nimic.

Scrieți intrarea de desktop

O intrare de desktop are nevoie de un tip, un nume și o linie executabilă. Comanda ar trebui să ridice acel UUID și să lase NetworkManager să ceară secretul, pentru asta este nmcli --ask connection up uuid .... Păstrați Terminal=true ca promptul să fie vizibil când este nevoie de un secret. Înlocuiți substituentul cu UUID-ul pe care l-ați observat efectiv și nu adăugați un înveliș de shell doar ca să ascundeți promptul.

Specificația Desktop Entry definește Exec ca programul și argumentele sale. Nu este un script de shell și nu are nevoie de unul.

Lăsați agentul să păstreze secretul

Secretele aparțin agentului per utilizator, inelului de chei sau unui prompt interactiv. O parolă în Exec este vizibilă în lista de procese, în fișierul de desktop și în orice captură a dialogului de proprietăți. Dacă profilul are nevoie de un secret, lăsați promptul acceptat să îl colecteze și agentul să îl rețină pentru acel utilizator.

--ask este interactiv prin proiectare. Nu este o rețetă pentru automatizare nesupravegheată și nu garantează că fiecare provocare de autentificare sau plugin poate fi deloc scriptată.

Nu apelați la sudo

Autorizarea de a modifica sau activa o conexiune este o permisiune NetworkManager acordată prin politica sa, nu un privilegiu Unix. Rularea lansatorului cu sudo nu oferă procesului inelul de chei al altui utilizator și nu repară o respingere a gateway-ului. Pe o mașină partajată, verificați ce conturi locale văd ce profile și cine deține fiecare secret; pictogramele separate nu creează izolare de la sine.

Două profile active pentru același gateway pot concura și pe rute sau pot încălca o regulă de concurență. Aceasta este o chestiune de politică, nu un defect al lansatorului.

Verificați întreaga acțiune

Activați lansatorul o dată și confirmați trei lucruri: UUID-ul care a urcat, identitatea pe care a văzut-o gateway-ul și dacă a apărut un prompt de secret acolo unde vă așteptați. Dacă conexiunea eșuează, păstrați primul mesaj de eroare. Adăugarea parolei la linia de comandă pentru ca scurtătura să pară autonomă ascunde acea eroare și creează o problemă mai rea.

Scrieți UUID-ul și corespondența conturilor în notele echipei. Următoarea persoană care modifică un profil trebuie să știe ce pictogramă depinde de el, iar nota aceea este cea care împiedică o redenumire să devină o întrerupere.

Articole similare