![在 ntfs 上 rsync 后恢复文件权限](https://linux22.com/image/803020/%E5%9C%A8%20ntfs%20%E4%B8%8A%20rsync%20%E5%90%8E%E6%81%A2%E5%A4%8D%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90.png)
当我在 Windows 下处理分区时,我尝试格式化硬盘的空白空间以将其放入 Windows 中,结果搞砸了,cfdisk 告诉我所有分区都没有从正确的物理边界开始,我将面临性能下降的问题。此外,交换挂在错误的分区上,Windows 在启动时崩溃。
好吧,我无法修复它,但是因为我有一个主 arch linux 系统的 rsynced 备份(rsync -aAXv / /mnt/ext),所以我敢于删除所有分区,创建新的分区,然后将备份放回到重新创建的 linux 分区上。
我安装了备份外部磁盘,但它被安装了 777 权限。在我注意到它是如何安装的之前,我重新同步了所有内容,然后发现我的整个 Linux 系统都在 777 上,并且所有内容都归 root 所有。所有文件都在那里,安装甚至启动了,但我当然无法处理所有内容,甚至主目录也归 root 所有,具有 777 权限。
那么,有没有办法,要么使用旧权限挂载 NTFS 外部磁盘,要么以其他方式恢复默认权限?
谢谢
PS:忘记提了,但也许很有趣,我在 Windows 上进行了第一次分区尝试,这就是分区混乱的原因。Root 和 /home 显示为 SFS,而 Windows 分区“转移”到 sda3,之前 swap 位于该位置,因此 linux 将 Windows 分区挂载为 swap,这导致 Windows 在启动时崩溃并出现 BSOD。
答案1
NTFS 尤其不适合对 Linux 系统进行文件级备份,因为它使用 Windows 的 ACL 模型来管理权限,而不是 UNIX 模型。因此,这些卷上的权限由挂载选项决定。因此,当您进行备份时,您没有备份权限元数据(权限位或所有权)。
请参阅 dawud 的(自动)评论,了解为什么您无法恢复“默认”权限(简短的回答:没有这样的事情),以及关于您可以采取哪些措施来恢复的一些想法(这将是漫长而乏味的)。
如果您还将 Windows 内容备份到该 NTFS 磁盘,则权限元数据应该是完整的。