Come eseguire un'applicazione all'avvio come un determinato utente?


17

Esiste un modo per avviare un'applicazione durante l'avvio con un determinato account utente?

Ad esempio, vorrei essere a_small_appeseguito con l'account utente bob(che è nel gruppo bobsgroup). Aggiungo qualcosa a /etc/init.d?

Nota: non voglio che l'applicazione si avvii dopo che un utente ha effettuato l'accesso, ma piuttosto all'avvio del computer.


Vuoi che l'app venga avviata prima dell'accesso nella finestra di accesso?
Martin Owens -doctormo-

@Martin: Beh, non importa davvero ... Sto usando Apache come esempio qui. Quando comincia?
Nathan Osman,

Risposte:


13

Un metodo agnostico del sistema di avvio. Puoi usarlo in /etc/rc.localuno /etc/init.d/...script, un file di configurazione Upstart e probabilmente anche una configurazione systemd.

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

Questo comando verrà eseguito come utente root e sudoverrà visualizzato dall'utente "oli". Ovviamente cambia l'utente e il comando per i tuoi scopi.

Dovrei aggiungere che ci sono almeno una dozzina di modi per fare proprio questo ... Ma nella mia esperienza sono tutti sostanzialmente identici in effetti. Ecco un esempio iniziale usando la sua setuidstanza:

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

setuid oli
respawn

exec /full/path/to/application

Suggerisco che l'esempio
waltinator,

Ricevosudo: unknown group: 1004
ThorSummoner il

Inoltre, poke : è ora di aggiornare la riga sull'avvio.
Muru,

@muru Lo farò. Ma il gruppo non è richiesto. sudo utilizzerà il gruppo predefinito dell'utente specificato .
Oli

Meglio modificarlo, quindi. Quel comando è sbagliato da tre anni da quando qualcuno lo ha migliorato ! : D
muru,

1

Sembra che la prima risposta non funzioni più in Ubuntu 14.10.

Ecco come lo faccio lì (lo metto in /etc/rc.local)

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

Se hai bisogno di una shell di accesso, l'equivalente è sudo -i -u ....
Muru,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.