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

Аутентификация пользователей 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)

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

#!/bin/bash
ADSWorkgroup="yourdomain"
ADSDomain="yourdomain.com"
ADSServer="domaincontroller.yourdomain.com"
AdminUser="[email protected]"

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

Связанный контент