我正在设置共享主机。我的用户可以通过 SFTP 访问服务器来上传他们的内容。我正在使用单独的 PHP 进程作为各自的用户(每个站点一个)运行。我希望用户默认看不到其他用户的内容(除了通过网络服务器作为任何其他非特权客户端),但网络服务器(作为 www-data 用户/组运行)应该能够读取所有内容。现在,我将 www 中的文件的所有权授予特定用户,并将组所有权授予 www-data,并使用 set GID 位将组所有权传播到新文件/目录(用户不在 www-data 组中)。
它工作得很好,但现在我面临一个问题。一些网站正在使用 wordpress,当他们上传文件时,设置的 GID 位会丢失,这意味着 Web 服务器无法访问它。有没有办法将 PHP 或 wordpress(更有可能)配置为 chmod 文件和目录到正确的权限?
注意:我没有在 PHP 中使用安全模式,所以应该可以添加设置的 GID 位。
更新:我尝试在 wordpress 配置中调整FS_CHMOD_DIR和FS_CHMOD_FILE值。我认为这将允许我将上传的文件更改为我想要的任何内容。但是,它并不影响新上传文件的权限。根据codex中的信息,我猜这些设置仅适用于核心更新功能。
谢谢!