我有一个通过 Tomcat 部署的 Web 应用程序,允许在目录中上传文件。这些文件由 Tomcat 及其所有者和权限files
上传。我需要维护该组,因为其他用户出于管理目的需要它。tomcat:tomcat
640
tomcat
在下载方面,我有一个 Nginx 为用户提供文件。
问题是 Nginx 无法访问上传的文件,因为它使用了用户www-data:www-data
。
- 出于安全原因,我无法加入
www-data
该群组。tomcat
- 我无法用
tomee
组代替www-data
,因为我需要组tomee
,而我不能让 tomee 创建www-data
组下的所有文件(例如,tomee 会在 下创建日志tomee:www-data
,这是不受欢迎的 - 在任何情况下只有上传才会有这种情况) - 出于安全原因,我不能
others
授予对文件的任何权限。无论如何,我都无法更改默认的640
Tomcat 掩码,因为(Tomcat 设计不好?)它会影响 Tomcat 创建的每个文件。 - 我可以使用
chmod g+s
,但这似乎不会递归地影响文件(Tomcat 还会创建目录,然后上传文件)
我该如何解决这个问题?
答案1
我想我已经解决了它,但在接受解决方案之前需要做更多的测试。
sudo apt install acl
(基于 Ubuntu)sudo chown tomcat:www-data files
sudo chmod g+s files
sudo setfacl -Rm d:g:www-data:r files