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

Аутентификация пользователей Active Directory на сервере Ubuntu

Мне нужен самый простой способ аутентификации пользователей Active Directory на сервере Ubuntu (при входе в систему).

Я пытаюсь использовать libnss-ldap, но он работает только с простым сервером LDAP (например, SLAPD), но теперь с Active Directory. Я слышал, что libnss-ldap имеет небольшую утечку памяти, и они прекратили его разработку, поэтому я должен использовать вместо него libnss-ldapd или sssd, но пока они слишком сложны.

Есть довольно простая установка, для которой требуются только samba и pam_mkhomedir.so (используйте apt-get install)

Затем создайте новый файл для настройки аутентификации с указанным ниже содержимым. Отредактируйте переменные в верхней части файла. Первая запись (рабочая группа) - это NETBIOS-имя вашего домена.

#!/bin/bash
ADSWorkgroup="yourdomain"
ADSDomain="yourdomain.com"
ADSServer="domaincontroller.yourdomain.com"
AdminUser="user@yourdomain.com"

authconfig --update --kickstart --enablewinbind --enablewinbindauth --smbsecurity=ads \
--smbworkgroup=$ADSWorkgroup --smbrealm=$ADSDomain \
--smbservers=$ADSServer --winbindjoin=$AdminUser \
--winbindtemplatehomedir=/home/%U --winbindtemplateshell=/bin/bash \
--enablewinbindusedefaultdomain --enablelocauthorize

После создания файла сделайте его исполняемым с помощью chmod +x <filename>. Запустите файл и введите свои учетные данные AD, когда вас попросят.

Затем отредактируйте /etc/pam.d/sshd, добавив следующую строку после "pam_selinux.so close"

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

Наконец, используйте visudo, чтобы разрешить соответствующей группе AD использовать sudo, добавив следующее после записи wheel:

"%domain admins"     ALL=(ALL)     ALL

Тебе должно быть хорошо! Убедитесь, что вы пытаетесь выполнить sshing из нового сеанса, не выходите из первого сеанса, если что-то пойдет не так.