ファイルに追加中に 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/crontabsudo のユーザー権限で実行されます。

これは動作します:

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

関連情報