因此,我刚刚彻底清除了我的 Time Capsules 2TB 驱动器,并开始运行我编写的同步脚本以及 Time Machine Backup。它们都运行了一天多,没有任何问题,但突然我发现我的脚本出现了问题。首先,我被拒绝删除驱动器上的一个文件夹(我不得不在终端中强制删除该文件夹)。接下来,我的脚本由于以下错误而失败:
rsync: ERROR: cannot stat destination "destination folder on Time Capsule": Permission denied (13)
完全不知道为什么。我通过终端进入卷并注意到两件事。首先,我有两个 Time Machine 硬盘实例。一个正常命名,另一个后面带有 -1 标记(例如 TimeCapsuleHDD 和 TimeCapsuleHDD-1)。如果这还不够奇怪,TimeCapsuleHDD 的所有者是 root:wheel,具有 drwx------ 权限。TimeCapsuleHDD-1 的所有者是 MyUserName:staff,具有 drwx------ 权限。我尝试通过 chown 和 chmod 755 更改 TimeCapsuleHDD 权限(我的同步应用程序正在写入该权限),但没有影响任何东西。我还尝试指定 chown MyUserName:staff,但没有成功。有人知道这是什么原因吗?我现在拼命将我的驱动器清零,希望重新获得正确的所有权。如果不以 root 身份实际登录,我甚至无法通过 sudo cd 进入它。如果这种情况再次发生,我很想学习如何纠正它。我确实读到过,这可能是 ACL 的问题。最糟糕的是,前几天晚上,我的新 2013 iMac 出现了权限问题,我不得不恢复安装 Mountain Lion 来纠正随机引起的问题(我无法在计算机上创建新帐户,因为我的权限被拒绝)。
答案1
我能得出的唯一答案是,要么 ACL 文件被弄乱了(在这种情况下,需要手动编辑它们,而不能使用 chmod 命令等)。这并不能解释 TimeCapsuleHDD 和 TimeCapsuleHDD-1 命名约定中的错误用词。现在,正如我之前所说,我没有 TimeCapsuleHDD 的访问权限,但可以完全访问 TimeCapsuleHDD-1。在擦除驱动器并再次尝试所有操作后,似乎名称互换了。我不知道 TimeCapsuleHDD-1 应该用于什么(因为有一个名为 Time Machine Backups 的挂载,我猜是用于 Time Machine),而 TimeCapsuleHDD 应该是卷中的网络硬盘挂载。不知何故,这些挂载名称被交换了(请注意,这是自发的,因为这发生在之前的同步之后)。这可能导致了一个问题(但仍然想知道它们为什么会自发交换)。擦除后我注意到我拥有 TimeCapsuleHDD 并且 root:wheels 拥有 TimeCapsuleHDD-1。
编辑:我现在知道是什么原因导致 TimeCapsuleHDD-1 出现以及是什么原因导致此权限错误。似乎 OSX 确实会根据首先访问的安装(Time Machine BackUp 或实际 HDD 安装)在 Volumes 文件夹中创建并热交换这些。当 Time Machine 启动时,它会根据 HDD 的标签名称命名临时安装。如果您已经安装了 HDD,它会在后面加上 -1,如果没有...它将采用正常名称。因此,如果您在 Time Machine 启动后安装 HDD,您的安装将在其后加上 -1(在我看来这很愚蠢)。为防止这种情况,您应该在启动时安装 HDD。奇怪的是,我已经这样做了...但我猜在某个时候它卸载了并且它们切换了。这是我找到的有关更多信息的参考资料:https://discussions.apple.com/thread/4367885?start=0&tstart=0。