3 votos

¿Cómo puedo ejecutar comandos sudo como un trabajo cron?

Estoy tratando de ejecutar un script de shell como un cron job. El problema es que mi script debe ejecutarse como super usuario. He probado con solo escribir sudo delante del comando en mi crontab archivo, pero no funcionó.

5voto

Joey deVilla Puntos 4487

Cron no es en modo alguno en desuso, pero LaunchD tiene más versatilidad y se utiliza, y activamente mantenido y con el soporte de Apple. Su guía de mejores prácticas es aquí

LaunchDaemon empleos(frente a LaunchAgents, que toman una identificación de usuarios) en la root del contexto sin necesidad de activar el usuario root. Todo lo que se requiere es un bien formada archivo XML(puede simplemente copiar-pegar pre-existentes en /Library/LaunchDaemons, sustituyendo su guión para la ProgramArguments con la correspondiente programación de teclas) con la debida propiedad/permisos. Una mayor valoración crítica se puede encontrar aquí: afp548 del launchd-artículo en profundidad

2voto

Oskar Puntos 1242

Es un riesgo de seguridad, pero se puede habilitar el usuario root y ejecute el siguiente comando en la root del cron. Alternativamente, ¿has probado a utilizar sudo -s para obtener una "shell root" y haciendo que la root del cron de esa manera. Dependiendo de su nivel de sistema operativo, es posible que no necesite root habilitado como usuario para que el cron para que se ejecute.

Si quieres hacerlo sin habilitar el usuario root (que no es realmente necesario en este caso), es posible que, como cualquier usuario administrativo) escriba sudo crontab -u root -e a editar el crontab de root directamente.

-1voto

Adriano Puntos 1

Comentario "valores Predeterminados requiretty" de /etc/sudoers utilizando visudo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X