将内部硬盘分区的所有者从 root 更改为用户

将内部硬盘分区的所有者从 root 更改为用户

我有许多内置和外置驱动器。有些驱动器已分区。大多数驱动器在启动时自动挂载(所有驱动器都曾经自动挂载过)。

一个分区归 root 所有,因此不会自动挂载。我知道如何以 root 身份挂载它。

我不知道如何以用户 X 的身份取得该分区的所有权。我曾尝试以 root 身份使用 Nautilus 中的 GUI 更改权限。它们没有被接受并立即恢复。

该分区为 NTFS。该驱动器上的另一个分区由我作为用户拥有并自动挂载。

答案1

你试过了吗

sudo chown user:user

例如sudo chown cyrex:cyrex(用户:组)

如果分区被称为派对,你的用户被称为赛瑞克斯例如/media

sudo chown cyrex:cyrex /media/cyrex/party -R(R 代表递归,因此它会影响所有目录/文件和子目录。

如上所述,该分区是 NTFS,因此如果自动安装,您需要确保具有权限的用户是您。为此,请按照以下步骤操作:

  1. 转至控制台 ( gnome-terminal)

  2. 输入id -u。这将为您提供将插入到 fstab 中的用户 ID。

  3. 打开 fstabsudo /etc/fstab并搜索正在挂载 ntfs 分区的行。

  4. 假设它是这样的:

    UUID=1234532123 /media/amntfs  ntfs  defaults 0       0
    

像这样添加 umask、uid 和 gid 掩码

UUID=1234532123 /media/amntfs  ntfs   defaults,umask=007,uid=1000,gid=1000  0       0

保存文件并重新启动或重新安装设备。

这里:

  • uid 是你的用户 ID。它是你从 获得的id -u
  • gid 是您的组 ID。通常与 相同,id -u但您可以使用 进行检查id -g
  • umask 与 chown 类似,但是反过来。

如何在 NTFS(或 FAT32)分区上使用“chmod”?有关在 NTFS 文件系统上使用chmod/ 的更多信息。chown

NTFS 和 POSIX 兼容性

认为 NTFS 并非 100% 兼容 POSIX 是正确的。但 NTFS 也确实符合 POSIX,这意味着它与 Linux 中使用的 POSIX 相似但不完全相同。当您阅读我的回答时,您会发现以下两件事:

  • 我的目标是更改 NTFS 文件的权限
  • 我的目标是在安装级别或在 fstab 中安装时更改权限。

对于安装级别来说,这很简单。正如上面描述的,如果分析一下,它确实没有意义,也不应该起作用。但事情有点复杂。以下是作为 90 年代 Windows 技术人员和 2001 年以来 Linux 用户的简要介绍。

当您安装 NTFS 文件系统时(至少在 Ubuntu 上),NTFS-3G 会负责正确安装它,甚至提供映射功能以确保有关权限的指令从 Linux 正确映射到 NTFS 文件系统。这意味着,如果我执行 chmod 或 chown,它们就会起作用。

这只是答案的一半。另一个是 NTFS 符合 POSIX 标准,或者可以说在一定程度上“兼容”,但据我所知,它适用于 POSIX 的第 1 版,我认为从 20 世纪 90 年代开始称为 POSIX.1,并且仅适用于 Windows 子系统的某个子集。

因此,在 NTFS-3G 和 NTFS 与 POSIX 的“兼容性”之间,您实际上能够在 NTFS 文件和文件夹上使用 chmod。

我无法谈论 Windows 8.1、10、11 上的较新版本 NTFS 或未来版本如何与 POSIX 兼容,但我可以谈谈当前版本以及我对 NTFS、POSIX 背景的经验,以及在谈论 Windows 时它们如何以一种非常奇怪的方式关联。

细微更新:从内核 5.15(2021 年 10 月 31 日)开始,有一个新的 NTFS 实现,如下所示这里 它展示了我们处理 NTFS 方式的增强功能。

答案2

我的所有 NTFS 分区都归 root 所有,但我可以以用户身份正常访问它们。这是挂载选项的问题,而不是所有权和文件权限的问题(请记住,这是一个 NTFS 分区 - 您无法更改那里的任何权限)。

在我的/etc/fstab系统中,分区包括如下内容:

UUID=AB84274F84211B98   /media/WIN7     ntfs   defaults  0   0
UUID=CDBAF39E13A2AC2D   /media/DATA     ntfs   defaults  0   0
UUID=EFA980B33BA33DF5   /media/MEDIA    ntfs   defaults  0   0

默认挂载选项在哪里defaults,它们已经可以执行您想要的操作了。

要查找 UUID,请运行sudo blkid

也可以看看:如何在 NTFS(或 FAT32)分区上使用“chmod”?

答案3

最简单的方法是在终端中使用sudoie sudo nemosudo nautilus任何您正在使用的文件管理器打开文件管理器,然后右键单击分区并添加权限。

答案4

如果您将分区安装到其中的文件夹,/home/user则该文件夹将归用户所有。这是我添加到/etc/fstab.

UUID=9e5bb53c-4443-4124-96a8-baeb804da204 /home/fragos/Data ext4 errors=remount-ro 0 1

相关内容