Ошибка загрузки изображения из-за разрешения на запись

У меня есть функция загрузки изображений на моем сайте. Я попробовал это в моем localhost, и это работало хорошо. Теперь я принял его, и произошла следующая ошибка:

не удалось переместить загруженный файл, чтобы открыть поток отказано в разрешении

Я проверил ошибку онлайн и обнаружил, что, изменив chmod на 777, ее можно устранить.

Я попробовал то же самое, и это сработало. Даже просто 713 работает нормально. Но давать разрешение 777 не очень хорошо из-за возможностей взлома.

Это можно обойти? Сейчас я изменил chmod на 713, пока не смогу найти лучшее решение для того же.

В настоящее время я размещаюсь в облачной платформе Google с Ubuntu 16.04 image

1

Решение

Вы можете использовать 2 варианта.

1) вы можете изменить владельца из каталога загрузки на пользователя apache

chmod www-data:www-data your_folder

но это имеет некоторые негативные последствия. Ваш пользователь SSH может редактировать файлы здесь только с правами суперпользователя.

2) вы можете создать группу только для загрузки файлов и поместить в эту группу своего пользователя ssh и пользователя apache

sudo addgroup uploaders
sudo usermod -aG uploaders www-data
sudo usermod -aG uploaders your_user

после этого смените владельца папки загрузки

chmod your_user:uploaders your_folder

после этого вы можете изменить разрешения на 744 или что-то, что вы хотите

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]