如何在 Linux 上从命令行(或脚本)获取/设置 ntfs 权限?

如何在 Linux 上从命令行(或脚本)获取/设置 ntfs 权限?

我想将我的主目录复制到新安装的相同版本的 Windows 中。在我的新安装中,我的用户名将对应于新的 UUID,因此我想编辑权限以添加具有新 UUID 的现有权限的副本(逐个文件)

我想在 Linux 上使用 shell 脚本来做到这一点。如何使用可编写脚本的命令获取和设置这些权限?

答案1

根本不能,除非您事先知道您的用户在新安装的 Windows 上将拥有什么 SID(这与 UNIX 系统上的 UID 不同,是不可预测的)。

假设您有某种方法知道您将拥有什么 SID,则可以通过使用常规 UNIX 命令和 NTFS-3G 用户名映射功能来功能性地复制所有权和基本 ACE。有关如何设置的信息,请参阅 NTFS-3G 联机帮助页的“用户映射”部分。设置完成后,您可以使用常规 UNIX 命令来操作文件的所有权和基本权限(IIRC、POSIX 读取权限转换为“读取”和“读取和执行”Windows 权限,POSIX 写入转换为“修改”,但除此之外我不记得了)。

据我所知,Linux下没有办法复制全部Windows ACE 的。

需要注意的是,您可能还想复制 NTFS 备用数据流。您可以使用支持 Linux xattrs 的 UNIX 工具轻松完成此操作(如果您不提供streams-interfaceNTFS-3G 选项,它将默认将它们公开为 xattrs)。

相关内容