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

Лучшие и правильные настройки разрешений для каталога

Мне интересно знать правильные, но безопасные настройки для каталога. Вот мой сценарий:

  1. У меня есть имя пользователя для доступа по FTP к моему серверу под названием «пользователь».
  2. Для целей сценария PHP работает на моем сервере как «никто».
  3. У меня есть каталог в корне документа под названием «образец».
  4. Каталог "образец" chmod'd в 0755 (drwxr-xr-x)
  5. «Образец» принадлежит «пользователю», а группа установлена ​​как «пользователь»

Вышеупомянутое все очень просто и стандартно.

Итак, я хочу, чтобы сценарий мог создавать (mkdir) и удалять (rmdir) каталоги в разделе «sample». Тем не менее, я не хочу явно чрезмерно выставлять свой сервер, открывая разрешения (я мог бы легко chmod sample на 0777 и сделать его доступным для записи во всем мире).

Какая наилучшая комбинация разрешений, настроек владельца и / или настроек группы позволяет моему сценарию создавать и удалять каталоги в «образце», сохраняя при этом возможность для «пользователя» продолжить использование FTP в каталоге?

Спасибо.

В подобных ситуациях я использовал поддержку FTP-клиента PHP для работы с файлами. Так что в основном я позволяю PHP нормально загружать файлы в каталог, в который он может писать. Затем я использую FTP локально, чтобы переместить файл в соответствующее место (после проверки файла). Это лучше всего работает, если вы не открываете доступ к FTP для внешнего мира.

Лучше всего запускать скрипт от имени пользователя «пользователь». Если вы используете Apache, это можно сделать с помощью модуля suEXEC: http://httpd.apache.org/docs/2.2/suexec.html.

Чтобы использовать PHP, вы должны запустить PHP как CGI. Обычно это означает отключение mod_php, но в конце концов есть способ переключаться между mod_php и php-cgi с разными расширениями (например, .cgi или .phpcgi). Не пробовал, так что это просто идея.

Возможно, это уже то, что вы делаете, но вот мысль. Если к содержимому образца можно получить доступ только через FTP, вы можете переместить этот каталог за пределы корневого каталога документов веб-сервера и использовать свой 0775 с владельцем = пользователь и группой = никто не планируют. Сценарий php сможет писать, пользователь сможет использовать FTP, а внешний мир не сможет получить образец через веб-сервер.