Con sudo è possibile impostare i criteri per utente e per programma su wether per conservare o ripristinare l'ambiente dei chiamanti nel contesto di sudo. La politica env_reset è impostata per impostazione predefinita.
Non è possibile eseguire applicazioni grafiche tramite pkexec senza configurarlo esplicitamente per farlo. Poiché questo è semplicemente il risultato del ripristino dell'ambiente, questo è ovviamente vero anche per sudo. Si noti tuttavia che né pkexec né sudo possono impedire a un'applicazione malevola in esecuzione come root di recuperare tutte le informazioni necessarie dai display manager o dal file X11-cookie degli utenti. Quest'ultimo, sia o simile, può anche essere fatto da applicazioni non root a seconda delle circostanze.
Sudo non richiede elenchi espliciti di utenti. È possibile elencare qualsiasi gruppo di utenti o anche impostare un'autorizzazione per tutti gli utenti in generale. La direttiva target_pw consente a quegli utenti di autenticarsi con le credenziali dell'utente nel contesto in cui desiderano eseguire un'applicazione, ad esempio root. A parte questo, il altrettanto tradizionale programma su (su / gtksu / kdesu) può essere usato per fare lo stesso senza una configurazione speciale.
anche sudo consente all'utente di rimanere autenticato per un periodo di tempo specificato. L'opzione è denominata timeout, configurabile a livello globale, per utente o per applicazione. L'autenticazione può essere mantenuta per tty o globalmente per utente.
Mentre pkexec potrebbe non eseguire la convalida degli ARGUMENTI passati a PROGRAM, sudo ha effettivamente questa funzione. Ammesso però, puoi facilmente sbagliare con questo, e normalmente non è fatto.
Puoi modificare un po 'come vuoi che i programmi vengano eseguiti tramite pkexec: icona, testo da visualizzare, puoi persino avere cose di localizzazione e tutto il resto. A seconda delle circostanze, ciò può essere davvero intelligente. Purtroppo però, qualcuno ha sentito il bisogno di reinventare la ruota per questa funzione. Questo sarebbe probabilmente qualcosa da mettere nei wrapper grafici gtksudo / kdesu.
Policykit è quindi solo un framework di configurazione centralizzato. Purtroppo non è carino. I file XML di PK sono molto più complicati di qualsiasi cosa un'app possa fornire nativamente a corto di file binari. E nessuno sarebbe così sciocco da usare il binario ... oh gconf ... non importa.