我有一个
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文件中.
原文链接:https://www.f2er.com/php/136632.html正确的方法是使用usermod,虽然我通常只是直接编辑文件.
简而言之,如果您的apache用户是apache,请尝试:
sudo usermod apache --append --groups psacln
这基本上使apache用户可以访问任何文件& psacln组拥有的目录.
如果这不起作用,请使用文件权限(ls -alF)发布目录示例,我们可以从中进行操作.
编辑:
要使用nano直接编辑组文件(替换为您认为合适的编辑器):
sudo nano /etc/groups
psacln:x:130:apache
注意,gid(130)无疑是不同的.