Назад | Перейти на главную страницу

Интеграция Linux / AD с SSSD: как выбрать, в какие системы может входить пользователь?

Мы пробуем интеграцию ActiveDirectory на некоторых Linux-системах с SSSD.

Пока все хорошо, мы присоединили Linux-системы к домену и можем входить в Linux-системы с пользователями, определенными в AD. Прямо сейчас каждый пользователь AD может войти в любую систему Linux, интегрированную с SSSD.

Как я могу позволить пользователю Foo войти в LinuxServer01, но не дать ему войти в LinuxServer02? И / или как я могу заблокировать пользователю вход в каждую систему Linux и позволить ему просто войти в некоторые из них?

я бы порекомендовал против использование фильтров управления доступом на основе фильтров для большинства развертываний по двум причинам:

  • их трудно понять
  • фильтры применяются к записи пользователя, который входит в систему. Это может иметь интересные последствия, особенно если фильтр содержит memberof атрибут, пока пользователь является членом вложенных групп - поскольку запись пользователя содержит только элементы memberofs для непосредственных родителей, вложенные группы никогда не будут совпадать.

Для очень простых случаев использования, таких как разрешение пользователю или группе пользователей, я бы рекомендовал использовать поставщик простого доступа

Для сложных случаев использования SSSD поддерживает AD GPO, начиная с серии 1.12.x, выполните поиск в Справочная страница sssd-ad для подробностей.

В файле конфигурации sssd.conf вы можете изменить фильтр доступа в соответствии со своими потребностями:

Под domain/default раздел, попробуйте следующее:

access_provider = ldap
ldap_access_filter = memberOf=cn=GroupName,ou=Groups,dc=domain,dc=com

Сделав еще несколько RTFM, я нашел подробности в sssd-ad (5) - Наверное, в первый раз я их пропустила:

  • по умолчанию access_provider является permit, поэтому каждому пользователю, который может пройти аутентификацию, предоставляется разрешение на вход в систему. Это объясняется в sssd.conf (5).
  • для управления определенными разрешениями вы должны установить access_provider = ad
  • затем вы используете ad_access_filter как подробно описано в sssd-ad (5) чтобы определить фильтр для пользователей, которые могут войти в систему

(но я все еще не знаю, есть ли способ указать системы одну за другой на стороне AD, чтобы пользователь разрешил вход в систему)