Giv hver VPN-konto sin egen NetworkManager-starter
To konti på én gateway har brug for to navngivne profiler, ikke et omskrevet brugernavn. Peg starteren på en UUID, og lad agenten indsamle hemmeligheden.
To VPN-konti, én gateway og et skrivebordsikon, der forbinder som den, der brugte det sidst. Den sædvanlige årsag er en starter, der omskriver en delt profils brugernavn lige før forbindelsen, eller en der slår et visningsnavn op, som begge profiler tilfældigvis deler. NetworkManager skelner allerede profiler ud fra UUID, så ikonet kan navngive præcis én af dem og lade identiteten være. Det, den ikke bør bære, er adgangskoden.
En starter er en pegepind, ikke et lager af legitimationsoplysninger.
Find UUID'en, og bekræft identiteten
List de gemte forbindelser, og læs UUID'en, forbindelses-id'et og det brugernavn, hver profil gemmer. Bekræft, hvilken profil der hører til hvilken konto, før du opretter noget, for et visningsnavn er en etiket og ikke en nøgle. Hvis de to konti har brug for forskellige gateways eller forskellige profiler, er det en separat konfigurationsopgave.
Brug UUID'en i starteren. Et opslag på visningsnavn virker, indtil nogen omdøber en profil, og så forbinder ikonet som den forkerte konto eller som ingenting.
Skriv skrivebordsindgangen
En skrivebordsindgang kræver en type, et navn og en eksekverbar linje. Kommandoen skal hente den UUID frem og lade NetworkManager spørge efter hemmeligheden, hvilket er det, nmcli --ask connection up uuid ... er til. Behold Terminal=true, så spørgsmålet er synligt, når der er brug for en hemmelighed. Erstat pladsholderen med den UUID, du faktisk observerede, og tilføj ikke en shell-indpakning bare for at skjule spørgsmålet.
Specifikationen Desktop Entry definerer Exec som programmet og dets argumenter. Det er ikke et shell-script og har ikke brug for et.
Lad agenten holde hemmeligheden
Hemmeligheder hører til agenten for hver bruger, nøgleringen eller et interaktivt spørgsmål. En adgangskode i Exec er synlig i proceslisten, i skrivebordsfilen og på ethvert skærmbillede af egenskabsdialogen. Hvis profilen har brug for en hemmelighed, lad det understøttede spørgsmål indsamle den, og lad agenten huske den for den bruger.
--ask er interaktiv af design. Det er ikke en opskrift på uovervåget automatisering og garanterer ikke, at hver godkendelsesudfordring eller plugin overhovedet kan scriptes.
Grib ikke efter sudo
Tilladelse til at ændre eller aktivere en forbindelse er en NetworkManager-tilladelse givet gennem dens politik, ikke en Unix-rettighed. At køre starteren med sudo giver ikke processen en anden brugers nøglering og retter ikke en afvisning fra gatewayen. På en delt maskine bør du gennemgå, hvilke lokale konti der kan se hvilke profiler, og hvem der ejer hver hemmelighed; separate ikoner skaber ikke isolation i sig selv.
To aktive profiler til den samme gateway kan også konkurrere om ruter eller overtræde en samtidighedsregel. Det er et spørgsmål om politik, ikke en fejl i starteren.
Verificer hele handlingen
Aktivér starteren én gang, og bekræft tre ting: hvilken UUID der kom op, hvilken identitet gatewayen så, og om der dukkede et hemmelighedsspørgsmål op, hvor du forventede det. Hvis forbindelsen mislykkes, så behold den første fejlmeddelelse. At tilføje adgangskoden til kommandolinjen for at få genvejen til at se selvstændig ud skjuler den fejl og skaber et værre problem.
Skriv UUID'en og konto-tilknytningen i teamets noter. Den næste, der ændrer en profil, skal vide, hvilket ikon der afhænger af den, og det er den note, der forhindrer, at en omdøbning bliver et nedbrud.