我有一个文件夹/var/www/web/images/173
。
$ ls -hal
drwxrwxrwx 4 www-data www-data 524K Mar 30 23:11 173
文件夹 173 的所有者和组为 www-data,权限为 777,仅用于调试目的,因为我没有希望。文件夹中的所有 4 个文件都具有与 173 文件夹 www-data:www-data 和 777 相同的权限和所有者。
当我运行 PHP 脚本行时,system("rm -rf /var/www/web/images/173")
我得到:
rm: cannot remove '/var/www/web/images/173': Permission denied
我尝试了与 shell 不同的方法$ sudo -u www-data rm -rf /var/www/web/images/173
,但仍然被拒绝权限。
是否有其他系统设置阻止用户www-data
执行rm
命令?这看起来不像是 PHP 问题,因为即使 shell 中的直接命令也无法删除该文件。
我的 www-data 行位于/etc/passwd
:
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
答案1
检查父文件夹(图像)的权限。我认为,将“图像”文件夹的权限/所有权更改为 www-data,755 应该可以解决问题。