从 Ubuntu 到 OS X - 无法修复权限

从 Ubuntu 到 OS X - 无法修复权限

我正在使用 Ubuntu 通过 USB 将数据从 XFS 格式的驱动器传输到 HFS+ 格式的驱动器。问题是无论我做什么,这些文件都会受到写保护,而且我无法更改它们的权限。

我知道 Ubuntu 的默认 UID 是 1000,而 Mac 上的默认 UID 是 501,所以我将我的 Ubuntu UID 更改为 501如本指南所述

现在权限似乎正确了,当我执行时ls -n,我被告知 UID 是 501,组是 20,权限是rwxrwxrwx,这与我的另一个运行正常的 USB 驱动器完全相同。

但出于某种原因,我仍然无法编辑文件。系统提示我进行身份验证,但当我进行身份验证时,什么也没发生。

如果我将文件复制到 Finder 中的其他卷,它们将不再受写保护,这让我觉得我复制的 USB 驱动器可能存在问题。我必须将其格式化为 HFS+(非日志式),以便 Ubuntu 能够写入它。

这是否意味着什么?从 Mac 上的 Finder 复制到卷的文件未被锁定,但通过 Ubuntu 复制的文件被锁定。


刚刚做了进一步的测试,发现我复制的其中一个文件夹的子文件夹中有一些图片,我可以毫无问题地写入,但与原始文件夹同级别的视频文件都被锁定了……视频文件和图片的所有权/组都是 501/20。此外,一些被锁定的文件实际上带有“锁定”标记,我能够在文件属性中删除复选标记,但什么也没发生,当我再次检查属性时,它仍然在那里。但话说回来——其他被锁定的视频文件一开始就没有标记……这里真的有什么问题吗?!

顺便说一句。我在另一台运行 Snow Leopard Server 的 Mac 上定期测试所有内容,问题是一样的。


最后更新:

尝试按照下面的建议通过 ssh 执行 rsync,尝试在 ubuntu 中重命名用户,以便用户名、“长名称”和 UID 与 OSX 匹配 - 没有进展。

花了 14 个小时试图解决这个问题 - 累了,现在要睡觉了。最后的办法是复制 ubuntu 磁盘上的所有内容,然后将其从 mac 复制到另一个 USB 驱动器(当我在桌面之间来回复制时,问题似乎已经解决)。唯一的缺点是我需要去买另一个硬盘来复制 ubuntu 盒子上的 1.5TB,并再花 2 天时间复制文件 :-/


最终解决方案:

由于人们在这里提出的建议都无法解决问题,我最终又买了一个 2TB 硬盘,将文件从 ubuntu 复制到 HFS 格式的磁盘,将 2 个驱动器连接到我的 Mac,然后再次将文件从 HFS 格式的磁盘复制到 HFS(日志式)格式的磁盘。问题解决了。我发现解决这个问题的唯一方法是在 Mac 环境中复制文件。一旦文件被复制一次,权限问题就解决了。

答案1

我怀疑 Ubuntu 将 UID < 1000 的文件视为系统文件。

我将使用 rsync 通过 ssh 以 root 身份传输文件:

rsync -avp -e ssh root@srcmachine:/path/to/src/files destination/dir

如果用户和组名相同,那么 uid 将被重新映射。可以使用 --numeric-ids 开关不改变 uid 进行传输。

rsync 还可以在文件系统之间工作,而不仅仅通过网络。

答案2

让自己成为文件的所有者。

sudo chown -R ${LOGNAME}:${GROUPS} /path/to/copied/files

相关内容