Con sudo puede establecer políticas por usuario y por programa sobre si desea retener o restablecer el entorno de las personas que llaman en el contexto de sudo. La política env_reset se establece de manera predeterminada.
No puede ejecutar aplicaciones gráficas a través de pkexec sin configurarlo explícitamente para hacerlo. Debido a que esto es simplemente el resultado del reinicio del entorno, esto obviamente también es cierto para sudo. Sin embargo, tenga en cuenta que ni pkexec ni sudo pueden evitar que una aplicación maliciosa se ejecute como root para recuperar toda la información necesaria de los administradores de visualización o del archivo X11-cookie de los usuarios. Esto último, tanto o similar, incluso puede ser realizado por aplicaciones no root, dependiendo de las circunstancias.
Sudo no requiere listados explícitos de usuarios. Se puede enumerar cualquier grupo de usuarios o incluso establecer un permiso para todos los usuarios en general. La directiva target_pw permite que esos usuarios se autentiquen con las credenciales del usuario en cuyo contexto desean ejecutar una aplicación, es decir, root. Aparte de eso, el programa igualmente tradicional su (su / gtksu / kdesu) puede usarse para hacer lo mismo sin una configuración especial.
sudo también permite que el usuario permanezca autenticado por un tiempo específico. La opción se denomina tiempo de espera, configurable globalmente, por usuario o por aplicación. La autenticación se puede retener por tty o globalmente por usuario.
Si bien pkexec puede no validar los ARGUMENTOS pasados a PROGRAM, sudo sí tiene esta característica. Sin embargo, admitido, puede equivocarse fácilmente con esto, y normalmente no se hace.
Puede modificar un poco cómo desea que los programas se ejecuten a través de pkexec: icono, texto para mostrar, incluso puede tener cosas de localización y todo eso. Dependiendo de las circunstancias, esto puede ser ingenioso. Sin embargo, es triste que alguien sintiera la necesidad de reinventar la rueda para esta función. Esto probablemente sería algo para poner en los contenedores gráficos gtksudo / kdesu.
Policykit es solo un marco de configuración centralizado entonces. Lamentablemente no es bonita. Los archivos XML de PK son mucho más complicados que cualquier cosa que una aplicación pueda proporcionar de forma nativa sin archivos binarios. Y nadie estaría tan loco para usar binario ... oh gconf ... no importa.