我有以下代码:
mkdir($thumb_dir)
在适当的位置创建一个目录,但当我查看权限时,它是
Owner : nobody
Group : nobody
我没有chown
的shell访问权限。如何防止将用户指定为无人,以及如何删除我已经制作的文件夹,因为我没有权限。
这是一个godaddy共享服务器...
答案 0 :(得分:1)
你可以用rmdir()删除空目录。
没有人是运行apache进程的用户。您无法在php中更改所有者,也无法在没有root权限的情况下使用shell访问(或对其进行任何更改)删除该文件夹;你只能通过php来操纵它
答案 1 :(得分:1)
这是因为Web服务器由nobody
用户运行。因此,您在文件系统上执行的所有操作都将使用nobody
。
通常无法改变任何相关内容。您必须使用与您拥有的FTP用户不同的Apache用户进行管理。如果使用PHP创建目录,则只能使用PHP删除它(当目录为空时使用rmdir()
),如果创建文件,则很可能必须从PHP中删除它们。
我建议您使用FTP用户创建目录结构,并尽可能少地保留PHP生成的内容。
您可以使用许可授权(使用chmod
)来缓解症状,但这通常不是安全方面的超级好主意。
答案 2 :(得分:0)
使用rmdir($thumb_dir);
删除它。
您无法在共享服务器上更改PHP用户。