Arc*_*676 15 permissions chmod chown
编辑:问题在于 Apple 使用权限来标记备份并阻止您修改它们(可能是安全功能)。通过使用,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
.
我发现的一切都与更改文件而不是目录的权限有关。也许我看错了?
有人告诉我,没有办法将我的 UIDrwx
和---
其他所有人都提供给我。
我怎样才能做到这一点?我正在运行 Mac OS X 10.10.3。
我知道,这是在UNIX / Linux论坛(我运行Mac),但这个问题是一个很大的关于使用shell, ,chown
,chmod
和权限的任何解决方案张贴在这里将适用于任何基于UNIX的操作系统。如果发布的解决方案能让我的旧备份重新出现在 Time Machine 中,那就更好了。
感谢所有迅速回复的人,但chown
由于某种原因似乎无法处理目录。这是.sparsebundle
网络驱动器上的磁盘映像这一事实是否相关?我认为它与任何外部驱动器上的相同。
dak*_*kka 24
我可能理解错了。但是你可以递归地使用 chmod 和 chown 例如。
chown -R username:username /path/directory
Run Code Online (Sandbox Code Playgroud)
要递归应用权限 700,您可以使用:
chmod -r 700 /path/directory
Run Code Online (Sandbox Code Playgroud)
当然,以上是针对 Linux 的,所以不确定 mac osx 是否相同。
编辑:是的,抱歉忘了提到你需要 root 才能吃东西,我只是假设你知道这一点......我的错。