1 votos

Problemas con crontab y script con sudo

Buenas tardes llevo casi un mes para resolver un problema que tenía resuelto en mi anterior equipo, crontab ejecutar un script que me montaba las las carpetas de una unidad remota del NAS, al pasarlo todo el nuevo equipo copié el crontab y los script que ejecutaban las órdenes de montar las unidades, pero ahora nada funciona, crontan no ejecuta las órdenes o los archivos de script no se ejecutan a petición de contab, no sé dónde está el problema llevo más de un mes probando cosas buscando soluciones y no doy con la solución.

También anteriormente si yo ejecutaba directamente el script, con doble click, montaba tambien las unidades pero ahora solo me deja ejecutarlo desde un terminal y tengo que ponerle el password de root para que se ejecute dicho escript, ya que los comandos que lleva dentro llevan la cabecera sudo.

Voy a poneros los ejemplos para que lo veáis todo más claramente empezando por el crontab y siguiendo por los scripts.

Crontab -e

@reboot root /home/(usuario)/Escritorio/Scripts/'Montar unidades.sh'

Esta es la unica liea activa por el momento del crontab.

El script Montar unidades.sh, que esta en la ruta indicada

Cabecera de scrips bin...... no me deja ponerla por los caracteres html que interpreta ;)

sudo mount.cifs '(//xxx.xxx.xx.xx/ruta)' '/media/(nombre de la carpeta)/' -o credential='home/(ruta del archivo de credenciales)',rw,file_mode=0777,dir_mode=0777

exit

El script fumciona perfectamente si lo ejecutó desde un terminal, pero me pide la password de root, se la igreso y voila, todo perfecto, pero al iniciar sesión, crontab, no es capaz de ejecutarlo y en el equipo viejo, eso lo hacia en cada reinicio.

Gracias por vuestra colaboración.

0voto

aFrost Puntos 315

Mira a ver como que usuario lo está ejecutando crontab, y con eso edita el /etc/sudoers y añade una linea como está:

nombreusuario ALL = (root) NOPASSWD: /ruta/al/programa

Con eso darias permisos al usuario nombreusuario para ejecutar ese command root sin que pida la contraseña.

También puedes encontrar mas información en el syslog sobre que usuario está ejecutando el cron

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: