почему я должен установить полномочия на 777, чтобы быть перезаписываемым

На моей последней человечности версия устанавливает в public_html папке, которую я должен установить полномочия папки на 777 для сценария для сохранения к определенным местоположениям в рамках общедоступных документов HTML. Почему это?

У меня создалось впечатление, что 755 был/должен быть хорошо для чтения и на общих хостинг-аккаунтах, который обычно имеет место, но в моей vps системе я должен сделать папки 777, чтобы заставить сценарий работать.

сценарий является phpmydirectory, но эта проблема верна для всех сценариев, которые я могу установить на vps.

Существует ли способ сделать папки 755 и перезаписываемый, поскольку я полагаю 777 быть проблемой безопасности?

Любые ценившие подсказки, спасибо.

0
задан 3 December 2016 в 19:07

1 ответ

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

, Например, если сценарий 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-данных, таким образом позволяя апачу (по) файлам записи в той папке.

1
ответ дан 28 September 2019 в 02:00

Другие вопросы по тегам:

Похожие вопросы: