Каким должен быть chmod для папки, в которую PHP-скрипт в той же папке должен добавлять файлы?

Я разработал PHP-скрипт для добавления новых файлов на основе шаблона. Я запускаю его на локальном хосте. Мне было интересно, как лучше всего настроить chmod для папки, в которой находится скрипт (и куда должны идти новые файлы). 644 говорит, что в доступе отказано, 622 работает, 666 работает (я могу выбрать только 6, 4, 2 и 0 на панели «Информация» на моем Mac). Кстати, я заметил, что третье число имеет значение, как его настроить, чтобы оно было вторым или первым?

EDIT
Итак, как изменить chown на Mac на localhost?


person Agantacroxi    schedule 13.01.2013    source источник


Ответы (2)


Третье число относится ко всем (первые два — это владелец и группа). 4 только для чтения, поэтому это не работает, 2 только для записи и 6 для чтения/записи (7 для чтения/записи/выполнения).

В общем, вы не должны давать всем доступ на запись к вашему серверу. Лучший подход, когда требуется доступ для записи, — это использовать chown для изменения владельца и/или группы, чтобы они соответствовали пользователю, от имени которого работает ваш веб-сервер, а затем использовать 644 или 664.

Для Mac этот поток: Правильный владелец/группа/разрешения для файлов/папок сайта Apache 2 в Mac OS X? предоставляет несколько советов о том, как сделать это безопасно.

Если вы просто хотите изменить папку загрузки, попробуйте:

sudo chgrp _www /path/to/upload/folder
sudo chmod 664 /path/to/upload/folder
person PassKit    schedule 13.01.2013
comment
Это не файл php. Вам нужно сопоставить владельца каталога с пользователем веб-сервера. Обычно apache, www или www-data в зависимости от вашей серверной платформы. Синтаксис будет chown www-data:www-data /var/www/myUploadFolder/ - person PassKit; 13.01.2013
comment
спасибо, это сработало :) только одно: как вы меняете chown, когда он онлайн? а какой тогда был бы пользователь вебсервера (теперь это был _www)? - person Agantacroxi; 13.01.2013
comment
Это зависит от вашей ОС, на которой работает ваш веб-сервер, и от того, как был установлен и настроен Apache. Если вы используете хостинг-провайдера, это может быть даже ваше имя пользователя у этого провайдера. Скорее всего, на веб-сервере вам не нужно будет беспокоиться о chown. Сначала попробуйте 644 (по умолчанию), а если это не сработает, то 664 должен помочь. P.S. не забудьте принять ответы, если они работают на вас. - person PassKit; 14.01.2013

Дело не в chmod, а в chown. Владельцем этого каталога должен быть веб-сервер. Обычно это apache, или www, или www-data.
644 Рекомендуется для файлов.

person Alex    schedule 13.01.2013