像Nautilus一样自动挂载NTFS分区

我有一个NTFS分区,我希望能自动挂载它,这样我就不必打开Nautilus并在设备下点击它了。如果我使用Nautilus挂载,然后输入mount命令,我会看到以下行:

/dev/sdb1 on /media/Data type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

我是所有文件的所有者,并且权限设置是我想要的(在.bashrc中有umask 077)。然而,在按照MountingWindowsPartitions上的说明操作后,并将以下行添加到fstab中:

UUID=4A92C07A92C06C4F /media/Data ntfs-3g defaults,windows_names,locale=en_GB.utf8 0 0

驱动器确实自动挂载了,但所有文件的权限都变成了-rwxrwxrwx,用户和组都是root。现在mount命令显示如下:
/dev/sdb1在/media/Data上的类型为fuseblk(rw,nosuid,nodev,allow_other,blksize=4096)。
我如何在fstab中指定参数,以便分区被挂载的方式与在Nautilus的设备下点击时完全相同?我使用的是Ubuntu 12.04。
1个回答

Nautilus进行的fuse安装比在/etc/fstab中进行系统范围的挂载有一个优点:它知道哪个用户正在进行挂载。假设您是客户机的唯一用户(这在当今足够公平),您可以使用以下命令获取您的数值UID、GID和默认umask:

$ id
uid=1001(msw) gid=1001(msw) groups=…
$ umask 
0002

然后你将这些添加到fstab中的选项组中。
defaults,uid=1001,gid=1001,umask=077,windows_names,locale=…

明智的做法是用defaults替换,但并非必须。

auto,rw,nosuid,nodev,noexec

Nautilus假设用户挂载的分区是“不可信任的”,因此以这种方式标记它们。外部(即NTFS)分区应该始终以这种怀疑的态度来查看。
针对评论添加的内容:
这是一个跨系统语义变得奇怪的领域。mount.ntfs(8)手册定义了fmask和dmask,试图使在NTFS文件系统上创建的文件表现更好。我能在Windows下列出不属于我的目录吗?我应该能够吗?你在Linux和Windows上的UID之间有任何关系吗?不知道。
mount.ntfs有一个usermapping=选项,它可以取代uid、gid、umask、fmask和dmask。如果您想对文件分配什么权限有精细控制,我建议您研究一下这个选项。在使用usermapping挂载之前,我建议您先检查一下是否可以从Windows端访问它们。

谢谢。我按照你的建议将defaults选项替换为你的建议。不过还有一个细节需要解决。当我在挂载的驱动器上创建新文件时,它的权限是-rwx------,而我希望不设置"x"(除非是目录)。是不是应该更改umask=077,如果是的话,你知道应该改成什么吗? - DustByte