10

我有一个 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/
4

2 回答 2

15

我假设您对该系统具有 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) 无疑会有所不同。

于 2013-01-02T04:15:07.730 回答
-4

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

于 2013-01-02T04:05:05.537 回答