我正在尝试为共享服务器上使用的所有文件夹设置正确的 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::---
现在网站工作正常,但我不确定我所做的是否正确?这种配置足以隔离用户相互读取文件吗?