Я действительно хотел бы выяснить, как я могу разрешить пользователям и / или группам доступ к определенным клиентским машинам, которые все подключены к серверу OpenLDAP. Я хотел бы сделать это независимо от того, сидит ли пользователь прямо перед самой клиентской машиной или он / она использует SSH. И последнее, что я хотел бы иметь возможность управлять всем этим с сервера OpenLDAP, а не с клиента, если это возможно.
Спасибо алекс
Не думаю, что у вас получится сделать это без изменения клиентских конфигураций. Однако после того, как все клиентские компьютеры будут настроены, вы сможете управлять этим с сервера LDAP.
Один из способов добиться этого:
Напишите access_ldap.conf
файл, который содержит это, и поместите его /etc/security
:
+:root:ALL
-:ALL EXCEPT (the_group_that_has_access):ALL
Есть access.conf
файл в /etc/security/
но это обычно включается в некоторые системные правила в /etc/pam.d
, поэтому его труднее редактировать, поскольку вы должны гарантировать, что системные демоны могут «входить в систему», поэтому вы не можете заблокировать всех, кроме одной группы, без написания правил для системных пользователей. С отдельным файлом проще.
Обратите внимание, что круглые скобки вокруг имени группы указывают на то, что имя на самом деле является именем группы (pam_access.so
ищет группу, если не может найти пользователя, и по этой причине круглые скобки могут быть названы излишними, но это «правильный» способ обозначения групп).
Кроме того, первая строка в любом случае предоставляет доступ к root. Вы можете захотеть добавить и других пользователей / группы, так как любой, кто не указан в этом файле, будет заблокирован второй строкой.
Вы хотите login
и ssh
в пользу этой новой конфигурации, но другие службы должны работать как раньше. Для этого отредактируйте login
и sshd
файлы в /etc/pam.d
чтобы содержать эту строку:
account required pam_access.so accessfile=/etc/security/access_ldap.conf
Таким образом, только члены данной группы смогут получить доступ к компьютеру через ssh или логин. Членством в группах и, следовательно, доступом к компьютерам можно управлять в LDAP.
Это практически тот вариант использования, для которого было разработано мое собственное решение, полностью основанное на бесплатном программном обеспечении:
Æ-DIR - Каталог авторизованных лиц
В основном системы / службы являются членами групп обслуживания, и вы определяете, какие группы пользователей имеют право входа в группу обслуживания.
Это немного косвенное обращение, реализованное с помощью списков ACL OpenLDAP, предоставляющих доступ для чтения пользователям и группам, и особенно атрибуты пользователей, необходимые для входа в систему. Чтобы избежать распространенного недоразумения: вы просто будете поддерживать записи LDAP для изменения прав доступа; ACL OpenLDAP статичны.
Честно говоря, вам нужно настроить в клиенте LDAP одну вещь: учетные данные системы, либо bind-DN и пароль, либо сертификат клиента TLS.
Потребуется время, чтобы понять концепции и смоделировать данные в соответствии с вашими требованиями к управлению доступом. И совершенно уверен, что он не выполнит все ваши пожелания относительно контроля доступа.
P.S .: Я хотел бы услышать о людях, имеющих большие установки с контролем доступа к хосту на основе сетевые группы потому что я хотел бы узнать, можно ли написать инструмент автоматической миграции для преобразования сетевая группа отображается в Æ-DIR aeSrvGroup.
FreeIPA имеет аналогичные цели, и они реализуют так называемую политику HBAC и некоторые другие для достижения этой цели. Насколько я понимаю, вам придется использовать sssd с бэкэндом IPA, чтобы использовать весь набор функций. sssd это точка применения политики.
Извините, я недостаточно знаком с их онлайн-документами, и поэтому у меня нет хороших ссылок на документацию, кроме Обзор документации FreeIPA.