我有一个 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
or www-data
)到/etc/group
file.
执行此操作的正确方法是使用usermod
,尽管我通常只是直接编辑文件。
简而言之,如果您的 apache 用户是apache
, try:
sudo usermod apache --append --groups psacln
这基本上使 apache 用户可以访问 psacln 组拥有的任何文件和目录。
如果这不起作用,请发布具有文件权限的目录示例(ls -alF
)我们可以以此为基础开展工作。
EDIT:
要使用 nano 直接编辑组文件(替换为您熟悉的编辑器):
sudo nano /etc/groups
并找到psacln
分组并添加apache
user:
psacln:x:130:apache
请注意,gid (130
)无疑会有所不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)