Quando devo usar o pkexec e quando o sudo -i?

21

Eu escrevi uma resposta avisando o uso de sudo -i nautilus . Eu sei que gksu está obsoleto , e eu estava com a impressão de que sudo -i é como devemos executar aplicativos gráficos como root sem matando gatinhos , mas alguém comentou ' pkexec é o novo gksu '. Meu entendimento é que pkexec não é o mesmo que usar qualquer forma de sudo :

Quando você usa pkexec vs gksu / gksudo?

e requer configuração, especialmente para usar com aplicativos gráficos:

Como configurar o pkexec?

Quando eu faço sudo -i tudo sempre funciona, então por que eu deveria me dar ao trabalho de configurar pkexec ? Eu posso ver que, para escrever um script que lança algo como root, eu precisaria fazer isso:

Posso usar o pkexec em um arquivo Python Script ou .desktop?

Caso contrário, o que ganho com o uso de pkexec ? Quando devo usar esses comandos? Qual é atualmente a melhor prática para abrir aplicativos gráficos como root?

(Eu já li as ... man páginas, mas não estou me sentindo mais sábio.)

    
por Zanna 25.07.2016 / 12:31

1 resposta

2

O uso básico é o mesmo - os programas em questão permitem que você execute outros programas como outro usuário, geralmente root. A diferença, no entanto, entre sudo variants e pkexec é que sudo fornece ao programa controle total sobre tudo, enquanto que com pkexec você tem um controle muito mais refinado definindo uma política para cada programa.

Se você confia nos programas que você executa, o sudo está perfeitamente bem. Se você quiser realmente bloquear tudo e permitir que os programas façam apenas o que você permitir, use pkexec que vem junto com polkit .

Embora a idéia por trás de pkexec seja boa, eu não iria ao ponto de chamá-la do próximo gksu , devido à configuração complexa necessária.

Referência: a diferença entre sudo e pkexec no Quora .

    
por Brane 27.08.2016 / 15:46