Come eseguire un cron job usando il comando sudo

97

È possibile eseguire un lavoro cron che richiede sudo comando?

Come:

 sudo rm somefile
    
posta sayem siam 09.08.2012 - 19:51
fonte

3 risposte

193

Non capirò quanto questa sia una cattiva idea; in parole povere, l'esecuzione di sudo in crontab richiede che la password venga memorizzata da qualche parte in testo semplice.

È una cattiva idea.

Il seguente è il metodo preferito per eseguire attività amministrative tramite cron. Dato che non hai davvero bisogno di scrivere sudo in crontab, se stai modificando il crontab di root.

Usa il crontab di root

Esegui il seguente comando:

sudo crontab -e

Questo apre il crontab di root . sudo non è necessario per eseguire il comando in questo contesto, poiché verrà comunque richiamato come root .

Pertanto, si dovrebbe semplicemente aggiungere quanto segue al crontab di root.

@hourly rm somefile

Ora, se assolutamente vuoi essere pericoloso e rischiare con la tua password, il seguente comando eseguirà il comando dal tuo crontab e inserirà automaticamente la tua password quando richiesto da sudo .

Anche in questo caso questo non è raccomandato .

Nel tuo crontab, scrivi il tuo comando in questo modo:

@hourly echo "password" | sudo -S rm somefile

L'ovvio svantaggio qui è che, se qualcuno dovesse accedere al tuo crontab, la tua password sarà leggibile in chiaro.

Non dovresti farlo.

    
risposta data SirCharlo 09.08.2012 - 20:03
fonte
25

Se si sta inserendo lo script da una delle directory di cron ( /etc/cron.* ), non è necessario usare sudo poiché viene eseguito come root.

Se stai usando crontab, allora vorrai usare il crontab di root. Questo verrà eseguito come root, e inoltre non è necessario sudo.

sudo crontab -e
    
risposta data tgm4883 09.08.2012 - 20:02
fonte
0

Esegui il seguente comando nel terminale

sudo visudo

Aggiunta la seguente riga alla fine del file:

vidyadhar  ALL= NOPASSWD: /bin/rm

Nell'esempio precedente vidyadhar è il nome utente e non chiederà la password se stai eseguendo il comando rm tramite vidyadhar.

    
risposta data Vidyadhar 09.08.2012 - 20:07
fonte

Leggi altre domande sui tag