如何在安装了webroot的apache中更改上载文件的默认权限?

如何在安装了webroot的apache中更改上载文件的默认权限?,apache,file-permissions,Apache,File Permissions,我有一台带有Apache2.2.20、PHP5.3.6的ubuntu服务器11.10,并安装了Joomla cms。我使用了一个额外的硬盘作为我的web服务器存储,并将其装入/data/www/(我希望这不是我的问题所在!) 我已经将我的web根目录中的所有文件和文件夹的权限设置为755,并且这些文件和文件夹的用户组设置为[默认ubuntu用户(在我的示例中为radio)]:www data 在过去的几天里,joomla没有显示新上传的图片和其他文件,我遇到了严重的问题,而且我无法安装任何扩展。

我有一台带有Apache2.2.20、PHP5.3.6的ubuntu服务器11.10,并安装了Joomla cms。我使用了一个额外的硬盘作为我的web服务器存储,并将其装入/data/www/(我希望这不是我的问题所在!)

我已经将我的web根目录中的所有文件和文件夹的权限设置为755,并且这些文件和文件夹的用户组设置为[默认ubuntu用户(在我的示例中为radio)]:www data

在过去的几天里,joomla没有显示新上传的图片和其他文件,我遇到了严重的问题,而且我无法安装任何扩展。经过数小时的搜索,我发现上传的文件没有适当的权限(它们是-rw-----),Joomla应用程序在上传后无法读取、复制或移动它们

我想知道如何设置默认权限,以便我上载的所有文件都使用它


PS:我已经测试过umask,但它什么也没做。我认为这与我的问题无关。

实际上我也有同样的问题。我使用plesk共享主机。我做了大约20个小时的研究,并就需要做什么提出了一些答案。首先,apache处理的任何内容都会自动提供给apache用户组。这很好……问题是apache将php作为一个模块处理,因此,一旦通过apache使用php执行操作,就无法更改。最适合我的修复方法是更改php和apache以使用fast cgi执行,然后在上传完成后更改apache分配的默认权限

你可以采取的第二种方法是先浏览所有内容,然后使用ftp进行安装。我在使用这种方法时遇到的主要问题是,因为joomla在通过php执行命令时使用apache…,使用ftp作为安装程序添加的任何新文件都将通过它授予权限,因此不允许apahe/php对其进行任何更改,除非这些文件被授予777权限,这是一个安全问题

它是这样工作的……举个例子。您可以通过ftp安装组件。因为ftp用户名现在被指定为所有者。Apache不被视为用户组或所有者的一部分。因此,如果您想使用joomla进行更改…必须为其分配777个权限。我发现了这一点,因为我想我会把所有的东西都放到我的ftp上,当我回到joomla,转到系统信息…它说所有的东西现在都不可写了


希望这对你有帮助…你只需四处看看,看看什么效果最好

谢谢你的回答。
经过数小时的研究和尝试,我通过禁用FTP(我使用了vsftpd)并将umask添加到apache配置中,而不是添加到php文件中,成功地解决了我的问题。现在一切正常,所有chmods都正常(755)


顺便说一句:我不知道为什么要用最小访问权限上传文件。

如果你能找到更好的答案……我现在洗耳恭听……我希望能有一个简单的解决办法。谢谢你的回答,我设法解决了我的问题,我写了我的解决方案作为答案。我真的很感谢你的帮助。