Quando dovrei usare pkexec e quando sudo -i?

Ho scritto una risposta consigliando l’uso di sudo -i nautilus . So che gksu è deprecato e ho avuto l’impressione che sudo -i sia come dovremmo eseguire applicazioni grafiche come root senza uccidere gattini , ma qualcuno ha commentato ‘ pkexec è il nuovo gksu ‘. La mia comprensione è che pkexec non è lo stesso che usare qualsiasi forma di sudo :

Quando usare pkexec vs gksu / gksudo?

e richiede la configurazione, specialmente per l’uso con applicazioni grafiche:

Come configurare pkexec?

Quando faccio sudo -i tutto funziona sempre, quindi perché dovrei andare a pkexec la briga di configurare pkexec ? Posso vedere che per scrivere uno script che lancia qualcosa come root avrei bisogno di farlo:

Posso usare pkexec in un file Python Script o .desktop?

Altrimenti, cosa guadagno pkexec ? Quando dovrei usare questi comandi? Qual è attualmente la migliore pratica per l’apertura di applicazioni grafiche come root?

(Ho già letto le … pagine man , ma non mi sento più saggio.)

L’uso di base è lo stesso: i programmi in questione consentono di eseguire altri programmi come un altro utente, in genere root. La differenza, tuttavia, tra le varianti sudo e pkexec è che sudo fornisce un controllo totale del programma su tutto, mentre con pkexec si ha un controllo molto più fine definendo una politica per ogni programma.

Se ti fidi dei programmi che esegui, sudo va perfettamente bene. Se vuoi davvero bloccare tutto e permettere ai programmi di fare solo ciò che gli permetti, usa pkexec che viene fornito con polkit .

Sebbene l’idea alla base di pkexec sia carina, non andrei fino a chiamarla il prossimo gksu , a causa del complesso set up necessario.

Riferimento: la differenza tra sudo e pkexec su Quora .