我用 ext4 分区格式化了外部硬盘,然后安装了它。为了可以使用新分区,我做了:sudo chown me:me /mount/directory
将文件所有者和组从 root 更改为我,效果很好。
这种变化是持久的,所以我想知道这些信息存储在哪里。如果我分离硬盘然后将其挂载到另一个目录,我仍然被设置为文件所有者和组,因此信息无法存储在挂载目录的 inode 中。
那么整个分区是否有自己的inode来存储此类信息,如果有,有没有办法查看它?或者是否有其他地方可以存储信息?
答案1
就存储在其上的文件系统而言,外部驱动器和内部驱动器之间没有区别。文件系统根目录的所有者和组存储在其根目录中,与根文件系统的所有者和组的存储方式相同。
由此推论,由于 UID 和 GID 仅以数字形式存储,因此如果您在具有不同用户的系统上安装外部驱动器/etc/passwd
,您将看到所有者和组已更改为 UID 和 GID 映射到的任何内容。其他系统。 (例如,如果您的系统上的用户me
是 UID 1000,并且您将驱动器安装在 UID 1000 为 的系统上rms
,您将看到 拥有的目录rms
。)
另一方面,如果您使用不存储 UID/GID 信息的文件系统(例如 FAT),则文件系统上每个文件的 UID/GID 将从您提供给命令的参数中获取mount
(直接或通过/etc/fstab
)。
/mount/directory
第二个推论是根文件系统的所有者或权限并不重要。一旦文件系统安装在那里,该文件系统的权限就很重要。这就是为什么我喜欢chmod a-rwx /mount/directory
在安装文件系统之前进行此操作。/mount/directory
当文件系统未安装在那里时,它可以防止我意外写入。