![如何记住外部驱动器的文件所有者和组?](https://linux22.com/image/37882/%E5%A6%82%E4%BD%95%E8%AE%B0%E4%BD%8F%E5%A4%96%E9%83%A8%E9%A9%B1%E5%8A%A8%E5%99%A8%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%80%E6%9C%89%E8%80%85%E5%92%8C%E7%BB%84%EF%BC%9F.png)
我用 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
当文件系统未安装在那里时,它可以防止我意外写入。