第二内部硬盘的所有权

我可以以root用户身份打开nautilus文件管理器并在此站点上尝试各种教程,但每次都会遇到同样的问题。

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

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

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

我将不胜感激任何帮助

首先,NTFS文件系统处理的权限与任何Linux文件系统(如ext4)明显不同(更多的是Windows方式)。 您应该编辑安装NTFS分区的/etc/fstab的行。

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

  • 首先: 它是哪个分区?

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

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

    如果您使用UUID或Label,则需要声明它。 例如"LABEL=Windows""UUID=ABCDEFGHIJKLKLMNOP"

  • 接下来, 它应该安装在哪里?

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

    sudo mkdir /media/Windows

  • 接下来, 应该将哪个文件系统挂载?

    由于我们正在安装ntfs分区,因此ntfs-3g为此列指定ntfs-3g 。 不要使用“ntfs”,除非你不希望能够在挂载后写入分区(通过写入,我的意思是制作新文件,编辑文件,移动文件和文件夹等;“ntfs”驱动程序已过时,只允许您读取文件。)

  • 接下来, 应该安装哪些选项?

    在这种情况下,这是最重要的列,您可以在此指定权限。 你如何做到这一点并不是很明显,但有一种方法,而且实际上相当简单。

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

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

    gid=####指定哪个groupid应该拥有分区上的文件。 例如, gid=1000表示ID为“1000”的组应该拥有这些文件。 找出groupid比找出你的用户ID要困难一些,因为你可以同时属于几个组。

    现在,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。

    您还可以在此列表中添加其他内容。 一般来说,最好从“默认值”选项开始。 “auto”会在启动时自动挂载分区。 在这里阅读更多内容: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 ,应该将分区安装在您想要的位置,并具有您希望它拥有的权限。

资源

要在Ubuntu中获取Mount 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来使用UUID进行装载

 blkid 

输出将与此类似

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

并在fstab条目中替换UUID而不是/ dev / sda2

根据您的环境替换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权限将ntfs数据分区/dev/sda3 /mnt/data/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