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

Авторизация с помощью Active Directory в Linux с использованием Kerberos 5

У меня проблема с настройкой аутентификации для пользователей Linux (Fedora Core 15, если быть точным) с помощью Active Directory на Windows 2008 Server с установленной поддержкой систем UNIX. Я успешно настроил Kerberos, протестировал с помощью kinit -p <login> и klist посмотреть билет. Но я все еще не могу войти в систему.

Чтобы уменьшить количество бесполезных ответов для меня: использование Samba, Winbind, Likewise или другого программного обеспечения запрещено. Разрешен только NIS / LDAP.

Уточнение: я хочу настроить клиентский компьютер как с локальным, так и с SSH доступом.

Обновление: я настроил доступ к AD через LDAP, getent passwd 106289gm и getent shadow давать верные ответы, но getent group не показывает никаких групп AD.

Если вы хотите "легкий путь", у меня был хороший опыт работы с system-config-authentication а Winbind делает это с помощью графического интерфейса. Очевидно, это не является явным образом Kerberos, поэтому, если вы чувствуете склонность, проголосуйте против меня соответствующим образом. Вы можете использовать Winbind, но он также явно разрешает использование LDAP, если это лучше соответствует вашим требованиям. Я получаю зловещую красную ошибку о библиотеках NSS-LDAP,

Файл /lib64/libnss_ldap.so.2 не найден, но он необходим для правильной работы поддержки LDAP. Установите nss-pam-ldapd пакет, который предоставляет этот файл.

но я уверен, что вы можете установить это с помощью yum с минимальными усилиями. Вы говорите, что хотите Kerberos, но при этом разрешаете только NIS / LDAP. Так почему бы просто не получить доступ к AD, как если бы это был LDAP. По моему опыту, это определенно возможно. Он также дает вам возможность настроить Kerberos. Смотрите скриншот.

Подсказка, подсказка, это Fedora 15не Fedora Core, и не было "Core" для какое-то время. Я не буду шутить по поводу раздувания, связанного со сменой имени (как сам очень преданный пользователь Fedora).

Одно дело пройти аутентификацию с помощью kerberos, другое - иметь возможность войти в систему. Для входа вам необходимо:

  1. Действительная аутентификация (частично выполнена: предоставляется kerberos. Необходимо проверить, считает ли pam login / auth этого достаточно)
  2. Действительный идентификатор пользователя и группа (обычно предоставляются winbind, аналогично, ldap, Centrify, службами AD для unix. Или локально в файлах / etc / passwd, / etc / group)
  3. Допустимые записи и порядок поиска в /etc/nsswitch.conf для пользователя и группы.
  4. Допустимая оболочка и домашняя страница (обычно создаются заранее или автоматически монтируются)

Примечание 1: поскольку вы можете сделать getent passwd но нет getent group, Я подозреваемый вы используете карту Active-Directory Services для Unix с подходом LDAP. У вас есть действующий gid, установленный внутри для Domain \ Domainusers? AFAIK, Kerberos не предоставляет (и не проверяет) для групп. Возможность видеть записи uid означает, что LDAP правильно отображает, но записей gid может не быть в LDAP.

Примечание 2. Существует также ограничение на количество входов, которые LDAP может вернуть в одном запросе, и, возможно, некоторое время, необходимое для получения результатов. Вы ждали достаточно долго? Можете ли вы конкретно проверить записи, например getent passwd user1, getent passwd Domain\\user1, getent group domain-groupname-shown-in-getent-passwd. Это должно обойти время поиска или даже тайм-аут.

Включили ли вы вход Kerberos в PAM?

Смотреть в /etc/pam.d/system-auth для строки, которая гласит: «auth достаточный pam_krb5.so» (или что-то в этом роде). Если вы этого не видите, бегите authconfig --enablekrb5 --update, убедитесь, что в файле есть такая строка, а затем попробуйте войти снова.

Какую версию AD вы используете? В зависимости от версии, расширения стандартной схемы должны быть установлены или включены. Пользователям, выполняющим аутентификацию в системах Linux, потребуются дополнительные параметры, установленные в AD.

Кроме того, трудно оказать помощь, не видя свои файлы конфигурации и не зная, какое конкретное сообщение об ошибке вы видите в журналах аутентификации. Если вам удалось получить билет, это, вероятно, означает, что ваши настройки Kerberos верны. Но pam, nsswitch и ldap также должны быть правильно настроены.

tcpdump также может быть очень полезен в этих ситуациях. Иногда сообщения об ошибках не очень полезны, и может быть очень полезно наблюдать за разговором напрямую по сети.