有没有办法在文件系统上“非数字地”存储用户权限?

有没有办法在文件系统上“非数字地”存储用户权限?

我刚刚将驱动器从一台计算机移到另一台计算机,发现由于 UID 不匹配,文件无法再访问。我的用户在一台计算机和驱动器上的 UID 为 1000,而我的用户在另一台计算机上的 UID 为 1001。

有没有办法将权限存储在文件系统上,这样人们就不必依赖所有计算机上的 UID 匹配?ACL 和 xattrs 存储的是 UID 还是用户名?

答案1

简短回答:不。你的问题没有说明你移动的磁盘上的文件系统是什么,但它在 Linux 系统上包含 UID 这一事实表明它是 EXT 的一些变体,并且 UID、GID 等以整数形式存储在 INODE 结构中 - 请参阅https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table

如果您想以与所有者无关的方式移动数据,那么您可以将磁盘格式化为不存储所有权信息的 FAT32 之类的格式,但这样一来,您就会失去文件名的大小写区分性和日记等用于防止写入错误的信息。

如果您只有少量计算机,那么最好的办法可能是使用相同的 ID 创建所有用户和组。阅读特定发行版的 useradd/adduser 和 groupadd/addgroup 文档,了解如何指定数字。

相关内容