TL; DR: Adicionando o usuário ao grupo sudo com sudo usermod -aG sudo username
resolve este problema porque ambos sudo e Polkit usam esse grupo.
A maneira usual e esperada de dar poderes administrativos ao usuário em um sistema Ubuntu é adicionar a conta do usuário ao grupo sudo
. Isso lhes dá poderes não apenas através do sudo, mas também através do Polkit. O prompt gráfico que permite selecionar entre usuários com poderes administrativos é um prompt do Polkit, não um prompt do sudo. Como diz muru , a maioria dos programas gráficos que solicitam que você digite uma senha para realizar uma tarefa administrativa estão usando o Polkit, não sudo
Mas, para tornar um usuário um administrador, para permitir que eles executem ações como root com sudo e Polkit e para que eles apareçam na lista de usuários a serem autenticados como ao usar o Polkit, você não precisa configurar o sudo e o Polkit separadamente e eu recomendo que não faça isso. Basta colocar o usuário no grupo sudo
. Não se deixe enganar pelo nome - Polkit respeita esse grupo da mesma maneira que o sudo.
O texto da sua pergunta sugere strongmente que, em vez de adicionar o usuário ao grupo Polkit, você adicionou uma entrada personalizada para esse usuário específico em /etc/sudoers
:
% bl0ck_qu0te%
O usuário criado quando você instala o Ubuntu é adicionado ao grupo sudo
.
E você mencionou (ênfase minha):
% bl0ck_qu0te%
O Polkit não usa /etc/sudoers
, portanto, dar ao usuário a capacidade de executar sudo
editando esse arquivo não lhes dá habilidades através do Polkit. Essa é uma possível razão pela qual você pode realmente querer editar esse arquivo - se você quisesse dar ao usuário poderes através de sudo
mas não do Polkit. No entanto, você quer ambos, e é para isso que o grupo sudo
no Ubuntu já está configurado, então você deve usar isso.
Como você faz tem a capacidade de executar comandos como root com o comando sudo, você pode adicionar username
(substitua-o pelo nome de usuário real, é claro) para o grupo sudo executando:
sudo usermod -aG sudo username
Ou se você quiser usar o Polkit para adicioná-lo, você pode executar este comando, que tem exatamente o mesmo efeito quando for concluído:
pkexec usermod -aG sudo username
Depois de executar qualquer um desses comandos, username
poderá realizar ações arbitrárias como raiz através do sudo e do Polkit. Observe que usermod
precisa do -a
flag, conforme mostrado, ou removerá o usuário de outros grupos, o que você não deseja.
Veja também Como adicionar um usuário existente a um grupo existente
Caso você esteja interessado em como tanto o sudo quanto o Polkit estão configurados para conceder direitos aos usuários no grupo sudo
, a resposta pode ser obtida de seus arquivos de configuração. Por padrão, /etc/sudoers
inclui estas linhas:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
consiste em:
[Configuration]
AdminIdentities=unix-group:sudo;unix-group:admin
Assim, o sudo e o Polkit são configurados para conceder privilégios administrativos aos usuários que estão em um ou ambos os grupos admin
e sudo
. O grupo admin
está listado para compatibilidade com versões antigas do Ubuntu em que admin
foi usado em vez de sudo
, caso você faça upgrade de tal versão e tenha contas de usuário em admin
, mas não sudo
. Mas, além dessa situação, você provavelmente nem tem um grupo admin
. A execução de getent group admin sudo
mostrará qual desses grupos existe e quais usuários estão neles. Em um sistema 14.04 recém-instalado, ele não mostrará nada para admin
. Portanto, use o grupo sudo
, não o grupo admin
, para tornar os usuários administradores.
Estes detalhes de configuração são verdadeiros para o Ubuntu 14.04, como você estava executando quando fez esta pergunta, mas também de todos os lançamentos subseqüentes, até o Ubuntu 17.10. Adicionar um usuário ao grupo sudo
é a maneira mais eficaz e mais apropriada de fornecer a eles poderes sudo e Polkit completos, em todos os lançamentos do Ubuntu atualmente suportados.
Eu gostaria de agradecer Videonauth ambos pelo comentário útil sobre outra resposta (que desde então tem sido delete) que levou à minha escrita desta resposta e para verificar se as informações que eu dei sobre o conteúdo de sudoers
e 51-ubuntu-admin.conf
ainda são precisas a partir do Ubuntu 17.10.