
Я устанавливаю Voipmonitor, скрипт установки которого содержит следующий шаг:
sudo echo " * * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab
Я получаю эту ошибку
-bash: /etc/crontab: Permission denied
Разрешения файла следующие:
-rw-r--r-- 1 root root 51 Feb 15 04:45 /etc/crontab
решение1
Команда не работает, потому что sudo применяется к команде, однако перенаправление выполняется с текущим пользователем, и поэтому не выполняются разрешения. Поэтому echo запускается как root, однако >> /etc/crontab
выполняется с разрешениями пользователя из sudo.
Это будет работать:
sudo /bin/bash -c '( echo " * * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab )'
решение2
Вы можете использовать:
echo " * * * * * root php /var/www/html/php/run.php cron" | sudo tee -a /etc/crontab