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