공유 서버에서 사용되는 모든 폴더에 대해 올바른 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
권한은 0 으로 설정되므로 -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::---
이제 사이트는 잘 작동하지만 내가 하고 있는 일이 올바른지 잘 모르겠습니다. 이 구성은 사용자가 서로 파일을 읽지 못하도록 격리하기에 충분합니까?