phpによって実行されるシェルスクリプトを使用してディレクトリのアクセス許可を変更したいので、これはユーザーの下で実行されapache
ます。残念ながら、パーミッションが に設定されているディレクトリがいくつかありroot
ます。
このスクリプトを実行する方法はありますか、root
または他に検討できる方法はありますか?
phpによって実行されるシェルスクリプトを使用してディレクトリのアクセス許可を変更したいので、これはユーザーの下で実行されapache
ます。残念ながら、パーミッションが に設定されているディレクトリがいくつかありroot
ます。
このスクリプトを実行する方法はありますか、root
または他に検討できる方法はありますか?
私は最近、PHP が実際の Bash シェルを取得して対話できるようにするプロジェクトを公開しました。ここから入手してください: https://github.com/merlinthemagic/MTS
ダウンロードしたら、次のコードを使用するだけです。
$shell = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1 = $shell->exeCmd("/path/to/script");
//the return will be a string containing the return of the script
echo $return1;
または、単純にスクリプトをバイパスして、シェルを介して PHP で直接コマンドを発行することもできます。そのアプローチにより、例外を処理できます。
https://en.wikipedia.org/wiki/Sudoというツールを探しsudo
ます。ただし、httpd が危険にさらされると、攻撃者が簡単に root 権限を取得できるため、sudo を使用する代わりに、アプリのアーキテクチャを再考する必要があります。