¿Cómo ejecutar una aplicación al inicio como un determinado usuario?


17

¿Hay alguna manera de iniciar una aplicación durante el inicio con una determinada cuenta de usuario?

Por ejemplo, me gustaría haber a_small_appejecutado con la cuenta de usuario bob(que está en el grupo bobsgroup). ¿Añado algo /etc/init.d?

Nota: No quiero que la aplicación se inicie después de que un usuario inicie sesión, sino más bien cuando se inicia la computadora.


¿Desea que la aplicación se inicie antes de iniciar sesión en la ventana de inicio de sesión?
Martin Owens -doctormo-

@ Martin: Bueno, en realidad no importa ... Estoy usando Apache como ejemplo aquí. ¿Cuando inicia?
Nathan Osman

Respuestas:


13

Un método agnóstico del sistema de arranque. Puede usar esto en /etc/rc.localun /etc/init.d/...script, un archivo de configuración Upstart y probablemente también en una configuración systemd.

sudo -u oli /full/path/to/application

Este comando se ejecutará como usuario root y sudose desplegará hasta el usuario "oli". Obviamente cambie el usuario y el comando para sus propósitos.

Debo agregar que hay al menos una docena de formas de hacer exactamente esto ... Pero, en mi experiencia, todas son en gran medida idénticas en efecto. Aquí hay un ejemplo inicial usando su setuidestrofa:

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

setuid oli
respawn

exec /full/path/to/application

Sugiero que el ejemplo
waltinator

Me salesudo: unknown group: 1004
ThorSummoner

Además, poke : es hora de actualizar la línea sobre el arranque.
muru

@muru lo haré. Pero no se requiere grupo. sudo usará el grupo predeterminado del usuario especificado .
Oli

Mejor editarlo, entonces. ¡Ese comando ha estado mal durante tres años desde que alguien lo mejoró ! : D
muru

1

Parece que la primera respuesta ya no funciona en Ubuntu 14.10.

Así es como lo hago allí (ponlo en /etc/rc.local)

su <username> - -c "<command>"

Si necesita un shell de inicio de sesión, el equivalente es sudo -i -u ....
muru
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.