挂载 Windows 分区的最佳实践

alb*_*789 13 partition permissions windows mount

我在我的笔记本电脑上运行 Windows 和 Debian 的双启动。我主要使用 Linux,但有时我需要访问 Windows 分区中的文件。我的 Windows 分区在启动时按如下方式挂载。

>cat /etc/fstab |grep Win7
LABEL=Windows7_OS /mnt/Win7 auto nosuid,nodev,nofail,x-gvfs-show 0 0
Run Code Online (Sandbox Code Playgroud)

基本上 Windows 分区中的每个文件都归 root:root 所有,并且拥有 777 权限。然后,每当我将文件 mv 到我的工作 (Linux) 分区时,我的分区下就有一个 777 文件,归我所有(而终端中的 cp 将提供一个 755 文件,但如果通过 gnome 完成,则会以 777 权限保存该文件) .

这是挂载分区的最佳做法吗?或者我应该安装它,而不是root,我是所有文件/目录的所有者,并且在启动时安装时能够以某种方式将所有目录设置为755并将文件设置为644?如果是这样,怎么做?

seb*_*sth 17

您可以使用fmaskdmask安装选项*改变在NTFS文件系统权限的映射。

要使文件出现rw-r--r--(644) 和目录rwxr-xr-x(755),请使用fmask=0133,dmask=0022. 如果您需要用户的写访问权限,您可以将其与uid=gid=选项结合使用来选择文件所有者和组。

*fmask并且dmask似乎也适用于内核(只读)驱动程序,即使它们没有记录在mount man page 中。它们是ntfs-3g 的文档选项。

  • `LABEL=Windows7_OS /media/Win7 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0` 就像一个魅力。正是我需要的! (6认同)
  • 答案中的 fmask 和 dmask 是 *mount 选项 *。当您在 fstab 中更改它们并重新挂载文件系统时,Windows 文件系统中的文件/目录将显示为 644/755 权限而不是 777/777。 (2认同)

jdw*_*olf 7

首先,这不是您应该如何使用 /mnt。那是为了临时在文件系统上执行管理任务,而不是每次系统启动。

因为 windows 分区不参与 Linux 系统的运行,所以将它挂载在 /media 下是有意义的。您可能还需要考虑将它安装在 root / 下作为 /Windows 以避免任何关于 /media 用于可移动媒体的混淆。

至于权限,我会使用一个名为 windows 的组

groupadd -g 1001 Windows
Run Code Online (Sandbox Code Playgroud)

并使用以下选项为其授予所需的权限:

gid=1001,umask=022
Run Code Online (Sandbox Code Playgroud)

如果要使用 cp 并在不同的文件系统之间维护权限,请使用带有 -p 或 -a 标志的 cp。


tel*_*coM 5

使用挂载选项uid、、gid,您可以使您的常规用户帐户和/或一组可以访问整个 NTFS 文件系统。但这是要么全有要么全无的情况:就 NTFS 文件系统而言,它就像在 Windows 中始终以完全管理员身份运行,或者就像在 Linux 中以 root 身份执行所有操作。NTFS文件系统驱动程序可以做得更好。fmaskdmaskntfs-3g

如果您使用的是ntfs-3g,则可以使用该ntfsusermap命令为 NTFS 文件系统创建用户映射文件。该命令将帮助您识别 Windows 用户名及其相应的 Windows SID,并将它们与 Linux 用户和组 ID 相关联。

通过这种方式,您可以将 Windows 用户帐户的 SID 与您的 Linux UID 关联起来。这样,一旦您使用位于 的用户映射文件挂载 NTFS 文件系统<NTFS filesystem root>/.NTFS-3G/UserMapping,您就可以使用常规 Linux 用户帐户来访问 NTFS 文件系统,就像您的 Windows 用户帐户能够访问的那样。对于在 Windows 中需要管理员权限的操作,在 Linux 中仍然需要 root 权限。

这样,您就可以方便地访问 Windows 分区上的文件,但仍然可以防止输入\Windows错误的命令弄乱您的目录,除非您以 root 身份运行。

您可能还想windows_names在 NTFS 分区上使用挂载选项,以防止意外创建 Windows 无法访问的名称的文件。