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.
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 porsubject.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 aAUTH_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
– vejaAUTH_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.