使用更改的 uid 和 gid 挂载外部 ext4

使用更改的 uid 和 gid 挂载外部 ext4

我正在尝试在两台不同的 ubuntu 机器之间共享一个外部硬盘。问题是,我的用户 uid 和 gid 在两台机器上是不同的。

是否有 ext4 或 ext3 的挂载选项允许您暂时更改 uid 或 gid?

我唯一的选择是在所有计算机上使用统一的 uid 吗?

答案1

最简单的事情就是确保两台机器上都存在默认的 gid,并且你的 uid 在两个组中。

最简单的方法是在两台机器上设置一个具有相同 gid 的组,然后使用类似

chmod 2770 YOUR_DRIVE

其中 2 是 setgid,这样创建的任何文件都将继承组权限,并且您将能够使用与其 uid 不匹配的同一用户在两个系统上创建或修改文件。如果您想创建组,请使用

sudo groupadd --gid UNUSUSED_GID_HERE YOUR_GROUP_NAME

在两台机器上执行此操作,然后使用 chgrp 将驱动器命名为组。

希望这是有意义的。

答案2

mount无法在支持 unix 样式文件权限的文件系统(如 ext3 和 ext4)上更改 UID。

似乎你可以使用绑定文件系统(Ubuntu 上的软件包bindfs)可以做到这一点(但我从未使用过它)。它要求您再次安装外部硬盘,并且可能会降低性能。

答案3

如果您对至少一台机器具有 root 访问权限,则可以添加或修改 uid 和 gid 以使它们匹配。

最简单的事情就是确保两台机器上都存在默认的 gid,并且你的 uid 在两个组中。

带有过于简单的密码和组列表的示例。

Machine A:
userA: 1003: group_defaultA
group_defaultA: 1002: userA
group_defaultB: 1003: userA

Machine B: 
userB: 1005: group_defaultB
group_defaultB: 1003: userB
group_defaultA: 1002: userB

相关内容