Я хочу, чтобы у моего пользователя был полный доступ к локальной корневой папке 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 ответ1

2

То, что вы описываете, должно работать, но вам может потребоваться выйти из системы и перезапустить apache, чтобы они могли получить новые членства в группах.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .