好吧,所以我想不出一个有意义的标题,但问题是这样的:我有一个在笔记本电脑 A 上创建的可移动驱动器。我的用户是第一个创建的,因此可移动驱动器上的所有文件都归用户 1000 拥有。
当我在笔记本电脑 A 上安装驱动器时,我可以毫无问题地处理文件,例如,我可以读取模式位为 400 的文件。然而,在笔记本电脑 B 上,我的用户是第二一(因此为 1001)。因此,当我在 GUI(KDE)上安装驱动器时,我无法访问相同的文件,因为我不拥有它们。
问题是:我能否以某种方式安装驱动器,最终让我拥有这些文件?最好是自动安装,这样我就不必每次安装时都转到 CLI。似乎这可以通过 udisks 实现但那里的答案缺乏细节。
答案1
此类 ID 映射功能是最近才添加的(Linux 内核 v5.12 或更高版本);它仍然需要更新 util-linuxmount
命令才能普遍使用,但您可以尝试构建安装-idmapped工具代替:
# mount-idmapped --map-mount=u:1000:1001 /run/media/david/MyHDD /mnt/MyHDD_mapped
(更新:mount
最新的 util-linux 现在已经内置了此功能,尽管选项不同。)
如果您运行的内核中没有此功能(或者您无法安装“mount-idmapped”),则需要使用基于 FUSE 的bindfs
覆盖:
# bindfs --map=1000/1001 /run/media/david/MyHDD /mnt/MyHDD_mapped
我仍然建议您在所有系统上统一您的 UID(usermod
并且小心chown
)。
似乎可以通过 udisks 实现
目前 – 不支持,因为 ext4 不支持 vfat/ntfs 驱动程序所具有的 uid/gid 选项。(似乎没有人意识到这一点,每个文件系统都单独实现选项…… uid=
)gid=