PHP がファイルシステムにアクセス - 権限が拒否される

PHP がファイルシステムにアクセス - 権限が拒否される

インストールしようとしているツールの PHP の問題を追跡しようとしていますが、ファイルシステムの権限の問題に原因があると思われます...

これで、次の単純な .php ファイルが作成されました。

<?php
system("/bin/ls");
?>

これを実行すると、/var/log/httpd/error_log に次のエラーが表示されます。

sh: /bin/ls: Permission denied

実行するように PHP を変更する場合:

<?php
system("/bin/env");
?>

すると、期待していた出力が表示されます。

つまり、実行権限がないのではなく、実行ファイルが読み取ろうとしている内容に問題があるのです。

(ここで動作させようとしているツールは、phplicensewatcher です。これは、さまざまなライセンス管理デーモンで何が起こっているかを監視するツールです)

ありがとう

答え1

最初に確認する 2 つの点:

  • PHP はどのユーザーで実行されていますか? Apache によって生成された場合は、バージョンと構成に応じて、「nobody」、「www」、または「apache」として実行されている可能性があります。

  • どのディレクトリを一覧表示しようとしていますか? そのディレクトリの権限を確認してください。PHP を実行しているユーザーには、そのディレクトリにアクセスする権限がありますか?

関連情報