PHPでrootアクセスでスクリプトを実行しようとしています。www-data
セキュリティ上の理由から、Apacheユーザーにrootアクセス権がないため、これを行うことはできません。この問題を解決するには、Named Pipe を使用することをお勧めします。私は最初にsudo権限を追加しようとしましたが、セキュリティ上のwww-data
リスクのために間違いなく悪いと言われました(また追加しようとしましたが、うまくいきませんでした)。
これが私の問題があるところです。私が正しく理解した場合は、システムの起動時に自動的に起動され、名前付きパイプからデータを読み取るためにバックグラウンドで継続的に待機するスクリプトが必要です。 rootアクセス権を取得するには、このスクリプト(パイプリーダーとも呼ばれます)をrootとして実行する必要があります。その後、PHPはいくつかのデータをパイプリーダーにパイプし、それをPHPで実行したい基本スクリプトに渡します。
これにより、リーダーがルートとして実行されるため、デフォルトのスクリプトはルートアクセスとして実行されます。私が「メインスクリプト」と呼ぶのは、ユーザーを生成するbashスクリプトであり、機能するにはrootが必要です。これはrootアクセスを使用してPHPで実行したいスクリプトです。
これは私の問題を解決するための最良の方法ですか?私は正しく理解していますか?
アップデート:私はUbuntu 12.04.1を実行しています。