ошибка разрешения файла bash при добавлении в файл

ошибка разрешения файла bash при добавлении в файл

Я устанавливаю 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

Связанный контент