我目前正在尝试配置 Apache,以便它仅在特定目录中使用特定用户和组。
例如,如果访问 RoundCube(我使用在 conf-available 中配置的 /mail 别名,这意味着可以从所有网站,它存储在 /opt/roundcube 中),Apache 应该使用 www-data 用户。但是,如果访问站点的任何其他部分(将存储在 /var/www/... 中),Apache 应该使用相应 sites-available 中的 User 和 Group 指令。但问题是 sites-available 的优先级高于 conf-available,这意味着当遇到两个 User 或 Group 指令(一个在 conf 中,一个在 sites 中)时,将使用 sites-available 指令。
问题在于 RoundCube 可以从所有站点访问,因为我使用特定于站点的用户(例如 example.com 使用用户 exmpl)并且 RoundCube 没有读取配置文件的权限(因为该文件当然归 www-data 所有,而错误的用户正试图访问该文件)。