我正在嘗試為共享伺服器上使用的所有資料夾設定正確的 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::---
現在網站工作正常,但我不確定我所做的是否正確?這種配置足以隔離使用者相互讀取檔案嗎?