2016-01-20 3 views
2

В моем приложении PHP я использую file_put_contents() для создания файла для отображения, содержащего blob, извлеченный из таблицы в моей базе данных. Однако в настоящее время, чтобы заставить функцию работать на моем экземпляре Amazon EC2 Ubuntu, я должен был предоставить папку, которую он пишет, в разрешения 777. Однако я знаю, что это очень плохо, и я хочу изменить это, но я не знаю, что делать.Ubuntu - Правильные разрешения для использования file_put_contents

Я новичок в Linux, и сейчас я просматриваю свой экземпляр с помощью Google. Это часть университетского задания, поэтому я не могу просто нанять эксперта по Linux (на всякий случай один из вас говорит, что я не должен использовать такой экземпляр, если я не знаю Linux!)

ответ

1

Предполагая, что вы используете это из браузера с обычными HTTP-запросами, вам нужно выяснить, что такое пользователь, который использует веб-сервер. Возможно, что-то вроде apache, www-user или что-то подобное.

Затем вы можете сделать 2 вещи:

  • Изменить права собственности на каталог, в котором вы хотите сохранить файл пользователю веб-сервера, а затем он может иметь права 755
  • изменить группу каталог в группу веб-сервера, а затем в каталог требуется 775.
+0

Я использовал 'sudo chmod -R 755/var/www/html/public', это достаточно или мне нужно найти пользователя веб-сервера? Потому что я не уверен, что это. Я попробовал как 'www-user', так и' apache' вместе с командой 'chown', но SSH-терминал говорит, что ни один пользователь не распознается. – RoyalSwish

+1

@RoyalSwish Нет, вам нужен пользователь веб-сервера, иначе он не сможет писать в этом каталоге. Вы можете попробовать '$ ps aux' в командной строке, чтобы увидеть, какие процессы запущены, и веб-пользователь должен быть очевиден из результатов. – jeroen

Смежные вопросы