Dejte každému účtu VPN vlastní spouštěč NetworkManageru
Dva účty na jedné bráně potřebují dva pojmenované profily, ne přepsané uživatelské jméno. Namiřte spouštěč na UUID a nechte agenta vyzvednout tajemství.
Dva účty VPN, jedna brána a ikona na ploše, která se připojí jako ten, kdo ji použil naposledy. Obvyklou příčinou je spouštěč, který těsně před připojením přepíše uživatelské jméno sdíleného profilu, nebo takový, který hledá zobrazované jméno, jež oba profily náhodou sdílejí. NetworkManager už profily rozlišuje podle UUID, takže ikona může pojmenovat přesně jeden z nich a identitu nechat být. Co by neměla nosit, je heslo.
Spouštěč je ukazatel, ne úložiště přihlašovacích údajů.
Najděte UUID a potvrďte identitu
Vypište uložená připojení a přečtěte UUID, ID připojení a uživatelské jméno, které každý profil ukládá. Než cokoli vytvoříte, potvrďte, který profil patří kterému účtu, protože zobrazované jméno je popisek, ne klíč. Pokud oba účty potřebují různé brány nebo různé profily, je to samostatný úkol konfigurace.
Použijte UUID ve spouštěči. Hledání podle zobrazovaného jména funguje, dokud někdo profil nepřejmenuje, a pak se ikona připojí jako špatný účet nebo jako nic.
Napište položku na ploše
Položka na ploše potřebuje typ, název a spustitelný řádek. Příkaz má zvednout toto UUID a nechat NetworkManager, aby si vyžádal tajemství, k čemuž slouží nmcli --ask connection up uuid .... Ponechte Terminal=true, aby byl dotaz vidět, když je tajemství potřeba. Nahraďte zástupný text UUID, které jste skutečně pozorovali, a nepřidávejte obal shellu jen proto, abyste dotaz schovali.
Specifikace Desktop Entry definuje Exec jako program a jeho argumenty. Není to skript shellu a nepotřebuje ho.
Nechte agenta držet tajemství
Tajemství patří agentovi pro každého uživatele, klíčence nebo interaktivnímu dotazu. Heslo v Exec je vidět v seznamu procesů, v souboru na ploše a na každém snímku dialogu vlastností. Pokud profil tajemství potřebuje, nechte podporovaný dotaz, ať ho vyzvedne, a agenta, ať si ho pro daného uživatele zapamatuje.
--ask je interaktivní záměrně. Není to recept na automatizaci bez dozoru a nezaručuje, že každou výzvu k ověření nebo plugin lze vůbec skriptovat.
Nesnažte se o sudo
Oprávnění upravit nebo aktivovat připojení je povolení NetworkManageru udělené jeho politikou, ne unixové privilegium. Spuštění spouštěče s sudo nedá procesu klíčenku jiného uživatele a neopraví odmítnutí bránou. Na sdíleném stroji zkontrolujte, které místní účty vidí které profily a kdo vlastní každé tajemství; oddělené ikony samy o sobě izolaci nevytvářejí.
Dva aktivní profily pro stejnou bránu si mohou konkurovat i o trasy nebo porušit pravidlo souběžnosti. To je otázka politiky, ne chyba spouštěče.
Ověřte celou akci
Aktivujte spouštěč jednou a potvrďte tři věci: které UUID se zvedlo, jakou identitu brána viděla a zda se dotaz na tajemství objevil tam, kde jste očekávali. Pokud se připojení nezdaří, ponechte první chybovou zprávu. Přidání hesla do příkazového řádku, aby zástupce vypadal soběstačně, tu chybu skryje a vytvoří horší problém.
Zapište UUID a mapování účtů do týmových poznámek. Další člověk, který změní profil, musí vědět, která ikona na něm závisí, a právě ta poznámka brání tomu, aby se přejmenování stalo výpadkem.