为什么即使我没有权限,我也可以在 Mac Os 10.8.2 中重命名文件

为什么即使我没有权限,我也可以在 Mac Os 10.8.2 中重命名文件

我正在为文件设置 444 权限,但我仍然可以重命名文件。

我尝试通过 php 使用 rename() 函数并在终端中使用 mv 命令。

我列出了我的文件,它显示为 -r--r--r-- 1

所以我的问题是,重命名文件不需要文件权限。我认为这存在安全隐患,因为没有权限的人可能会更改我所有文件的名称并破坏我的系统。

答案1

重命名是在目录级别进行的。如果用户对目录有写权限,他们可以重命名该目录中的文件,即使他们本身无权访问这些文件。

例如文件名存储在目录“file”中。这就是硬链接的实现方式,允许一个文件有多个与之关联的文件名。

换句话说,这是按预期进行的,并且不是一个“安全问题”。

答案2

重命名文件会更改目录,而不会更改文件本身。请w从目录中删除权限以防止这种情况发生。

相关内容