В доступе для новых файлов php, загруженных пользователем ftp, отказано
Когда я пытаюсь загрузить php-файл с помощью vsftpd в / var / www / и зайти на файл с веб-сервера, я получаю эту ошибку,
Предупреждение: Неизвестно: не удалось открыть поток: в строке 0 отказано в доступе.
Неустранимая ошибка: неизвестно: не удалось открыть файл "/var/www/.../.../public_html/d.php" (include_path='.:/ Usr/share/php:/usr/share/pear') в Неизвестный в строке 0
я попытался chown -R www-data:www-data /var/www, после этого ошибка была исправлена, но я должен делать то же самое каждый раз, когда загружаю новый файл, есть ли способ исправить это для всех новых файлов?
1 ответ
Лучший способ - применить ACL к соответствующему каталогу.
Это установит значение по умолчанию, так что новые файлы и папки получат ACL, это говорит о том, что группа www-данных будет иметь права на чтение, запись, выполнение по умолчанию для всех файлов / папок из / var / www рекурсивно
sudo setfacl -Rdm g:www-data:rwx /var/www
Это установит ACL для существующих файлов и папок, это говорит о том, что группа www-данных будет рекурсивно читать, записывать, выполнять из / var / www для существующих файлов и папок.
sudo setfacl -Rm g:www-data:rwx /var/www