Проверка подлинности пользователей Active Directory на сервере Ubuntu
Мне нужен самый простой способ аутентификации пользователей Active Directory на Ubuntu Server (при входе в систему).
Я пытаюсь с libnss-ldap, но он работает только с простым сервером LDAP (например, SLAPD), но теперь Active Directory. Я слышал, что в libnss-ldap есть небольшая утечка памяти, и они прекратили ее разработку, поэтому я должен использовать вместо нее libnss-ldapd или sssd, но они пока слишком сложны.
1 ответ
Есть довольно простая установка, которая требует только 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, добавив следующее после записи колеса:
"%domain admins" ALL=(ALL) ALL
Вам должно быть хорошо идти! Убедитесь, что вы пробуете sshing из нового сеанса, не выходите из первого сеанса на случай, если что-то пойдет не так.