0

探しているものが見つからなかったので、ここにいます。

「at」UNIXコマンドを使用して、script.phpの実行を「現在+ 1分」まで遅らせ、sudo権限を維持しようとしています

私の問題は、「at」によって実行されるこのscript.phpには、ファイルまたはディレクトリを作成/編集/削除する権限、または作成したscript.shを実行する権限がないことです。

私は多くの異なる方法を試し、それに行き着きました:

<?php
exex("echo password | sudo -u username -S echo 'echo password | sudo -u username -S php ".dirname(__FILE__).'/script.php '.$this->getQueueParams()."' | at now + 1 minutes");

このコマンドは、PHP からではなく、ターミナルでコピー/貼り付けすると正常に実行されます。

  • 時々動作しますが、権利上の理由で例外がトリガーされます
  • 「at」コマンドを単に実行しない場合があり、en exec() はコード「1」を返します。

また、suoders を編集して、apache のユーザー (www-data) が必要なすべてのコマンド (echo、chmod、chown、script.sh、...) を実行する権限を追加しましたが、まだ機能しません。

助けてくれて本当にありがとうございます!

ジェシー

4

0 に答える 0