我正在尝试使用 OS Login 在 GCP Compute Engine 实例中拥有适当的组成员身份。理想情况下,它会尊重组织成员身份,但这似乎没有发生。
用户 1 有用户名xxx_org_com
并且属于组698704386 adm dip video plugdev lxd
,而用户 2 有用户名yyy_org_com
并且属于组1944936932 adm dip video plugdev lxd
。
值得注意的是,org.com 由 Gsuite 管理,这些都是经过 GSuite 身份验证的用户,而不是来自 AD 等第三方数据源。
因此,如果不手动创建组,我不确定如何将文件夹组标记为可读/可写,而不使其也可供所有人读/写。
我做错了什么或者这不是 os-login 的一个好用例?
答案1
谢谢您的澄清。下面的示例将使用 X 和 Y 作为两个组。
A) 通过运行以下命令转到 xxx_org_com 的主文件夹:
cd /home
然后验证文件夹的权限:
ls -l
输出内容是你的主目录下的文件夹的权限。见下面的例子:
drwxrwx--- 22 XX 4096 十二月 6 23:16 X
drwxr-x--- 43 YY 4096 12月10日 10:39 Y
B) 如果“其他”用户对组 X 和 Y 都具有权限 rx,则意味着 X 可以读取和执行 Y 内的文件,反之亦然。例如,如果您希望组 X 中的用户对 home/X 具有完全权限,则必须授予他们写入权限,因为这是唯一缺少的权限。
此命令将为组添加缺失的“写”权限:
sudo chmod g+w /home/X
运行此命令将删除“其他”用户对“/home”文件夹内所有目录的“rwx”权限:
sudo chmod o-rwx /home/*
现在,X 组的用户无法再查看 /home/Y,因为它被列为“其他”用户,不再具有任何权限(已在前面的步骤中删除)。对于 home/X 上的 Y 组用户,情况也是如此。
现在,来自 X 组的用户对 home/X 目录拥有先前设置的完全权限 (rwx)。
C) 我们现在需要将“Y 组”中的用户添加到“X 组”,以便 Y 组的用户可以完全访问和使用 /home/X 目录。运行以下命令来执行此操作:
sudo usermod -aG X Y
然后通过运行groups Y
命令来验证它是否有效。您应该看到所有组“Y”用户的打印输出,并且组 X 应该在其中。
请记住,您组的读/写/执行权限可能不同。如果是这样,请根据您的权限运行命令。
答案2
您可以使用Cloud Identity 群组 API它可让您创建一个特殊的群组类别,并将其映射到 Google 外部的外部身份,例如 Linux 成员资格。
使能够从 API 库中获取 Cloud Identity Groups API。启用 API 后,您必须创建一个服务帐户按照文档中的步骤操作。完成后,您可以使用REST API构建和使用身份群体。
外部身份映射可让您将来自多个来源的上下文和访问控制统一到单个解决方案中。这将允许用户为其组织中的用户组分配特定的 Linux 访问控制。
为了导入尚不是外部身份源的用户和群组,您必须先创建身份源,然后将用户和群组信息导入 Cloud Identity。