Мне нужен самый простой способ аутентификации пользователей 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 из нового сеанса, не выходите из первого сеанса, если что-то пойдет не так.