Linux无法删除www-data创建的文件
收藏

我有一个运行ubutu 10.04、apache2和php的web服务器。
当我通过php上传文件到服务器时,它会以“rwxr-xr-x”和“www data www data”作为用户和组来创建文件。
我已将“管理员”帐户添加到“www data”组。
但是,当我通过ssh登录到服务器并尝试删除其中一个创建的文件时,它会说“权限被拒绝”?即使我申请了“0777”权限,也无法删除该文件。
我发现让我删除文件的唯一方法是将文件转到“管理员”帐户。显然我不想对每个上传的文件都这么做,或者真的把每个文件都改成'0777'。
我在这里做错了什么,不让我创建一个文件,然后用另一个帐户删除它?


最佳答案:

删除文件的能力不受文件权限的控制,而受包含目录的权限的控制。
父目录的权限和所有者/组是什么?这些是您需要的权限。
查看注释中列出的权限,您将需要为组WWW数据添加组写入权限(尽管此处需要考虑安全因素),或者将您自己添加到sudoers文件中,以允许您的帐户作为WWW数据用户执行命令
编辑
创建目录的权限将受当前umask设置的影响。您可以更改umask以允许创建具有以下任意权限的文件:

$old = umask(0);
mkdir(date("Y", time()), 0775)
umask($old);

公众号