На моей последней человечности версия устанавливает в public_html папке, которую я должен установить полномочия папки на 777 для сценария для сохранения к определенным местоположениям в рамках общедоступных документов HTML. Почему это?
У меня создалось впечатление, что 755 был/должен быть хорошо для чтения и на общих хостинг-аккаунтах, который обычно имеет место, но в моей vps системе я должен сделать папки 777, чтобы заставить сценарий работать.
сценарий является phpmydirectory, но эта проблема верна для всех сценариев, которые я могу установить на vps.
Существует ли способ сделать папки 755 и перезаписываемый, поскольку я полагаю 777 быть проблемой безопасности?
Любые ценившие подсказки, спасибо.
Я пытаюсь предположить: у пользователя, выполняющего Ваш сценарий, кажется, нет необходимых полномочий.
, Например, если сценарий PHP, выполненный апачским веб-сервером, используется для загрузки файлов на определенный subdir, то это subdir должно быть доступно для доступа для чтения-записи к апачскому пользователю (обычно "апач" или "www-данные").
[редактирование]: когда Вы выполняете веб-сервер, как апач, например, только выполнения родительского процесса как "корень", дочерний процесс (который является на самом деле тем, о котором Вы заботитесь собирающийся выполненные сценарии PHP), обычно работает с "www-данными" uid на ubuntu/debian платформах.
ps auwx | grep apache | grep -v grep
root 1606 0.0 0.0 63520 3020 ? Ss déc.01 0:16 /usr/sbin/apache2 -k start
www-data 22325 0.0 0.0 352676 4232 ? Sl 06:25 0:02 /usr/sbin/apache2 -k start
www-data 22326 0.0 0.0 352676 4228 ? Sl 06:25 0:02 /usr/sbin/apache2 -k start
и это объясняет, почему это не может записать в Ваш определенный subdir в Вашем public_html, если тот определенный subdir не принадлежит тому пользователю "www-данных" или группе.
Для фиксации этого например, можно установить атрибут "группы" subdir к "www-данным" и установить разрешение записи на ту группу:
sudo chgrp -R www-data ./public_html/my_files
sudo chmod -R g+w ./public_html/my_files
предупреждение: Путем выполнения этого Вы рекурсивно изменяете атрибут группы./public_html/my_files к www-данным и позволяете доступ для записи пользователям, принадлежащим группе www-данных, таким образом позволяя апачу (по) файлам записи в той папке.