您没有足够的访问权限来重命名该项目

您没有足够的访问权限来重命名该项目

我以主用户身份登录并尝试在 Finder 中重命名文件,获取信息告诉我我具有读/写访问权限

我最终chmod 644在终端上做了一个 - 但没用

-rw-rw-rw-+ 1 myuserid  staff   49293 18 May  2008 somefile.pdf

 0: group:everyone deny delete
 1: user:myuserid allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity

然后我做了一个sudo mv有效的方法,但我仍然无法在 Finder 中重命名它。

在网上找到一堆不适用的旧东西。该文件只是从浏览器下载到计算机。它确实存在于另一个用户的目录中,但我对它有读/写权限,而且我提到的 sudo 也可以工作。

答案1

这是因为访问控制条目:

0: group:everyone deny delete

...因为就文件系统而言,移动或重命名文件相当于为其创建一个新的目录条目(“链接”),然后删除旧条目。因此,禁止删除文件也意味着您不能移动或重命名它。您可以根据需要使用 擦除文件的访问控制列表chmod -N somefile.pdf,或者仅使用 删除该特定访问控制条目chmod -a# 0 somefile.pdf(注意:您不能从 Finder 的“获取信息”窗口执行此操作,因为它不显示拒绝规则)。但是,这可能还不够,因为您提到该文件位于另一个用户的文件夹中。移动、重命名和删除文件都涉及修改其所在的目录,因此需要对该目录的写访问权限(完全独立于对文件本身的权限)。

答案2

我会尝试两件事。首先,我会看看是否有执行权限有帮助。您引用的文件列表显示模式 666(所有者、组和每个人都设置了读取(4)和写入(2)位,显示为 rw-rw-rw-),因此请尝试 777(rwxrwxrwx),看看是否有帮助。(如果您是“staff”组的成员,您可以使用groups终端中的命令进行检查,776 或 775 应该没问题。)

如果这不起作用,你可能需要对目录包含相关文件以便重命名。我接下来会尝试这样做。

但从根本上讲,如果您在另一个用户的目录中操作,您无论如何都不能以其他普通用户的身份进行操作 - 您应该需要 sudo,或者将文件移动到您自己的用户空间,执行您需要的操作,然后再将其移回。这就是基于用户的权限存在的原因。

相关内容