¿Cuándo debo usar pkexec y cuándo sudo -i?

21

Escribí una respuesta aconsejando el uso de sudo -i nautilus. Sé que gksuestá en desuso , y tenía la impresión de que así sudo -ies como deberíamos ejecutar aplicaciones gráficas como root sin matar gatitos , pero alguien comentó ' pkexeces lo nuevo gksu'. Entiendo que pkexecno es lo mismo que usar cualquier forma de sudo:

¿Cuándo usar pkexec vs gksu / gksudo?

y requiere configuración, especialmente para usar con aplicaciones gráficas:

¿Cómo configurar pkexec?

Cuando hago sudo -itodo, siempre funciona, entonces, ¿por qué debería tomar la molestia de configurarlo pkexec? Puedo ver que para escribir un script que inicie algo como root necesitaría hacerlo:

¿Puedo usar pkexec en un Python Script o un archivo .desktop?

Pero de lo contrario, ¿qué gano usando pkexec? ¿Cuándo debo usar estos comandos? ¿Cuál es actualmente la mejor práctica para abrir aplicaciones gráficas como root?

(Ya leí las ... manpáginas, pero no me siento más sabio).

Zanna
fuente
55
Yo personalmente ignoro la obsolescencia y siempre la instalo gksuen todos los sistemas para ejecutar aplicaciones GUI gksudosi es necesario. Nada más.
Byte Commander
1
Relacionado: Esta antigua publicación sobre meta tuvo una discusión relevante y la respuesta más votada sugerida sudo -ies una solución segura; Pero no mucho explicado por pkexec.
clearkimura
1
En el caso de usar editores de texto GUI para editar archivos como root, ¿qué pasa con el uso sudoedit(AKA sudo -e)?
edwinksl
1
@edwinksl, ¿quería decir que podría establecer un editor gráfico como predeterminado sudoedit? Idea interesante
Zanna
1
@Zanna Sí, vea unix.stackexchange.com/a/356443/6949 por ejemplo.
edwinksl

Respuestas:

2

El uso básico es el mismo: los programas en cuestión le permiten ejecutar otros programas como otro usuario, generalmente root. Sin embargo, la diferencia entre las sudovariantes y pkexeces que sudole da al programa un control total sobre todo, mientras que con pkexecusted tiene un control mucho más detallado definiendo una política para cada programa.

Si confías en los programas que ejecutas, sudo está perfectamente bien. Si realmente desea bloquear todo y permitir que los programas hagan solo lo que les permite, use el pkexecque viene junto con polkit .

Si bien la idea detrás pkexeces agradable, no iría tan lejos como llamarla la siguiente gksu, debido a la compleja configuración necesaria.

Referencia: la diferencia entre sudo y pkexec en Quora .

Brane
fuente