在外部驱动器上共享 ext3/ext4 分区

在外部驱动器上共享 ext3/ext4 分区

有没有一种方法可以在不同的 Linux 机器上的不同用户 (uid) 之间共享外部 USB 驱动器上的 ext3/ext4 格式的分区,而无需为此目的创建组,将分区的组所有权设置为该组,并将每个相应的用户添加到每台机器上的组中?

这意味着我需要在每台机器上拥有 root 权限……但在某些情况下我可能没有。

我正在使用该分区来存储我在 Linux 上开发的代码,并且我希望该选项是安全的……如果可能的话。

我可以使用 vfat 分区,但是我无法控制 rw 权限 + 我无法直接在目录中开发:我总是必须将目录压缩为 tar.gz,提取,工作,tar.gz,复制到外部驱动器...等等。

谢谢!

答案1

如果我理解正确的话,您知道 linux 将权限存储在 UID / GID 标识上。当您将其连接到另一台计算机时(我想这不是以共享方式,而是像从一台计算机移除并连接到另一台计算机的闪存驱动器一样),linux 会执行以下操作:

  1. “哦,我有一个新的驱动器。特定文件 blablabla 的 uid = 223,gid = 221”

  2. “此处的用户 john_doe 的 uid = 223。嘿,匹配!因此文件 blablabla 归 john_doe 所有”

所以,只要你在不同的计算机上有相同的 uid 和 gid,扩展驱动器就会根据本地 Linux 机器的名称 = uid 关系进行挂载。

好的,所以您知道该怎么做:将您的用户配置为在每台计算机上具有相同的 uid。

但这并不能解决您的问题:基于外部驱动器权限和 uid 的安全性将很容易被规避。例如:我拿走您的驱动器,将其安装到我的 Linux 机器上,我是其中的 root。我可以访问所有内容,读取、写入...

答案2

如果他们使用相同类型的发行版,则可以使用一些通用的组 ID。

例如,对于基于 Debian 的发行版,您可以使用 audio (29) 组或 plugdev (46),您可以观察客户端机器上的组 (cat /etc/groups - 不需要 root 访问权限) 并查看成员基础最大的组

相关内容