我有一个共享的主机服务器,CentOS linux和cPanel使用mod_php运行Apache。我们使用linux的用户配额来强制每个网站保持在他们购买的磁盘空间的数量之内。然而,许多网站有文件上传系统,无论是公开的还是在他们的管理员(例如CMS软件)。因为这个软件是在mod_php下运行的,所以上传的文件最终属于Apache用户,因此不计算用户的磁盘配额。
我认为解决这个问题的唯一方法是编写一个脚本,它可以查看/home和chowns中的每个目录-- public_html中的所有文件,以便它们被正确的用户所拥有,然后让这个脚本每小时通过cron运行。在我写这样一个脚本之前,有没有更好的解决方案?(或者是否存在这样的脚本?)
编辑:我必须能够运行mod_php。CGI不是一个选项。
发布于 2009-08-31 23:06:40
尝试使用mod_suphp (或在适当情况下使用mod_suexec )。将导致apache在适当的用户下运行,因此它们的文件所有权将是正确的。
发布于 2009-09-01 05:21:02
基本上,如果你不能在CGI模式下运行PHP,你就完了。您不能对文件执行chown操作,因为之后get服务器无法修改它们(对于某些应用程序来说这是很重要的),除非您希望对您的权限和umask感到非常奇怪,并且必须在未使用正确的umask预先配置时处理权限SNAFUs。
不过,您对在CGI模式下运行PHP的反对是没有根据的;我为一家拥有多个共享主机服务器的公司工作,我们通过suexec运行PHP,而且没有客户抱怨缺乏特性。是的,它稍微慢了一点,但是大多数PHP应用程序效率低下的噪音使启动开销消失了。
https://serverfault.com/questions/60969
复制相似问题