Soy un usuario root y supongo que quiero ejecutar cualquier aplicación como otro usuario. ¿Es esto posible, sin cambiar a otro usuario?
Algo como
# google-chrome user=abc
En realidad estoy ejecutando un programa CLI como usuario no root. He configurado el bit fijo y estoy usando setuid, por lo que el programa se ejecuta con privilegios de root. Ahora estoy usando system()
dentro del programa para invocar una aplicación GUI. Pero no quiero ejecutarlo como root, por lo que quiero eliminar temporalmente los privilegios de root solo para esa llamada.
Respuestas:
Una solución portátil sería:
Sin embargo, como google-chrome requiere acceso a X11, esto probablemente fallará a menos que lo desproteja, lo que sería una muy mala idea, especialmente mientras se ejecuta como root.
Si se permite el tunelado / reenvío X11, una mejor manera sería
o
fuente
su abc -c google-chrome
probablemente fallará en primer lugar porqueabc
no puede usar la sesión de root, ya que no se puede.Xauthority
leerabc
.Respuesta corta: "Sí, esto es posible".
si desea ejecutar una aplicación que no sea X, simplemente use el siguiente comando:
Si desea ejecutar alguna aplicación X como otro usuario pero primero con su propio escritorio, debe crear una secuencia de comandos auxiliar, que simplificará su vida
y usando su editor de texto favorito, cree un archivo de la
~/bin/xsudo
siguiente manera:luego hazlo ejecutable:
y úselo de la misma manera
sudo
pero sin interruptores:Disfrutar.
PD: ¡Se recomienda encarecidamente comenzar
xsession
desde laroot
cuenta!fuente
ssh -X abc@localhost google-chrome
:)Hay una manera de ejecutar chromium cuando inicia sesión en el usuario root. Si lo abre normalmente, le dará un error como "el cromo no se puede ejecutar como root".
Para ejecutarlo sin el error, right clickel escritorio, cree un nuevo lanzador con el comando:
chromium-browser --user-data-dir
. Puedes nombrarlo como quieras, guardarlo, cuando lo abras, te dará el navegador de cromo. (Funciona en Ubuntu 10.04.4 LTS)fuente
fuente