Как добавить права на запись в php / apache? [дубликат]

У меня есть следующий сценарий:
Там есть папка с именем «uploads». Он принадлежит «root», а его группа - «webmasters». Разрешения установлены на 755.

drwxrwsr-x  2 root webmasters 4096 Mar 20 22:49 upgrade

С этой настройкой я не могу создавать файлы с помощью php в "обновлении". Если я изменю права доступа на 777, я смогу создавать файлы при обновлении.

Но дело обстоит так:
Мой Apache работает как www-data. Поэтому я добавил группу веб-мастеров в качестве основной к пользовательским www-data.

root@mymachine: /var/www# id www-data
uid=33(www-data) gid=1002(webmasters) groups=1002(webmasters),33(www-data)

Так зачем мне устанавливать разрешения «апгрейд» на 777? Если в папке «upgrade» есть группа «webmasters», а пользователь «www-data» имеет группу / is in the group webmasters, а права доступа установлены на 775, тогда все члены группы веб-мастеров должны получить права «7» и должен уметь читать, писать и выполнять.

Я уже перезапустил свою машину, поэтому я уверен, что все назначения групп правильно распознаются системой. Так что я делаю не так?

edit: // Когда я меняю группу с "webmasters" на "www-data", я получаю права на запись с номером 775. Когда я снова переключаю группу на webmasters, это не работает. Вопрос в том, почему? Пользовательские www-данные есть в обеих группах - www-data и webmasters.

0
задан 20 March 2013 в 14:11
1 ответ

Apache is running as the www-data user and the www-data group. The group is explicitly specified in its config and adding the user to more groups won't affect this.

You can change the group that Apache runs as in its httpd.conf.

1
ответ дан 23 November 2019 в 10:17

Теги

Похожие вопросы