Сегодня у меня возникли серьезные проблемы с SSSD, когда вновь созданные пользователи не могли войти в систему. После устранения неполадок я обнаружил, что проблема заключалась в разрешениях безопасности объекта пользователя AD. Похоже, кто-то из моей команды недавно изменил разрешения для аутентифицированных пользователей и снял флажок чтения.
Итак, мой вопрос: какой пользователь использует сервер Linux, который был присоединен к домену с SSSD, для аутентификации и получения информации об объектах AD? Поскольку пользователи в оу, у которых были отозваны разрешения на чтение для аутентифицированных пользователей, очень важны, я хотел бы знать, какой пользователь используется для аутентификации с помощью SSSD. Может быть, это компьютерный объект сервера Linux, которому требуются разрешения?
Странно то, что когда я временно включаю разрешения на чтение, я устанавливаю идентификатор пользователя, после чего все работает нормально. Затем я снимаю отметку с разрешений на чтение для аутентифицированных пользователей, и кажется, что все продолжает работать. (Конечно, после очистки кеша sssd) Любые сведения о том, какие разрешения минимальны, для какого пользователя приветствуются.
Мы обнаружили, что на самом деле аутентифицируется компьютерный объект AD. Предоставление этому объекту разрешений на чтение для пользователя позволяет команде id получать группы. Вопрос в том, какие разрешения требуются минимально, чтобы команда id могла получить все группы?
После долгих исследований мы обнаружили, что (как я уже упоминал в вопросе) на самом деле аутентифицируется серверный компьютерный объект Linux. Предоставление разрешений на чтение для пользовательских объектов объекту-компьютеру позволяет id
для работы и получения всех групп пользователей.
Но поскольку мы не хотели разрешать чтение всем пользователям, после долгих проб и ошибок мы обнаружили, что на самом деле существует только одно обязательное необходимое разрешение, а именно: Read remote access information
. С того момента, как Read remote access information
установлен флажок (см. снимок экрана), можно использовать ìd
команда, чтобы получить все группы. Затем SSSD может проверить, входит ли пользователь в группы, настроенные с помощью simple_allow_groups
директива в /etc/sssd/sssd.conf
Если вы не указали ldap_default_bind_dn
и ldap_default_authtok
в твоем sssd.conf
, по умолчанию будет выполнена анонимная привязка к указанному серверу LDAP для получения схемы и объектов. Все остальное, например вход в систему, будет использовать предоставленные учетные данные.