Почему в 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, чтобы они приняли новое членство в группах.

Если эта папка находится в корневом каталоге веб-сервера, то разумно считать ее «собственностью» веб-сервера, поэтому вы можете оставить ее владельцем пользователя www-data и группу DevGroup, это гарантирует, что веб-сервер всегда сможет получить к ней доступ.

Связанный контент