Pesquisa de site

Desativar pop-ups de autenticação de senha no Ubuntu 24.04


Ao iniciar alguns aplicativos (por exemplo, GParted, Synaptic ou Grub Customizer), instalar/desinstalar pacotes com App Center ou Software Updater, sempre aparece uma caixa de diálogo solicitando a senha de administrador para autenticação.

Isso é ótimo para segurança! Mas para homens preguiçosos aqueles que não querem digitar a senha do usuário repetidamente após fazer login (ou desbloquear a tela), pode ser correto desativar a janela de autenticação ao usar seus computadores em casa ou em outros locais seguros.

Pop-up de autenticação de senha no Ubuntu

NOTA 1: Por segurança, NÃO é recomendado desabilitar a autenticação. Você DEVE saber o que vai fazer e fazê-lo por sua própria conta e risco!

NOTA 2: Este tutorial foi testado e funciona no Ubuntu 24.04 e Debian 12. Ele também deve funcionar no Linux Mint 22, mas NÃO no Ubuntu 22.04 e anteriores.

Sobre Polkit:

Ubuntu e muitos outros Linux usam polkit para controlar privilégios em todo o sistema. É uma estrutura de autenticação que fornece um controle mais preciso dos direitos de acesso para ambientes gráficos de desktop.

Quando um aplicativo gráfico precisa executar uma ação registrada que requer permissão de administrador/root, o polkit pode controlar qual usuário (ou usuário em qual grupo) que executa o aplicativo está autorizado com ou sem autenticação por senha.

Ao contrário do sudo para linha de comando, polkit não concede permissão root para um processo inteiro, mas permite privilégios específicos a um usuário ou grupo conforme necessário.

E aqui vou mostrar como configurar o polkit para desabilitar a autenticação por senha para ações globais ou específicas, ao executar com determinado usuário ou grupo.

Opção 1: desabilitar a autenticação de senha globalmente para determinados usuários

NOTA: A opção 1 e a opção 2 NÃO impedem que seu sistema solicite senha ao executar o comando sudo no terminal. Funciona apenas para pop-ups de autenticação gráfica! Veja a opção 3 se precisar do comando sudo.

1. Primeiro, pressione Ctrl+Alt+T no teclado para abrir uma janela de terminal. Quando ele abrir, execute o comando create & edite um arquivo de configuração no diretório /etc/polkit-1/rules.d/:

sudo gnome-text-editor /etc/polkit-1/rules.d/49-nopasswd_global.rules

Para desktops não GNOME, substitua gnome-text-editor no comando pelo seu editor de texto favorito ou use nano que funciona na maioria dos desktops.

2. Quando o arquivo abrir, adicione as linhas abaixo e substitua o usuário “ji” pelo seu:

/* Allow members in "ji" group to execute any actions
 * without password authentication.
 */
polkit.addRule(function(action, subject) {
    if (subject.isInGroup("ji")) {
        return polkit.Result.YES;
    }
});

No código acima, adiciona uma regra para todas as ações cadastradas, enquanto:

  • subject.isInGroup("ji"), significa todos os usuários do grupo “ji” (o usuário “ji” está, obviamente, no grupo “ji”). Você pode adicionar mais usuários a este grupo para a regra. Ou substitua-o por subject.user == "ji", para que funcione apenas para este usuário.
  • return polkit.Result.YES;, significa autorizar sem qualquer autenticação! Você pode substituir SIM por:

    • NÃO – nunca permitido.
    • AUTH_ADMIN – é necessário inserir a senha do usuário administrador para autenticar.
    • AUTH_SELF – é necessário inserir a senha do próprio usuário para autenticar.
    • AUTH_ADMIN_KEEP – semelhante a AUTH_ADMIN, mas não há necessidade de inserir novamente a senha por um determinado período (geralmente 5 minutos) ao executar a mesma ação pelo mesmo aplicativo.
    • AUTH_SELF_KEEP – veja AUTH_ADMIN_KEEP, embora solicite a senha do próprio usuário.

Depois de salvar o arquivo (para nano, pressione Ctrl+S para salvar e depois Ctrl+X para sair), a regra deve ser aplicada imediatamente!

Opção 2: desativar a autenticação por senha para ações específicas

Por motivos de segurança, não é seguro desabilitar o pop-up de autenticação globalmente. Mas parece menos perigoso desativá-lo para algumas ações, como instalar atualizações através do “Atualizador de Software”.

1. Descubra todas as ações registradas.

No caso, você precisa primeiro descobrir todas as ações cadastradas. Eles diferem dependendo da sua área de trabalho e dos aplicativos instalados.

A maioria das ações do polkit são definidas pelos arquivos .policy no diretório ‘/usr/share/polkit-1/actions’. Para listá-los, abra o terminal (Ctrl+Alt+T) e execute o comando:

pkaction

Ou execute pkaction --verbose para listar mais informações sobre as ações registradas, assim será mais fácil descobrir quais ações usar na próxima etapa.

2. Crie/edite o arquivo de configuração do polkit.

Como na opção 1, execute o comando abaixo para criar um arquivo de configuração (também substitua gnome-text-editor de acordo):

sudo gnome-text-editor /etc/polkit-1/rules.d/49-nopasswd_limit.rules

Quando o arquivo abrir, adicione linhas semelhantes abaixo:

/* Allow members in "ji" group to execute the defined actions
 * without password authentication.
 */
polkit.addRule(function(action, subject) {
    if ((action.id == "org.debian.apt.upgrade-packages" ||
         action.id == "org.debian.apt.install-or-remove-packages" ||
         action.id == "example.action.remove.if_no_need" ||
         action.id == "example.action.remove.if_no_need") &&
        subject.isInGroup("ji")) 
    
    {
        return polkit.Result.YES;
    }
});

Aqui na frase “if”, use action.id == "xxx.xxx.xxx.xxx" para as ações que deseja configurar. Você pode adicionar quantas ações quiser, basta usar || (OU lógico) para separá-las e incluí-las entre colchetes.

Por fim, adicione && subject.isInGroup("ji") ou && subject.user == "ji" para aplicar a regra a todas as ações que você adicionou acima em execução com o usuário “ji” ou usuários do grupo “ji”.

NOTA: Você precisa substituir os valores de action.id e o usuário “ji” de acordo!

Além disso, salvar o arquivo aplicará a regra imediatamente!

Opção 3: desabilitar a autenticação por senha para o comando sudo

Esta é uma etapa opcional que não tem nada a ver com polkit. Além disso, NÃO é seguro, pois concede permissão de root para todo o processo de comando. Com ele, até mesmo o login SSH remoto pode executar o comando sudo sem senha!

1. Primeiro, abra o terminal (Ctrl+Alt+T) e execute o comando abaixo para fazer um backup do arquivo sudoers, copiando-o para o diretório inicial do usuário:

sudo cp /etc/sudoers ~/sudoers.bak

2. Em seguida, execute o comando para editar o arquivo sudoers:

sudo visudo

Quando o arquivo abrir na janela do terminal, role para baixo e adicione a linha abaixo:

ji ALL=(ALL) NOPASSWD:ALL

Aqui, substitua ji pelo seu nome de usuário. Por fim, pressione Ctrl+S para salvar e Ctrl+X para sair.

Artigos relacionados