附加到文件时出现 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

相关内容