サーバー上でPHPスクリプトを実行しているユーザーが何人かいますが、スクリプトがwwwディレクトリ内のファイルにのみアクセスできるようにロックダウンしたいと思います(Linuxユーザーアカウントは使用しません。したがって、ホームディレクトリはありません)。
open_basedir
は当然の選択のようですが、スクリプトの実行元に基づいてそのパラメーターを設定するにはどうすればよいですか?明らかに、open_basedir
の値はユーザーごとに異なります。
Ubuntu11.04でPHP5-FPM(nginxが接続するFastCGIプロセスとしてのPHP5)を実行しています
どんな助けやアドバイスもありがたいです!
私は解決策を発見しました-ファイルパスまたはリクエストホストに基づくphp.iniディレクティブ。 ドキュメント から:
[Host=dev.site.com]
open_basedir = /var/www/dev.site.com
または
[PATH=/var/www/dev.site.com]
open_basedir = /var/www/dev.site.com
Apacheを使用していると仮定すると、各VirtualHostインスタンス内で次のように設定できるはずです。-
php_admin_value open_basedir /path/to/restrict/to
ユーザーはchdir
でディレクトリを変更できるため、.
を使用したいという誘惑に抵抗してください。
http://php.net/manual/en/ini.core.php もう少し情報があります。