/etc/sudoers.dフォルダ内のすべてのファイルを含むように/etc/sudoersファイルを設定しました。
これはうまくいくようです。ただし、時々サーバーは忘れてスクリプトの実行に失敗し、次のエラーが発生します。「ttyが存在せず、Askpassプログラムが指定されていません」
しばらくすると、何も変更せずに(私の場合)、サーバーが記憶され、スクリプトが再び機能し始めました。
ここで私が許可したファイルが長い間変更されていないことを確認できます。
-rw-r--r-- 1 root root 67 Jul 27 20:34 admin-tools
ただし、1日に1回程度の短い時間(通常20〜90分)だけスクリプトが実行されず、このエラーが表示されます。スクリプトは特定のWebページによってトリガーされ、www-dataユーザーとして10分ごとに実行されます。失敗すると2~9回失敗するので、予想時間は次のようになります。
サーバーがsudoers.dフォルダの内容を忘れてしまう原因が何であるかを知っている人はいますか?
設定ファイルに何があるのかを知りたい場合は、次を参照してください。
www-data ALL = NOPASSWD: [PATH TO MY SCRIPT]/file-copy.sh
答え1
問題を発見しました!
スクリプトはNFS共有にインストールされ、不明な理由で共有パスがランダムに変更されたことがわかりました。
後で絞り込む予定ですが、/etc/sudoers.dフォルダにある権限ファイルは、スクリプトがあるパスに基づいてのみ存在すると予想されるため、別のマッピングに移動すると失敗します。
これで、sudoersファイルに可能なすべてのパスが含まれます。
さて...マッピングが変更された理由を学びましょう!