nginx を生成する PHP ファイルの種類によって異なります。これが小さなスタンドアロン スクリプトである場合、root として実行しても問題はありません。今のところ、このnginxファイルを生成して書き込む必要があるのはphp Webサイトだと思います。
ファイルを実際に作成して書き込む部分がまだかなり自己完結型で単純な場合、私はそれをスタンドアロンの実行可能ファイル (php などで) にし、PHP Web サイトからいくつかのコマンドライン パラメーターを取得してから、setuid
この実行可能ファイル (root が所有している間)。ただし、この実行可能ファイルは安全である必要があることに注意してください: http://en.wikipedia.org/wiki/Setuid#Security。
別の方法は、php に nginx.conf への書き込みを許可することです (直接、ファイルを誰でも書き込み可能にするか、グループ書き込み可能にして、php ユーザーが属するグループを指定するか、ファイルをコピーする別のプロセスを用意します。いくつかのphpで書かれたファイルから)。ただし、これは非常に恐ろしいことです.nginx.confファイルには実行されるコマンドが含まれている可能性があり(認証用、またはcgiとして)、おそらくルートとして実行されます(同じ構成ファイルがコマンドの場合) . したがって、このようにして、基本的にphpユーザーがrootとして任意のコマンドを実行できるようにします....
うまくいくかもしれないもう1つのこと(それが可能かどうかはわかりません):おそらく、構成ファイルの1つまたは2つのパラメーターのみを微調整したいでしょう。これらの 1 つまたは 2 つのパラメーターだけを別の場所 (php 書き込み可能) から読み取ることができるかどうかを確認してください。