2012-03-10 9 views
0

私はここで少し困惑しています。しかし、それは私の経験の欠如かもしれません。dso(mod_php)とFTP /ファイルのアクセス許可

私はPHP DSO(mod_php)をセットアップしており、サーバはスムーズに安定して動作します。ただし、includeとすべてを含むPHPを実行するには、すべてのユーザーアカウントファイル(/ home/*/public_html/*)の所有者をnobody:nobodyに設定する必要がありました。

これは私にとって2つの質問を紹介します: - これは本当に必要ですか?私はむしろそれらのユーザーを持っているだろう:ユーザー - FTPについてはどうですか?私がFTPを使ってファイルをアップロードすると、それらはuser:userによって所有されているので、別のPHPファイルに含めることはできません(エラーを投げます)。誰も所有していないファイル:誰もftpで変更できません。

FYI:SuEXECも有効にしています。これを無効にすべきですか?

FYI2:すべての権限を777に設定することができますが、それは間違っています。

ありがとうございます!

+0

[この回答を見る](http://stackoverflow.com/questions/4453078/how-can-i-tell-apache2-run-mod-php5-by-default-but-run-this-vh- in-cgi-mode/4453201#4453201)。それは私がここで答えていたはずのものです。 ([またはこれは](http://stackoverflow.com/questions/4711609/running-exec-as-a-different-user/4711677#4711677))。 –

+0

ありがとう、私はOpPache(eAccelerator)を使いたいので、SuPHPからDSOに切り替えました。私は本当に権限が何であるべきかを知る必要があります。 – eleven59

+0

その場合、* 1つの*異なるユーザーがPHPを実行して実行することしかできません。私はあなたが走っているディストリビューションを知っていませんが、一般的にApacheのワーカーが動いているグループ(Debian: 'www-data')を紹介しています。 Apacheが実行している現在のグループ(明らかに "誰も")をすべてのユーザーに共通に共有するものに変更し、対応するPHPファイルを少なくとも 'rw-r -----'または '0640'に設定したい場合があります。 –

答えて

0

通常の "nobody"は実行ファイルを読み込み、phpで変更できるファイルのみを書き込み/所有するべきです。ほとんどのファイル所有者はftpユーザーである必要があります。

実行ファイルを変更するためのphp権限を保持するのは悪いことです。

また、 "nobody"がrootとして実行する権利を持っている場合は、php(したがってユーザ)にすべての権利を与えます。

+0

私はあなたが言っていることを理解していません。これを言い換えることができますか? – eleven59

+0

あなたは、ほとんどの場合、php(誰も実行していない)があなたのアプリを実行するためにphpファイルだけを読むべきであることを理解していますか? – Electronick

+0

はい。しかし、私の質問は_what_パーミッションと所有者です。私はPHPファイルではなく、_which_ファイルで設定する必要があります。 – eleven59

関連する問題