![SSH 上传、Apache 和 Tomcat 进程的“用户”状况混乱](https://linux22.com/image/1291363/SSH%20%E4%B8%8A%E4%BC%A0%E3%80%81Apache%20%E5%92%8C%20Tomcat%20%E8%BF%9B%E7%A8%8B%E7%9A%84%E2%80%9C%E7%94%A8%E6%88%B7%E2%80%9D%E7%8A%B6%E5%86%B5%E6%B7%B7%E4%B9%B1.png)
我处于一个涉及 Apache 和 Tomcat 6 的混乱境地。我使用 Apache 服务 PHP 项目。
我使用 Tomcat 来运行 Solr,这是一个用于搜索的 RESTful 接口。我将PHP 应用程序内的 Solr 索引。这很有用,因为与项目相关的所有代码和数据都存储在一个目录中。而且它在我们的 Windows 开发机器上运行顺畅。
但在我的 Linode Ubuntu VPS 上,情况就变得棘手了。我以根使用 SSH,并且我在该会话中写入的所有文件均归根。 但是之后,
- 所有 PHP 目录都需要可由www-数据,Apache 以此身份运行。
- Solr 索引需要可读可写tomcat6,Tomcat 以此身份运行。
因此,我部署新项目的流程是:
- 登录身份根使用 SSH 并将文件复制到 www
- 使用 chown 使项目归www-数据
- 使用 chown 使 Solr 索引子目录归tomcat6
让这一切变得简单的明显方法是创建一个新用户二十并运行 Apache 和 Tomcat二十并将其上传至 SSH二十。有什么好的解决方案,以便我可以简单地上传文件,以便 Apache 和 Tomcat 都可以直接使用它而无需任何进一步的设置?
答案1
将 www-data 和 tomcat6 放在同一组中,并将您的用户(或 root)添加到该组。
sg
这样umask
,您复制的文件就会获得正确的组并且是 g+rw。