Назад | Перейти на главную страницу

Как я могу установить разрешения по умолчанию для файлов, загружаемых apache2?

Когда я загружаю файлы через php, он записывает файл с правами 644 (-rw-r - r--).

У меня настроена папка / var / www / html с setgid, поэтому все загруженные файлы относятся к группе, которой должен быть разрешен явный доступ (FTP и т. Д.). Однако разрешения 644 не позволяют группе файла записывать, что является проблемой.

Как я могу настроить apache2, чтобы все файлы / каталоги, созданные www-data в папке / var / www / html, имели установленные для них разрешения 775 (-rwxrwxr-x)?

Я запускаю Ubuntu 14.04 на виртуальной машине DigitalOcean с Apache 2.2.

Apache наследует umask из его родительского процесса (то есть процесса, запускающего Apache). Обычно это должен быть /etc/init.d/{apache,httpd} сценарий. Таким образом, вы можете поместить в этот сценарий команду umask.

# echo "umask 002" >> /etc/init.d/httpd

а потом:

# /etc/init.d/httpd restart

Или вы также можете запустить эту команду:

# echo "umask 002" >> /etc/sysconfig/httpd

а потом

# /etc/init.d/httpd restart

Вы можете изменить разрешения после загрузки файла с помощью функции php chmod.
http://php.net/manual/en/function.chmod.php