Я пытаюсь установить правильный ACL для всех папок, используемых на моем общем сервере. Таким образом, другие пользователи не смогут читать файлы друг друга. Что я сделал до сих пор, так это следующее:
Владельцем каждой папки веб-сайта является отдельный пользователь и группа:
ls -l crm
drwxr-x--- 3 crm crm 4096 Jan 6 04:54 crm
drwxr-x--- 3 mdf mdf 4096 Jan 8 00:26 mdf
drwxr-x--- 3 dba dba 4096 Jan 6 04:54 dba
Разрешения установлены на -rwxr-x---
, поэтому у других разрешение равно 0.
Но поскольку Apache ( www-data
) требуется разрешение на выполнение, по умолчанию это работать не будет ( error: AH00035
).
Поэтому я решил использовать setfacl и дать www-data права на выполнение и чтение:
setfacl -R -m u:www-data:rx /var/www/crm/
getfacl выдаст:
# file: crm
# owner: crm
# group: crm
user::rwx
user:www-data:r-x
group::r-x
mask::r-x
other::---
Сейчас сайт работает нормально, но я не уверен, что то, что я сделал, сделано правильно? Будет ли такой конфигурации достаточно, чтобы изолировать пользователей от чтения файлов друг друга?