このルールをcrontabの下部に追加しました。
* * * * * /root/test.sh
デフォルトでは、iptablesをリセットして一致することができます。私が台無しにしても、私の箱に閉じ込められません。 Bashでスクリプトを実行すると、期待どおりにすべて/root/test.sh
が消去されます。ところで待つと実行できないようです。
以下のコマンドを実行しましたが、1分ごとにスクリプトが実行されているようですが、スクリプトが何もしないことがわかります。
grep CRON /var/log/syslog
IIRCでスクリプトを所有者として強制する方法はchmod a+s file
。だからそれが私がしたことです。stat
この行を見せてください
Access: (6755/-rwsr-sr-x) Uid: ( 0/ root) Gid: ( 0/ root)
cronは私のスクリプトをrootとして実行してはいけませんか?なぜ実行されないと思いますか?私はDebian 7を実行しています。 (ハルトク)
答え1
SUID権限ではスクリプト(バイナリを除く)を実行できません。スクリプトは実行中ですが、rootではないユーザーなので、呼び出しはiptables
機能しません。
クローンジョブからのエラーメッセージは、ローカルの電子メールで送信されます。ローカル電子メールが正しく設定されていることを確認してください(一部のディストリビューションではデフォルトではこれを行いません)。
rootアクセス権があるので、簡単な解決策はrootユーザーのcrontabにスクリプトをインストールするか、/etc/crontab
次の行を使用することです。
* * * * * root /root/test.sh