将apache添加到用户组文件上载权限

时间:2013-01-02 03:57:16

标签: php apache

我有一个php脚本将文件上传到某个文件夹,目前他们正在上传为“psacln”组,以便我可以通过FTP删除这些文件。当PHP作为FastCGI运行时,这一切都运行良好,我不得不将PHP更改为以Apache模块运行,以便使php扩展工作。但现在我无法通过PHP脚本删除文件,因为权限被拒绝。我假设因为现在组'Apache'正在尝试删除属于'psacln'的文件。如何允许apache删除这些文件?

编辑:ls -alF

drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:05 92/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 06:57 93/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:12 95/
drwxr-xr-x   2 fugitiveink psacln 4096 Dec 21 18:56 96/
drwxr-xr-x   2 fugitiveink psacln 4096 Dec 21 08:30 97/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:26 98/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:28 99/

2 个答案:

答案 0 :(得分:13)

我假设你有对这个系统的shell和root访问权限。如果是这样,您可以尝试将apache用户(通常为apachewww-data)添加到/etc/group文件中。

执行此操作的正确方法是使用usermod,但我通常只是直接编辑文件。

简而言之,如果您的apache用户是apache,请尝试:

sudo usermod apache --append --groups psacln

这基本上使apache用户可以访问任何文件& psacln组拥有的目录。

如果这不起作用,请使用文件权限(ls -alF)发布您的目录示例,我们可以从中开始工作。

编辑:

使用nano直接编辑组文件(替换为您认为合适的编辑器):

sudo nano /etc/groups

找到psacln组并添加apache用户:

psacln:x:130:apache

请注意,gid(130)无疑会有所不同。

答案 1 :(得分:-4)

将上传目录的权限设置为777(所有用户的wrx)。你还可以上传新文件吗?如果可以,您应该能够删除文件。