Web ページにアクセスして呼び出すことができる、サーバーにいくつかの変更を加えるスクリプトを作成しようとしています。
ただし、php スクリプト内でシェル コマンドを実行しようとする apache ユーザーのアクセス許可に関して、多くの問題に遭遇しました。サーバーによっては、ユーザーが wwwrun または wwwdata の場合があります。
たとえば、ディレクトリを に変更したいのです../subdomains/$url/httpdocs/
が、その後の を実行すると、pwd
ディレクトリが変更されていません。他のディレクトリを一覧表示することはできますが、フォルダに対するアクセス許可により、ほとんどの変更を行うことができません。
ただし、手動でサーバーにアクセスしてフォルダーを chmod することはできません。フォルダーは、他の変更を行う直前にシステムによって自動的に生成されるはずだからです。
最初に、/etc/sudoers を編集してみました。これは、実際に場所を知っているマシン上の実行可能ファイルに対して機能しました。ただし、すべての検索にもかかわらず、cd などの実行可能ファイルに組み込まれている BaSH の場所が見つかりません。しかし、これはニシンだと思います。これらの機能を sudoers ファイルに追加するのは、おそらくセキュリティ上良くないでしょう。
おそらく、apache suEXEC が最適です。しかし、私はサーバー管理の旅にあまり詳しくなく、私のスキル レベルの誰かがサーバーをインストールしてセットアップするための適切なガイドを見つけられませんでした。
また、最初のphpスクリプトから呼び出すことができるシェルスクリプトを作成しようとしましたが、それをまったく機能させるのに苦労しています。私はそれを使い続けますが、元のファイルを機能させることができるし、できるはずだと感じています。
テキストの壁で申し訳ありません。ご協力いただきありがとうございます。