编辑:问题是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
。
我发现的所有内容都与更改文件而不是目录的权限有关。也许我看错了方向?
某事告诉我,没有办法将我的UID rwx
和---
其他所有人共享。
我该如何实现?我正在运行Mac OS X 10.10.3。
我知道,这是在UNIX / Linux论坛(我运行Mac),但这个问题是一个很大的关于使用shell, ,chown
,chmod
和权限的任何解决方案张贴在这里将适用于任何基于UNIX的操作系统。如果发布的解决方案可以使我的旧备份重新出现在Time Machine中,那将是更好的选择。
感谢所有及时答复,但chown
由于某种原因似乎在目录上不起作用的人。这是.sparsebundle
网络驱动器上的磁盘映像吗?我以为它将与任何外部驱动器上的相同。
find . -user $other_uid -print0 | sudo xargs chown $USER
应该起作用。
df -hT <dirname>
应该告诉你。
df -hT <dir>
给出没有输出为a)所述网络HDD B的根目录)的网络HDD C内的磁盘映像)上的网络HDD任何文件夹。也许您想要的行为在Mac和Linux上以不同的方式实现?
root_squash
启用时将其导出,因此您将无法执行仅根操作,例如chown
从客户端执行。