像Nautilus那样自动挂载NTFS分区

我有一个我想自动挂载的NTFS分区,所以我不必打开Nautilus并在Devices下单击它。 如果我使用Nautilus mount ,然后键入mount ,我会看到以下行:

/ dev / sdb1 on / media /数据类型fuseblk(rw,nosuid,nodev,allow_other,default_permissions,blksize = 4096)

我是所有文件和权限的所有者是我想要的方式(在.bashrc中使用umask 077 )。 但是,按照MountingWindowsPartitions上的说明操作,并将以下行添加到fstab

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

驱动器确实自动挂载,但所有文件权限都是-rwxrwxrwx,用户和组都是root用户。 mount命令现在显示

/ dev / sdb1 on / media /数据类型fuseblk(rw,nosuid,nodev,allow_other,blksize = 4096)

如何在fstab中指定参数,以便以与在Nautilus中的“设备”下单击设备时相同的方式安装分区? 我有Ubuntu 12.04。

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)手册定义了fmaskdmask ,试图使在NTFS文件系统上创建的文件表现得更好。 我可以在Windows下拥有一个不属于我的目录吗? 我应该能够吗? 你的Linux和Windows上的UID有什么关系吗? 不知道。

mount.ntfs有一个usermapping=选项,它取代了uid,gid,umask,fmask和dmask。 我建议你研究一下,如果你想要精确控制哪些文件被分配了什么权限。 我会检查一下,在用户映射挂载下提交太多之前,你甚至可以从Windows端访问它们。