0

によって実行されるシェルスクリプトを使用してディレクトリのアクセス許可を変更したいので、これはユーザーの下で実行されapacheます。残念ながら、パーミッションが に設定されているディレクトリがいくつかありrootます。

このスクリプトを実行する方法はありますか、rootまたは他に検討できる方法はありますか?

4

2 に答える 2

0

私は最近、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 で直接コマンドを発行することもできます。そのアプローチにより、例外を処理できます。

于 2016-05-18T11:04:40.553 に答える
0

https://en.wikipedia.org/wiki/Sudoというツールを探しsudoます。ただし、httpd が危険にさらされると、攻撃者が簡単に root 権限を取得できるため、sudo を使用する代わりに、アプリのアーキテクチャを再考する必要があります。

于 2013-07-30T12:40:44.733 に答える