Linux 在 NTFS 中创建的文件的权限

Linux 在 NTFS 中创建的文件的权限

我正在尝试使用以下设置在 Linux 中挂载 NTFS 文件系统:

  1. 在 Linux 中,NTFS 中的所有文件和目录都应归root 某个组所有并属于该组win。权限应设置为 775。
  2. Linux 在 NTFS 文件系统中创建的所有文件和目录在 Windows 中都应具有与包含新创建的文件或目录的目录相同的所有权和权限。

为此,我在 fstab 中添加了以下记录:

/dev/sda7 /mnt/win/users_data ntfs-3g noauto,inherit,usermapping=/etc/ntfs-3g.usermapping,uid=0,gid=1002,umask=0002 0 0

以下是该文件的内容/etc/ntfs-3g.usermapping

:win:S-1-5-21-3452292639-2475245894-2622236828-1002
:win:S-1-5-21-3452292639-2475245894-2622236828-1003
:win:S-1-5-21-3452292639-2475245894-2622236828-1005
:win:S-1-5-21-3452292639-2475245894-2622236828-1004
:win:S-1-5-21-3452292639-2475245894-2622236828-1009
...

当文件系统被挂载时,控制台中会出现以下消息:

$ sudo mount /mnt/win/users_data
There were no valid user or no valid group

在 Linux (root:win 775) 中,已挂载文件系统中的文件和目录具有正确的所有权和权限。但在 Windows 中,所有用户都被允许对文件系统中由 Linux 创建的文件执行所有操作。

我做错了什么?如何按照上述方式挂载 NTFS 文件系统?

答案1

来自mount.ntfs-3g手册页

当定义用户映射文件(usermapping=file-name)时,选项uid=gid=umask=fmask=dmask=silent被忽略。

  1. 在 Linux 中,NTFS 中的所有文件和目录都应归 root 所有,并属于一个组 win。权限应设置为 775。

您不需要为此进行用户映射。您的 UID、GID 和 umask 设置正确,只需放弃usermapping=

第 2 点是通过使用inherit您已经拥有的来实现的。

相关内容