Cómo ejecutar un trabajo cron usando el comando sudo

98

¿Es posible ejecutar un trabajo cron que necesita sudo comando?

Me gusta:

 sudo rm somefile
    
pregunta sayem siam 09.08.2012 - 19:51

3 respuestas

195

No me voy a dar cuenta de cuánto es una mala idea; simplemente, ejecutando sudo en crontab requiere que su contraseña sea almacenada en algún lugar en texto plano.

Es una mala idea.

El siguiente es el método preferido para ejecutar tareas administrativas a través de cron. Dado que en realidad no necesitas escribir sudo en el crontab, si estás modificando el crontab de la raíz.

Usar crontab de raíz

Ejecute el siguiente comando:

sudo crontab -e

Esto abre el crontab de root . sudo no es necesario para ejecutar su comando en este contexto, ya que se invocará como root de todos modos.

Por lo tanto, simplemente anexaría lo siguiente al crontab de la raíz.

@hourly rm somefile

Ahora, si absolutamente desea no ser seguro y asumir riesgos con su contraseña, lo siguiente ejecutará su comando desde su propio crontab e ingresará su contraseña automáticamente cuando se lo solicite sudo .

De nuevo, esto no se recomienda .

En su propio crontab, escriba su comando como tal:

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

La desventaja obvia aquí es que, si alguna vez alguien accede a su crontab, su contraseña será legible en texto plano.

No deberías hacer esto.

    
respondido por el SirCharlo 09.08.2012 - 20:03
26

Si está colocando el script desde uno de los directorios cron ( /etc/cron.* ), entonces no necesita usar sudo ya que se está ejecutando como root.

Si está utilizando crontab, querrá usar el crontab de root. Esto lo ejecutará como root, y tampoco necesitará sudo.

sudo crontab -e
    
respondido por el tgm4883 09.08.2012 - 20:02
0

Ejecutar el siguiente comando en la terminal

sudo visudo

Agregó la siguiente línea al final del archivo:

vidyadhar  ALL= NOPASSWD: /bin/rm

En el ejemplo anterior, vidyadhar es el nombre de usuario y no pedirá la contraseña si estás ejecutando el comando rm a través de vidyadhar.

    
respondido por el Vidyadhar 09.08.2012 - 20:07

Lea otras preguntas en las etiquetas