Я пытаюсь обеспечить правильное членство в группах в экземпляре 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?
Спасибо за разъяснения. В приведенном ниже примере в качестве двух групп будут использоваться X и Y.
A) Перейдите в домашнюю папку xxx_org_com, выполнив следующую команду:
cd /home
Затем проверьте разрешения папок:
ls -l
Результатом будут разрешения для папок в вашем домашнем каталоге. См. Пример ниже:
drwxrwx --- 22 X X 4096 6 декабря 23:16 X
drwxr-x --- 43 Y Y 4096 10 дек. 10:39 Y
Б) Если «другие» пользователи имеют права доступа r-x для обеих групп X и Y, это означает, что X может читать и выполнять файлы внутри Y и наоборот. Если по сути вы хотите, чтобы пользователи в группе X имели полные права доступа к home / X, вы должны предоставить им права на запись, поскольку это единственное, что отсутствует.
Эта команда добавит в группу недостающее разрешение «Запись»:
sudo chmod g+w /home/X
И запуск этой команды удалит разрешения «rwx» у «других» пользователей для всех каталогов внутри папки «/ home»:
sudo chmod o-rwx /home/*
Теперь пользователь группы X не может больше просматривать / home / Y, поскольку он указан как «другие» пользователи, у которых больше нет разрешений на него (удалено на предыдущих шагах). То же самое для пользователей группы Y на home / X.
Теперь пользователи из группы X имеют полные привилегии (rwx) над каталогом home / X, как было установлено ранее.
C) Теперь нам нужно добавить пользователей из «группы Y» в «группу X», чтобы пользователи группы Y могли получить доступ и полностью использовать каталог / home / X. Для этого выполните следующую команду:
sudo usermod -aG X Y
Затем проверьте, работает ли он, запустив groups Y
команда. Вы должны увидеть распечатку всех пользователей групп «Y», к которым принадлежат группы X, которые должны быть среди них.
Имейте в виду, что разрешения на чтение / запись / выполнение в ваших группах могут отличаться. Если да, запустите команды в соответствии с вашими разрешениями.
Вы можете использовать Cloud Identity Groups API который позволяет вам создать особый класс группы, который вы можете сопоставить с внешними идентификаторами вне Google, такими как членство в Linux.
включить API Cloud Identity Groups из библиотеки API. После включения API вы должны создать учетная запись службы следуя инструкциям в документации. Как только это будет сделано, вы можете использовать методы в REST API для создания и использования идентификационных групп.
Отображение внешней идентичности позволит вам объединить контекст и управление доступом из нескольких источников в единое решение. Это позволит пользователям назначать средства управления доступом Linux, специфичные для групп пользователей в их организации.
Чтобы импортировать пользователей и группы, которые еще не являются внешним источником идентификации, необходимо сначала создать источник идентификации, а затем импортировать информацию о пользователях и группах в Cloud Identity.