Аутентификация Linux в Active Directory

Опубликовано: 26 Марта, 2023


Аутентификация Linux в Active Directory


Следует иметь в виду, что даже при входе в Active Directory полный единый вход пока не предлагается. Вам все равно придется указать имя пользователя и пароль, если вы используете прокси-сервер на базе Windows, такой как ISA-сервер. Вам, вероятно, все равно придется использовать имя пользователя и пароль, если вы используете почтовый сервер на базе Windows (хотя Evolution поддерживает API GSS, и благодаря этому вы сможете исключить этот вход в систему — я попробую это в какой-то момент).


Однако это означает, что вы можете использовать одно и то же имя учетной записи и пароль для входа на свой компьютер с Linux или Windows, а также это означает, что вы можете изменить свой пароль в Linux. Кроме того, если это требуется вашей компании, сетевые администраторы смогут войти на ваш компьютер со своими учетными данными администратора. Таким образом, Linux-машина больше не является «островом». Также возможно расширить активный каталог, чтобы разрешить управление домашними каталогами и т. д. в активном каталоге.


Альтернативы


Существует 2 альтернативы аутентификации в Active Directory:



  1. Использование клиента kerberos (требуется Active Directory)
  2. Использование клиента Winbind и Samba

На мой взгляд, вариант 1 самый чистый. Я определенно нашел его более простым в настройке. Вариант 2 предлагает некоторые дополнительные функции, в частности использование команды th net, с помощью которой вы можете перечислить пользователей домена и многое другое. Однако на большинстве рабочих станций это не требуется. Поэтому, если у вас есть активный каталог, я рекомендую вариант 1.


Описание установки на Suse Linux 9.1


В Suse Linux настроить клиент Kerberos очень просто. Следуй этим шагам:



1. Перейдите в Yast, Network Services и нажмите на клиент kerberos. Теперь появится конфигурация клиента Kerberos.



2. Введите доменное имя вашего активного каталога как в домене по умолчанию, так и в полях области по умолчанию. Введите имя заглавными буквами. В поле адреса сервера KDC введите полное доменное имя одного из ваших серверов доменных имен, т. е. domainserver.mydomain.com. Нажмите OK, чтобы закончить.


Теперь Yast отредактирует для вас файл /etc/krb5.conf. Раздел realms & domain_realm будет создан с вашей областью по умолчанию, сервером KDC и именем области. Например:






Особо следует отметить наклонную линию часов. Это указывает, насколько чувствительным должен быть kerberos к разнице во времени между сервером и клиентом. Вы можете увеличить это значение, но лучше всего обеспечить, чтобы сервер и клиент имели одинаковое время, используя сервер NTP.


3. Протестируйте клиент Kerberos с помощью Kinit. Откройте оболочку и введите kinit. По умолчанию будет взято ваше имя пользователя и добавлено имя домена/области по умолчанию. Это означает, что ваше имя пользователя Linux должно совпадать с именем пользователя в Active Directory. Если это не так, укажите имя пользователя в командной строке, т.е.



киинт <имя_пользователя>
[email protected] Пароль:


Вам будет предложено ввести пароль для Windows/Active Directory.


Если все прошло по плану, вы должны получить следующий текст:



kinit: ВНИМАНИЕ: срок действия билета с продлением составляет 1 неделю.


4. Ваш билет оформлен. Вы можете ввести «klist», чтобы увидеть, где хранится ваш билет, и просмотреть подробную информацию о билете.


5. Убедившись, что настройки вашего клиента Kerberos работают, вы можете сообщить другим приложениям, что они могут использовать вход Kerberos, и им не нужно будет снова запрашивать у вас имя пользователя и пароль. Программы, которые будут использовать вход в систему Kerberos, являются ссылками в каталоге /etc/pam.d. Сделать это:



а. Отредактируйте файл /etc/security/pam_unix2.conf. (сначала сделайте резервную копию!) Местоположение этого файла зависит от используемого вами дистрибутива. В SUSE он находится в подкаталоге безопасности. Добавьте следующие строки:
авторизация: use_krb5 nullok
аккаунт: use_krb5
пароль: use_krb5 нульлок
сеанс: нет


6. Перезагрузите компьютер. При появлении запроса на вход вы сможете войти в систему, используя свое имя пользователя и пароль Windows. Вы заметите задержку в процессе аутентификации — это связано с тем, что аутентификация на сервере Windows, конечно, медленнее, чем на локальном файле.