例子

例子

我可以以 root 身份打开 nautilus 文件管理器,并尝试了该站点上的各种教程,但每次仍然遇到同样的问题。

我能够右键单击,然后通过 FILESYSTEM/media 在我的第二个硬盘上以根用户身份选择属性,或者右键单击左侧面板列表中的第二个驱动器。

但是,当我以 root 身份将所有权更改为我的用户名或更改读写等设置时,它会返回到 root 或之前的设置,在我关闭属性窗口之前,似乎无法更改我的第二块硬盘的所有权或设置。我需要以我的用户名完全访问此硬盘。

该驱动器是内置 SATA,格式为 NTFS,我使用的是 Ubuntu 12.04 LTS 64 位

我将感激任何帮助

答案1

首先,NTFS 文件系统处理权限的方式与任何 Linux 文件系统(如 ext4)有很大不同(更接近 Windows 方式)。您应该编辑/etc/fstab挂载 NTFS 分区的行。

您可以打开编辑器使用此命令来编辑它(使用终端):gksu gedit /etc/fstab

  • 首先:它是哪个分区?

    在这种情况下,这需要是一个设备节点标识符,例如/dev/sda1分区 UUID 或分区标签。

    sudo blkid -c /dev/null在终端中运行将告诉您有关分区的所有相关信息。希望您可以从此列表中确定哪一个是正确的分区。

    如果您使用 UUID 或标签,则需要这样声明。例如"LABEL=Windows""UUID=ABCDEFGHIJKLKLMNOP"

  • 下一个,它应该安装在哪里?

    这部分很简单:您希望从哪里访问分区?Ubuntu 默认安装分区/media,因此如果您希望将分区安装在那里,请这样说。例如/media/Windows。您将需要手动创建此文件夹,因为如果不存在,fstab 会发出抱怨,因此请确保该文件夹尚未被使用,然后运行

    sudo mkdir /media/Windows

  • 下一个,它应该被挂载为哪个文件系统?

    由于我们要安装 ntfs 分区,请指定ntfs-3g此列。除非您不想在安装分区后写入分区,否则不要使用“ntfs”(写入是指创建新文件、编辑文件、移动文件和文件夹等;“ntfs”驱动程序已过时,只允许您读取文件。)

  • 下一个,应使用什么选项来安装它?

    这是本例中最重要的一列,在这里您可以指定权限。如何执行此操作并不明显,但有一种方法,而且实际上相当简单。

    这是一个逗号分隔的列表,因此不要使用空格或制表符,否则您会发现挂载行无法按预期工作。要指定权限,您只需声明三项:UID、GID 和 umask。

    uid=####指定哪个用户 ID 应该拥有分区上的文件。例如,uid=1000表示 ID 为“1000”的用户应该拥有这些文件。您可以通过打开终端并运行来找出您的 UID echo $UID

    gid=####指定哪个 groupid 应该拥有分区上的文件。例如,gid=1000表示 id 为“1000”的组应该拥有这些文件。找出 groupid 比找出您的 userid 稍微困难一些,因为您可能同时属于多个组。

    现在,Ubuntu 通常会为每个用户创建一个组,其 ID 与 UID 相同,因此您可能可以使用 UID 作为 GID。但是,您可以通过在终端中运行来获取组列表。cat /etc/group这将显示一个列表,每行最多包含四个以冒号分隔的字段。这些行将包含以下项目:名称、加密密码、GID 和组中的用户列表。找到您要使用的组,并将其 GID 添加到选项中。

    umask=UGO是三个选项中最重要的一个;它指定用户、组和其他所有人的权限。此处使用的数字必须在 0 到 7 之间,其他数字都可能导致错误。这些数字实际上是正常权限的倒数,因此,虽然“7”在正常权限设置中表示“读取、写入和执行”,但在 fstab 中,“7”表示“无权限”。设置umask=000将为每个人提供读取、写入和执行权限。需要澄清的是,U 是用户的权限,G 是组的权限,O 是其他人的权限。有关 umask 的更多详细信息,请参阅 www.cyberciti biz/tips/understanding-linux-unix-umask-value-usage.html。

    您还可以将其他内容添加到此列表中。一般来说,最好从“默认”选项开始。“自动”会在您启动时自动安装分区。在此处阅读更多信息:www.tuxfiles org/linuxhelp/fstab.html

  • 最后两列应为“0”和“0”。这两列仅用于 Linux 文件系统,因此将它们设置为 0 可避免出现任何复杂情况。

完成的 fstab 行可能看起来像:

UUID=ABCDEFGHIJKLKLMNOP /media/Windows ntfs-3g defaults,auto,uid=1000,gid=1000,umask=002 0 0

下次启动或运行时sudo mount -a,该分区应该会安装在您想要的位置,并具有您想要的权限。

来源

答案2

要在 Ubuntu 中挂载 ntfs 分区,我们需要安装 ntfs-3g 包才能使用

sudo apt-get install ntfs-3g

将分区挂载到某个目录

mkdir /mnt/ntfs_data
mount -t ntfs-3g /dev/sda2 /mnt/ntfs_data

通过添加 fstab 条目使其在每次启动时挂载

/dev/sda2   /mnt/ntfs_data  ntfs-3g defaults    0   0

你也可以使用 UUID 进行挂载,方法是使用

blkid 

输出将类似于此

/dev/sda2: UUID="Uo4y9S-Y9ip-hsSp-z8oI-nNnP-hwRn-x0bEQG"

并在 fstab 条目中用 /dev/sda2 替换 UUID

根据您的环境替换 sda2 和 ntfs_data

如果你需要有关 ntfs-3g 的帮助,只需运行命令

man ntfs-3g

您可以在 ntfs-3g 手册页的顶部找到它:

例子

安装/dev/sda1/mnt/windows

ntfs-3g /dev/sda1 /mnt/windows

或者

mount -t ntfs-3g /dev/sda1 /mnt/windows

使用标准 Linux 权限/dev/sda3挂载ntfs 数据分区:/mnt/data

ntfs-3g -o permissions /dev/sda3 /mnt/data

或者

mount -t ntfs-3g -o permissions /dev/sda3 /mnt/data

以只读方式挂载/dev/sda5/home/user/mnt让用户uid 1000成为所有文件的所有者:

ntfs-3g /dev/sda5 /home/user/mnt -o ro,uid=1000

/etc/fstab上述条目(第六个也是最后一个字段必须为零,以避免在启动时进行文件系统检查):

/dev/sda5 /home/user/mnt ntfs-3g ro,uid=1000 0 0

卸载 /mnt/windows:

sudo umount /mnt/windows

相关内容