2015-05-04 2 views
-2

После этого SO answer пользователь, под которым запускается Apache, не может быть разрешен для записи в любые файлы. Что очень хорошо с точки зрения безопасности, однако каким образом веб-приложение PHP, которое позволяет загружать файлы, может работать с такой настройкой?Песочница Apache и загрузка файлов на VPS

инструмент для виртуализации, как linux-vserver или OpenVZ (как это было предложено here) будет одна альтернатива, однако я не уверен насчет потери производительности, так как мой linux коробка уже работает внутри virtual machine.

Другой подход, который пересек мой разум будет использовать процесс, который выполняется под учетной записью пользователя с правами на запись на папку uploads, и есть мои PHP скрипты общаться с ним через IPC.

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

ответ

1

Дайте пользователю или группе php-код, выполнив доступ для записи в одну папку uploads и отключив выполнение php для этого каталога.

Если вы используете mod_php, это будет пользователь Apache.

Если вы используете PHP-FPM это может по умолчанию пользователю Apache, но это, конечно, может быть изменен (даже в бассейн, если у вас есть несколько пулов для различных приложений/сайтов)

+0

Хм .. простой и эффективный :) – Cristik

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