Назад | Перейти на главную страницу

Каковы идеальные разрешения для веб-сайта Linux / Apache, позволяющие работать в команде, но защищающие некоторые файлы

Мне трудно найти совет по поводу идеальных разрешений для структуры папок веб-сайта на RHEL5.

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

Я собирался создать группу www, добавить apache и всех пользователей в эту группу, добавить все файлы и папки в эту группу, а затем сделать файлы паролей db, принадлежащие apache, группе apache - однако я обнаружил, что если у каталога есть права на запись в группу www, они все равно могут удалить (и воссоздать) файл паролей.

Единственное решение - переместить файл паролей в собственный каталог и удалить разрешения на запись?

Из того факта, что вы упомянули «пароль базы данных», я предполагаю, что apache настроен для обслуживания каких-то динамически генерируемых страниц из каталога, в котором члены группы www имеют доступ на запись.

В этом случае вы не сможете сохранить секрет от членов группы www, где бы вы его ни разместили.

Члены группы могут просто загрузить вредоносный сценарий на сервер, который считывает пароль и пересылает его им (по электронной почте, ftp, http,…).

Если пользователи не могут загружать код на сервер, поместите их в песочнице, а не в файле паролей.

Вероятно, есть лучший способ сделать это, но если вы работаете на ext2 / 3, вы можете сделать файл неизменяемым, используя

# chattr +i file

Это означает, что файл нельзя изменить, удалить или переименовать, даже root. Если вы хотите изменить файл, вы должны сначала chattr -i файл