dBi*_*dBi 4 permissions debian nginx php-fpm apparmor
我正在 Debian 上使用 nginx 和 php-fpm 运行共享托管服务器。
一切正常,php-fpm 为作为单独用户运行的每个用户提供了单独的池,并且他们每个人都有自己的袜子。
然而,Nginx 作为 www-data 运行,因为我不想为每个用户拥有单独的 nginx 进程。
这意味着为了让 nginx 能够访问用户数据,/home 的权限必须是 drwxr-x--x。问题是,所有用户都可以访问其他用户的文件。
在不授予其他用户访问权限的情况下,让 nginx 访问用户文件的最佳方法是什么。以 root 身份运行 nginx 不是一种选择。但是 AppArmor 会有帮助吗?
我更喜欢为此使用 ACL。例如:
setfacl -R -m user:www-data:rx,d:user:www-data:rx /home
Run Code Online (Sandbox Code Playgroud)
授予www-data用户读取文件和遍历目录下的权限/home,并将相同的 ACL 应用于以后创建的任何新文件或目录。
一旦应用,用户主目录不再必须是全局可执行的,(例如chmod o= /home/$USER)因此用户不能再读取彼此的文件,但 nginx 可以。
请注意,如果某些目录需要由 Web 服务器写入,您可以通过将两个权限实例更改rx为rwx. 例如:
setfacl -R -m user:www-data:rwx,d:user:www-data:rwx /home/user/public_html/wp-content/{cache,uploads}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4063 次 |
| 最近记录: |