我有一个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/
我假设你有这个系统的shell和root权限。 如果是这样的话,可以尝试将apache用户(通常是apache
或www-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
)无疑是不同的。
将上传目录的权限设置为777(所有用户均为wrx)。 你还能上传新文件吗? 如果可以的话,你应该可以删除文件。