Dalawang VPN account, isang gateway, at isang icon sa desktop na kumokonekta bilang huling gumamit. Ang karaniwang dahilan ay isang launcher na nagsusulat muli ng username ng pinagsasaluhang profile bago kumonekta, o isa na naghahanap ng display name na nagkataong pinagsasaluhan ng dalawang profile. Nakikilala na ng NetworkManager ang mga profile sa pamamagitan ng UUID, kaya maaaring pangalanan ng icon ang eksaktong isa sa kanila at hayaang tahimik ang pagkakakilanlan. Ang hindi dapat nitong dalhin ay ang password.

Ang launcher ay isang panturo, hindi imbakan ng mga kredensyal.

Hanapin ang UUID at kumpirmahin ang pagkakakilanlan

Ilista ang mga naka-save na koneksyon at basahin ang UUID, ang ID ng koneksyon, at ang username na iniimbak ng bawat profile. Kumpirmahin kung aling profile ang para sa aling account bago lumikha ng anuman, dahil ang display name ay isang label at hindi isang susi. Kung kailangan ng dalawang account ng magkaibang gateway o magkaibang profile, iyon ay hiwalay na gawain sa configuration.

Gamitin ang UUID sa launcher. Gumagana ang paghahanap sa display name hanggang may magpalit ng pangalan ng isang profile, at pagkatapos ay kumokonekta ang icon bilang maling account o wala.

Isulat ang desktop entry

Ang desktop entry ay nangangailangan ng uri, pangalan, at executable na linya. Dapat itaas ng command ang UUID na iyon at hayaang hilingin ng NetworkManager ang sikreto, iyon ang gamit ng nmcli --ask connection up uuid .... Panatilihin ang Terminal=true upang makita ang prompt kapag kailangan ng sikreto. Palitan ang placeholder ng UUID na aktwal mong naobserbahan, at huwag magdagdag ng shell wrapper para lamang itago ang prompt.

Tinutukoy ng Desktop Entry specification ang Exec bilang ang programa at ang mga argumento nito. Hindi ito shell script, at hindi ito nangangailangan ng isa.

Hayaang hawakan ng agent ang sikreto

Ang mga sikreto ay pag-aari ng agent bawat user, ng keyring, o ng interactive na prompt. Ang password sa Exec ay nakikita sa listahan ng proseso, sa desktop file, at sa anumang screenshot ng dialog ng properties. Kung kailangan ng profile ng sikreto, hayaang kolektahin ito ng sinusuportahang prompt at tandaan ng agent para sa user na iyon.

--ask ay interactive ayon sa disenyo. Hindi ito recipe para sa automation na walang pagsubaybay, at hindi nito ginagarantiyahan na lahat ng hamon ng authentication o plugin ay maiskrip pa.

Huwag umabot sa sudo

Ang pahintulot na baguhin o i-activate ang isang koneksyon ay pahintulot ng NetworkManager na ibinibigay sa pamamagitan ng patakaran nito, hindi isang pribilehiyo ng Unix. Ang pagpapatakbo ng launcher gamit ang sudo ay hindi nagbibigay sa proseso ng keyring ng ibang user, at hindi nito inaayos ang pagtanggi ng gateway. Sa isang pinagsasaluhang makina, suriin kung aling mga lokal na account ang nakakakita ng aling mga profile at sino ang may-ari ng bawat sikreto; ang magkahiwalay na icon ay hindi nagdudulot ng paghihiwalay nang mag-isa.

Ang dalawang aktibong profile para sa parehong gateway ay maaari ring mag-agawan sa mga ruta o lumabag sa isang tuntunin ng concurrency. Tanong iyon ng patakaran, hindi bug ng launcher.

I-verify ang buong aksyon

I-activate ang launcher nang isang beses at kumpirmahin ang tatlong bagay: kung aling UUID ang tumaas, kung anong pagkakakilanlan ang nakita ng gateway, at kung nagpakita ba ng prompt ng sikreto sa lugar na inaasahan mo. Kung mabigo ang koneksyon, itago ang unang mensahe ng error. Ang pagdaragdag ng password sa command line upang magmukhang self-contained ang shortcut ay nagtatago ng error na iyon at lumilikha ng mas malubhang problema.

Isulat ang UUID at ang pagmamapa ng account sa mga tala ng team. Ang susunod na taong magbabago ng profile ay kailangang malaman kung aling icon ang nakadepende rito, at ang talang iyon ang pumipigil sa pagpapalit ng pangalan na maging outage.

Kaugnay na mga artikulo