Error de permiso de archivo bash al agregarlo a un archivo

Error de permiso de archivo bash al agregarlo a un archivo

Estoy instalando Voipmonitor cuyo script de configuración tiene este paso:

sudo echo " * * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab

Recibo este error

-bash: /etc/crontab: Permission denied

Los permisos del archivo son:

-rw-r--r-- 1 root root 51 Feb 15 04:45 /etc/crontab

Respuesta1

El comando no funciona porque se aplica sudo al comando, sin embargo la redirección se realiza con el usuario actual, por lo que falla los permisos. Entonces, echo se ejecuta como root, sin embargo, >> /etc/crontabse realiza con los permisos de usuario fuera de sudo.

Esto funcionará:

sudo /bin/bash -c '( echo " * * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab )'

Respuesta2

Podrías usar:

echo " * * * * * root php /var/www/html/php/run.php cron" | sudo tee -a /etc/crontab

información relacionada