我有一个运行Ubutu 10.04和Apache2和PHP的Web服务器。
当我通过PHP上传文件到服务器时,它使用'rwxr-xr-x'和'www-data www-data'作为用户和组创build它。
我已将“pipe理员”帐户添加到“www-data”组中。
但是,当我通过SSHlogin到我的服务器,并尝试删除创build的文件之一,它说'权限被拒绝'? 即使我申请'0777'的权限,我仍然不能删除该文件。
我发现,让我删除文件的唯一方法是将文件发送到“pipe理员”帐户。 很明显,我不想为每个上传的文件都做这个,或者真的把每个文件CHMOD都改成'0777'。
我在这里做错了,不会让我创build一个文件,然后删除它使用不同的帐户?
删除文件的能力不受文件权限的控制,而是受到包含目录的权限控制。
父目录的权限和所有者/组是什么? 这些是你将需要的权限。
查看评论中列出的权限,您将需要为组www-data添加组写入权限(虽然这里要考虑安全性考虑事项),或者将自己添加到sudoers文件,以允许您的帐户执行命令www数据用户
编辑
目录创建的权限将受到当前umask设置的影响。 您可以更改umask以允许创建具有任意权限的文件,如下所示: –
$old = umask(0); mkdir(date("Y", time()), 0775) umask($old);