Por padrão, quem tem permissão para obter privilégios de root com o pkexec?

5

Aprendi hoje que é possível usar pkexec na linha de comando, de maneira semelhante a sudo , para executar programas com privilégios de root. Estou curioso para saber como pkexec decide quem pode fazer isso.

A página man de pkexec(1) diz

  

Por padrão, a autorização org.freedesktop.policykit.exec é necessária, a menos que um arquivo de definição de ação esteja presente para o programa em questão.

Isso é um pouco difícil de analisar para alguém que não esteja familiarizado com o policykit. Mas com um pouco de adivinhação, vamos dar uma olhada em /usr/share/polkit-1/actions/org.freedesktop.policykit.policy . Na seção org.freedesktop.policykit.exec , vemos a string auth_admin .

Referindo-se a polkit(8) , vemos:

  

auth_admin

     

A autenticação por um usuário administrativo é necessária.

Quem exatamente é um "usuário administrativo" nesse sentido? Quais testes são feitos para determinar se um usuário é "administrativo"? Os arquivos de configuração ficam cada vez mais difíceis de encontrar e entender.

Estou ciente de que isso é configurável. Eu quero saber o padrão para, digamos, o Ubuntu 15.04.

    
por Nate Eldredge 26.08.2015 / 08:14

1 resposta

6

Por padrão, são os membros do grupo sudo e o usuário raiz, em virtude desses arquivos em /etc/polkit/localauthority.conf.d/ :

$ tail /etc/polkit-1/localauthority.conf.d/*
==> /etc/polkit-1/localauthority.conf.d/50-localauthority.conf <==
# Configuration file for the PolicyKit Local Authority.
#
# DO NOT EDIT THIS FILE, it will be overwritten on update.
#
# See the pklocalauthority(8) man page for more information
# about configuring the Local Authority.
#

[Configuration]
AdminIdentities=unix-user:0

==> /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf <==
[Configuration]
AdminIdentities=unix-group:sudo;unix-group:admin

O primeiro arquivo concede acesso ao UID 0 ( root ) e o segundo aos grupos sudo e admin . admin não é realmente usado no Ubuntu, mas sudo é, e é o grupo usado para conceder acesso a sudo também.

    
por muru 26.08.2015 / 09:02