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

vec*_*ect 6 linux permissions 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
Run Code Online (Sandbox Code Playgroud)

这是/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
...
Run Code Online (Sandbox Code Playgroud)

挂载文件系统后,控制台中会显示以下消息:

$ sudo mount /mnt/win/users_data
There were no valid user or no valid group
Run Code Online (Sandbox Code Playgroud)

挂载文件系统中的文件和目录在 Linux (root:win 775) 中拥有正确的所有权和权限。但是在 Windows 中,所有用户都可以对 Linux 在文件系统中创建的文件进行所有操作。

我究竟做错了什么?以及如何以上述方式挂载 NTFS 文件系统?

GnP*_*GnP 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您已有的来实现的。