Достаточно ли разрешения 0700 или 0711 для защиты файлов конфигурации базы данных? - PullRequest
1 голос
/ 12 июня 2011

Как все мы знаем, что при совместном веб-хостинге файлы других пользователей (веб-сайтов) могут быть открыты другим, если у «других» есть разрешение (чтение).

Я думаю, что разрешение 0700 или 0711 - лучший способ (в виртуальном хостинге) защитить важные файлы, содержащие секретную информацию.

Я полагаю, что сервер использует suPHP или любой другой подобный модуль, поэтому UID процесса совпадает с владельцем файлов, к которым осуществляется доступ.

Так что вы говорите?

Ответы [ 2 ]

1 голос
/ 12 июня 2011

Вам понадобится выполнение права только для каталогов , если ваши файлы являются исходными файлами PHP, вам определенно не нужны права на выполнение.

0640 и 2750 обычно являются хорошими правами для соответственно файлов и каталогов (2 в правах каталога делают новые файлы наследующими пользователя и группу каталога).

То есть для файлов:

-rw-r-----

И каталоги

drwxr-s---

Что верно, если веб-сервер использует права группы и владельцем FTP-пользователя является такой пользователь. С Suexec и другими вы можете настроить эти параметры в зависимости от того, кто является владельцем и кто является веб-читателем (пользователь? Группа?), Веб-читателю не требуется доступ для записи, за исключением, возможно, некоторых определенных каталогов в зависимости от приложения.

И не забывайте, что права на файлы и каталоги - это только одна точка разделения пользователя в общей среде. Для среды PHP с использованием пользовательских настроек open_basedir , временных файлов и загрузки каталогов и пользовательских сеансов каталогов всегда хорошая идея (это можно определить в виртуальных хостах для каждого пользователя).

1 голос
/ 12 июня 2011

Вы правы.700 гарантирует, что никто не сможет read/write/execute этот файл, кроме владельца.Так что это было бы достаточно хорошо!В случае, если он должен быть выполнен, 711, иначе, 700.

Однако, если какая-то операция, связанная с этим файлом, завершится неудачно, вам следует рассмотреть 711.

РЕДАКТИРОВАТЬ: Как вы уже сказали,содержит строку подключения, вы можете смело предположить, что никому не нужно давать права на запись, и дать всем право на выполнение.Итак, 511 (то есть r_x __x __x) должно это сделать.

...