我正在尝试使用以下设置在 Linux 中挂载 NTFS 文件系统:
- 在 Linux 中,NTFS 中的所有文件和目录都应归
root
某个组所有并属于该组win
。权限应设置为 775。 - 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
当定义用户映射文件(usermapping=file-name
)时,选项uid=
、gid=
、umask=
、fmask=
和dmask=
将silent
被忽略。
- 在 Linux 中,NTFS 中的所有文件和目录都应归 root 所有,并属于一个组 win。权限应设置为 775。
您不需要为此进行用户映射。您的 UID、GID 和 umask 设置正确,只需放弃usermapping=
第 2 点是通过使用inherit
您已经拥有的来实现的。