CentOS – Apache – 是否可以将umask指令添加到httpd.conf或vhost.conf文件中?

昨天,我终于能够通过在/ etc / sysconfig / httpd脚本中将umask设置为002来让我的apache进程将文件写入目录,但是我想知道是否可以在configuration层设置此umask指令?

我正在寻求这样做的可移植性的原因,因为我的虚拟主机configuration版本控制和发布到远程服务器。 我宁愿不被迫手动configuration每个服务器的httpd脚本(没有木偶)。

谢谢。

– 编辑 –

使用Ruby / Capistrano来部署代码和configuration文件

在创build用户上传的文件时使用PHP mkdir()。

而不是将目录设置为777,我正在创build将拥有该目录的特定“文件pipe理器”用户/组。 然后将apache用户添加到组中。 如果我不设置umask为002,那么我得到权限拒绝错误,因为apache用户!= filer用户,但apache用户在文件pipe理组。

由于您使用的是PHP代码,因此您可以根据需要使用PHP函数chmod()umask()

主要的Apache umask似乎只能按照你已经想出的方式进行configuration,而不是configuration本身的任何地方,所以在应用程序/代码中这样做是最好的方法。