Duas contas VPN, um gateway e um ícone de ambiente de trabalho que se liga como quem o usou por último. A causa habitual é um lançador que reescreve o nome de utilizador de um perfil partilhado mesmo antes de ligar, ou um que procura um nome de apresentação que ambos os perfis partilham. O NetworkManager já distingue os perfis por UUID, pelo que o ícone pode nomear exatamente um deles e deixar a identidade em paz. O que não deve transportar é a palavra-passe.

Um lançador é um apontador, não um armazém de credenciais.

Encontre o UUID e confirme a identidade

Liste as ligações guardadas e leia o UUID, o ID da ligação e o nome de utilizador que cada perfil guarda. Confirme qual perfil pertence a que conta antes de criar algo, porque um nome de apresentação é uma etiqueta e não uma chave. Se as duas contas precisarem de gateways diferentes ou de perfis diferentes, isso é uma tarefa de configuração separada.

Use o UUID no lançador. A procura por nome de apresentação funciona até alguém renomear um perfil, e então o ícone liga-se como a conta errada ou como nada.

Escreva a entrada de ambiente de trabalho

Uma entrada de ambiente de trabalho precisa de um tipo, um nome e uma linha executável. O comando deve levantar esse UUID e deixar o NetworkManager pedir o segredo, que é para isso que serve nmcli --ask connection up uuid .... Mantenha Terminal=true para que o pedido fique visível quando for necessário um segredo. Substitua o marcador pelo UUID que realmente observou, e não acrescente um invólucro de shell só para esconder o pedido.

A especificação Desktop Entry define Exec como o programa e os seus argumentos. Não é um script de shell, e não precisa de um.

Deixe o agente guardar o segredo

Os segredos pertencem ao agente por utilizador, ao porta-chaves ou a um pedido interativo. Uma palavra-passe em Exec é visível na lista de processos, no ficheiro de ambiente de trabalho e em qualquer captura do diálogo de propriedades. Se o perfil precisar de um segredo, deixe o pedido suportado recolhê-lo e o agente lembrá-lo para esse utilizador.

--ask é interativo por conceção. Não é uma receita para automação sem supervisão e não garante que cada desafio de autenticação ou extensão possa sequer ser escrito como script.

Não recorra ao sudo

A autorização para modificar ou ativar uma ligação é uma permissão do NetworkManager concedida pela sua política, não um privilégio Unix. Executar o lançador com sudo não dá ao processo o porta-chaves de outro utilizador e não corrige uma rejeição do gateway. Numa máquina partilhada, reveja que contas locais veem que perfis e quem possui cada segredo; ícones separados não criam isolamento por si só.

Dois perfis ativos para o mesmo gateway também podem competir pelas rotas ou violar uma regra de concorrência. Isso é uma questão de política e não um erro do lançador.

Verifique toda a ação

Ative o lançador uma vez e confirme três coisas: o UUID que subiu, a identidade que o gateway viu e se apareceu um pedido de segredo onde o esperava. Se a ligação falhar, guarde a primeira mensagem de erro. Acrescentar a palavra-passe à linha de comandos para o atalho parecer autónomo esconde esse erro e cria um problema pior.

Escreva o UUID e a correspondência das contas nas notas da equipa. A próxima pessoa que alterar um perfil precisa de saber que ícone depende dele, e é essa nota que impede que uma mudança de nome se torne numa interrupção.

Artigos relacionados