Come eseguire un processo cron come utente specifico?


15

Ho un paio di comandi che voglio eseguire dopo l'avvio della macchina. Un utente non dovrebbe effettuare l'accesso o altro per eseguirlo.

Ho trovato questa grande risposta che suggerisce crontab con la @rebootparola chiave, tuttavia funzionerà come root e mi piacerebbe correre come un utente specifico creato per questi "servizi" (non servizi di sistema reali).

Quali sono alcuni modi per ottenere lo stesso effetto con un determinato utente?


Prova a eseguire '$ su [nome utente] [comando]'
LittleByBlue

Risposte:


24

È possibile creare un crontab per l'utente specifico in questo modo:

crontab -u <username> -e

O più semplicemente, potresti semplicemente eseguire crontab -equando hai effettuato l' accesso come quell'utente.

In alternativa, puoi sudo -u <username>eseguire il prefisso del tuo comando nel crontab (root) con per eseguire il comando come utente specificato.


Grazie, non sono riuscito a farlo funzionare con quelli. Ma ora vedo che posso creare un crontab per chiunque. I comandi finirono bene come root con sudo. Non sapevo di poter usare sudo lì (mi aspettavo che fallisse in attesa di una password).
Louis,

2
@Louis sudonon richiede una password quando viene invocata come root. Fondamentalmente non stai ottenendo le autorizzazioni ma le stai abbandonando.
kraxor,

1
@kraxor - potresti semplicemente eseguire crontab -e quando accedi come quell'utente. penso che questo non sia corretto.
bhv,
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.