Нет, нет смысла использовать 0664
для каталогов.
Вам, скорее всего, понадобится флаг X, потому что вы хотите иметь возможность получить список каталогов. «Выполнение» каталога не имеет ничего общего с выполнением программы. Отключение X-флага для каталога не повлияет на выполнение программ, хранящихся внутри.
Вы должны определить, какая учетная запись фактически связана с доступом к файлам. Эта учетная запись может быть владельцем некоторых файлов и владельцем каталогов этих файлов. Все, что делает PHP, будет выполняться от имени этого пользователя. Так что не имеет значения, ограничиваете ли вы доступ к файлу для группы или мира (он же 0700
). С другой стороны, ваш доступ к FTP может быть не тем же пользователем, а только общей группой. В этом случае раздражает идея ограничить доступ этой группы к файлам, потому что вы не можете читать, писать или удалять их.
Если вы разрешаете пользователям использовать средство загрузки на ваш сервер и не можете гарантировать, что эти файлы никогда не будут выполнены, вам, вероятно, не следует предлагать эту услугу. Использование флагов доступа не улучшит ситуацию, потому что PHP не нужен флаг X, ему нужно только, чтобы файл был читабельным. Итак, если FTP-сайт должен быть полезен, необходимо иметь возможность читать файлы, иначе зачем их загружать?
Обратите внимание, что обычная служба загрузки/выгрузки по FTP отделяет загрузку от загрузки. Загрузка — это односторонняя операция, при которой файл помещается на сервер, но не доступен. Администратор должен проверить загрузку и переместить ее в область загрузки, где она доступна только для чтения. Никто не может инициировать выполнение любого файла, потому что сервер будет игнорировать любые исполняемые флаги и просто отправит байты такого файла обратно.
person
Sven
schedule
28.02.2016
644
в каталоге имеет значение? У меня были php-файлы со всевозможными настройками разрешений на сервере cpanel, и они всегда работали нормально, и это 644 для самих php-файлов! - person Aaron Gillion   schedule 28.02.2016