如何更改目录的所有者

如何更改目录的所有者

编辑:问题是苹果使用权限来标记备份并阻止您修改它们(可能是安全功能)。通过使用,chmod -RN <dir>我从所有包含重要数据的文件夹中删除了 ACL 数据,这使我能够使自己成为所有者并应用适当的权限。

原问题
我有一个非常大的备份(>700GB),现在它的权限错误(我的 UID 在全新安装过程中发生了变化,长话短说),我需要更改它们。耗时的选项是手动检查每个文件夹并更改权限,但这将需要很长时间。

我想用来chown使自己成为所有重要数据的所有者,然后在所有这些文件夹上使用仅向我chmod 700授予权限。rwx

理想的解决方案是使用某种方法find递归地查找与正则表达式匹配的文件夹(我当前的文件夹是.*/[DCV].*|Pictures|M[ou].*),然后使我的 UID 成为所有者并将权限设置为 700。

我无法理解的重要一点:
然而,当我尝试运行时,chown Me DirectoryName我得到了chown: DirectoryName: Operation not permitted

我发现的所有内容都与更改权限有关文件而不是目录。也许我以错误的方式看待这个问题?
有件事告诉我,没有办法将我的 UID 提供rwx---其他人。

我怎样才能实现这个目标?我运行的是 Mac OS X 10.10.3。

我知道这是一个 UNIX/Linux 论坛(我正在运行 Mac),但这个问题更多地涉及使用 shell、、、chownchmod权限,并且此处发布的任何解决方案都适用于任何基于 UNIX 的操作系统。如果发布的解决方案能让我的旧备份重新出现在时间机器中,那就更好了。

感谢所有及时回复的人,但chown由于某种原因似乎无法在目录上工作。这是.sparsebundle网络驱动器上的磁盘映像这一事实是否相关?我认为它与任何外部驱动器上的相同。

答案1

我可能误会了。但是您可以递归地使用 chmod 和 chown 例如。

chown -R username:username /path/directory

要递归应用权限 700,您可以使用:

chmod -r 700 /path/directory

当然以上是针对 Linux 的,所以不确定 mac osx 是否也一样。

编辑:是的,抱歉忘记提及你需要 root 才能 chown 某些东西,我只是假设你知道这一点......我的错。

答案2

尝试作为根用户

 find wherever -type d -name ... -exec chown Me {} \;

在哪里

  • -type d仅适用于目录
  • -name ...你的正则表达式
  • -exec chown Me {} \;在查找目录上使用 chown。

你必须是root才能chown。

相关内容