Ubuntu でグループの書き込み権限が無視されるのはなぜですか?

Ubuntu でグループの書き込み権限が無視されるのはなぜですか?

ユーザーにローカルの Apache ルート フォルダーへのフル アクセスを与え、Apache ユーザーにも同じフォルダーへのフル アクセスを与えたいと思います。

私がやったことは、DevGroup という新しいグループを作成し、www-dataそこに自分のユーザーを追加することでした。また、グループへの完全なアクセスを許可するために、権限を 770 に変更しました。

しかし、今では私や Apache ユーザーはフォルダーに一切アクセスできなくなりました。

私が得た結果は次のとおりですls:

drwxrwx--- 12 root      DevGroup    4096 Sep 27 17:34 testFolder

これは完璧に思えますが、ユーザーとしてファイルにアクセスしようとすると、次のメッセージが表示されます。

var/www$ ls testFolder/
ls: cannot open directory testFolder/: Permission denied

また、ブラウザからフォルダ内のページにアクセスしようとすると、次のようになります。

[Thu Sep 27 17:47:16 2012] [error] [client 127.0.0.1] PHP Fatal error: 
 Unknown: Failed opening required '/var/www/testFolder/foo.php' 
(include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

問題は何ですか?どうすれば解決できますか?

答え1

あなたが説明した内容は機能するはずですが、新しいグループ メンバーシップを取得するには、ログアウトして Apache を再起動する必要があるかもしれません。

このフォルダが Web ルートの下にある場合は、それを Web サーバーの「プロパティ」と見なすのが妥当です。そのため、このフォルダをユーザー www-data とグループ DevGroup が所有するようにしておくと、Web サーバーが常にこのフォルダにアクセスできるようになります。

関連情報