Estoy construyendo una extensión de shell Gnome, y quiero poder hacer algunas cosas con privilegios escalados. Entonces, estoy pensando que necesito usar "policy kit", pero no sé cómo hacerlo.Gnome shell escalada de privilegios
Por lo tanto, decir que quería hacer algo como ifconfig eth0 down
o ifconfig eth0 up
que se puede ejecutar desde el terminal: pkexec ifconfig eth0 down
y se le solicitará una contraseña y luego hacerlo.
Pero, ¿cómo se supone que debo hacerlo desde dentro de una extensión?
Estoy bastante seguro de que tiene algo que ver con hacer un archivo en/usr/share/polkit-1/actions, pero no puedo encontrar nada en Internet o de otra manera.
Quiero ser capaz de configurarlo para que no haya necesidad de escribir una contraseña, y la extensión solo puede ejecutar el comando determinado cada vez que lo desee.
Sé que es una muy mala idea permitir ejecutar cualquier comando. Eso no es lo que estoy pidiendo, quiero poder ejecutar un solo programa/comando.
EDITAR: No estoy seguro, pero creo que podría ser imposible que no haya necesidad de escribir una contraseña. Solo sé que sudo no solicita la contraseña por un tiempo después de la primera vez, así que quiero una funcionalidad similar. No estoy seguro de qué es posible.
Esto generalmente no va a funcionar demasiado bien, porque su extensión de shell (en JavaScript) se ejecutará dentro del mismo proceso que el propio shell, exponiéndolo así a todo tipo de "fugas de seguridad ..." - La apuesta segura sería, de hecho, usar 'pkexec' o aislar el bit de código privilegiado" inseguro "en un proceso separado ... PD: volver a pedir una contraseña por' sudo' et al es una configuración de seguridad de todo el sistema; el valor por defecto es volver a solicitar después de un (largo) mientras que – BRFennPocock
@BRPocock sí usando 'pkexec' es lo que quiero hacer. ¿Cómo haría eso desde dentro de la extensión? – Jay