「/etc/cron.d/」ファイルのcronジョブに「sudo」を含めてはいけませんか?

「/etc/cron.d/」ファイルのcronジョブに「sudo」を含めてはいけませんか?

私は/etc/cron.d/myjobbashスクリプトを実行し、そのstdoutとstderrをログファイルにリダイレクトするcronジョブを作成しました。スクリプトには、sudo実行するコマンド1行が含まれています。

ログファイルから:

sudo: no tty present and no askpass program specified

これは私が知っておくべきいくつかの問題を引き起こす可能性がありますか?

/etc/cron.d/ファイルのcronジョブを含めないでくださいsudo

ありがとうございます。

ベストアンサー1

「もし」は判断です。

呼び出されたコマンドは、/etc/cron.d/指定されたユーザー(ユーザーrootまたは他のユーザーであるかどうか、cron行で定義されている)で実行されます。したがって、一般的な状況では必要ありませんsudo

しかし、もしあなたがする呼び出されるスクリプトがあるため、正しく入力したことを確認sudoする必要があります。sudoers特に:

  • エントリがスクリプトを実行しているユーザーに割り当てられていることを確認してください(おそらくroot)。
  • NOPASSWD誰もがパスワードを入力せずに実行できるように、エントリにプロパティが設定されていることを確認してください。

表示されるエラーは、sudoコマンドにパスワードが必要ですが、パスワードを提供する端末がないためです。

よく書かれたスクリプトは正しい権限で実行されているかどうかを検出し、まったく呼び出すことはありませsudoんが、そこには間違ったスクリプトがたくさんあります:-)

おすすめ記事