3

こんにちは私はPHPスクリプトからshell_execコマンドを使用しています:

$output = shell_exec('ls -l');
print_r($output);

ターミナル:php test.php

これにより、期待どおりにディレクトリが一覧表示されます。

ブラウザに切り替えても出力がありません。

特定のコマンドを実行できるようにユーザー「apache」に特権を付与するか、そのような特権を持つグループにユーザーを追加する必要があります。グループなどにユーザーを追加する方法を知っています。apacheユーザーにそのような特権を付与するためのベストプラクティスの方法は何でしょうか。

4

2 に答える 2

0

これは私が理解するのに少し時間がかかったので、他の人に役立つかもしれません。

問題は、私が/ etc / sudoersでapacheユーザー特権を与えようとしていて、SELinuxがそれらを(かなり正しく)拒否していたことでした。

そのため、私はすぐにhttpdのSELinuxを無効にし、すべてが機能していました。

これは、パブリックWebサーバーにとっては理想的な状況とはほど遠いものです。

ベストプラクティスとしては、audit2allowを使用して許容操作を設定する必要があります。

于 2010-10-22T08:10:10.343 に答える
0

目的のディレクトリでls-Zを実行すると、そのディレクトリに対するSELinuxのアクセス許可が表示されます。

httpd / apacheデーモンがそのディレクトリにアクセスできるようにするには、実行できます(-Rオプションは再帰的にするためのものです)。

chcon -Rv --type=httpd_sys_content_t /desired/path

それが役に立てば幸い。

于 2013-01-24T11:33:28.453 に答える