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

Безопасное владение файлами / наборы разрешений для разных файлов в / var / www

Я пытаюсь установить набор безопасных стандартов владения / разрешений для / var / www на моем сервере. Право собственности - apache или not-apache, а разрешения - от 000 до 777.

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

/ uploads / Каталоги apache: 666
(Значит, apache и разработчики могут читать / писать, но не выполнять?)

Файлы PHP not-apache: 665
(так что любой может выполнить, но только разработчики могут изменить?)

Файлы .htaccess и, возможно, JS и CSS? не-apache: 664
(apache может только читать, разработчики могут изменять?)

Первый не будет работать - вам нужно иметь возможность запустить каталог, чтобы открыть его (это то, что выполняет execute в каталоге unix).
Я бы порекомендовал добавлять разных пользователей в соответствующие группы (например, разработчиков), а затем давать «кому угодно» либо без разрешений, либо только для чтения (поэтому установите последнюю часть в 0). Если у вас есть только одна соответствующая группа, измените группу папки на эту группу и установите разрешения рекурсивно, чтобы делать то, что вам нужно. В качестве альтернативы, если вы используете дистрибутив на основе RedHat с включенным acl, посмотрите setfacl - он позволяет вам давать определенные разрешения для файлов / папок пользователям / группам. Два примера ниже:
setfacl -m user:john:r-x someFile.php
setfacl -m user:michael:--- michael_mustnt_read.txt
setfacl -R -m group:devs:rwx scripts/ - разрешить разработчикам полные разрешения внутри этого каталога.
setfacl -d -R -m group:devs:rwx scripts/ - то же, что и выше, но не вносит никаких изменений в существующие файлы, устанавливает разрешения по умолчанию для новых файлов.