像 Nautilus 一样自动挂载 NTFS 分区

像 Nautilus 一样自动挂载 NTFS 分区

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

/media/Data 类型 fuseblk 上的 /dev/sdb1(rw、nosuid、nodev、allow_other、default_permissions、blksize=4096)

我是所有文件的所有者,权限也是我想要的(umask 077在 .bashrc 中有)。但是,按照安装Windows分区,并将以下行添加到 fstab

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

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

/media/Data 类型 fuseblk 上的 /dev/sdb1 (rw、nosuid、nodev、allow_other、blksize=4096)

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

答案1

fuse与 中的系统范围挂载相比,nautilus 执行的挂载有一个优势:/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 文件系统上创建的文件表现更好。我可以ls在 Windows 下访问不属于我的目录吗?我应该可以吗?您在 Linux 和 Windows 上的 UID 之间有什么关系吗?不知道。

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

相关内容