Доброго дня!
Есть следующие компоненты:
1. FreeBSD 8.3-STABLE
2. Pure-ftpd скомпилированный с поддержкой pam.
3. Установленные пакеты :
...
nss_ldap-1.265_7 RFC 2307 NSS module
openldap-client-2.4.26 Open source LDAP client implementation
pam_ldap-1.8.6_2 A pam module for authenticating with LDAP
...
4. Настройки ldap.conf и nss_ldap.conf (ссылка на ldap.conf):
host dc00.mydomain.ru
base DC=mydomain,DC=ru
ldap_version 3
binddn CN=Administrator,CN=Users,DC=mydomain,DC=ru
bindpw StRoNgPassWord
port 389
scope sub
# Services for UNIX 3.5 mappings
pam_password ad
nss_base_passwd OU=Accounts,OU=MyCompany,DC=mydomain,DC=ru
nss_base_group OU=Groups,OU=MyCompany,DC=mydomain,DC=ru
nss_map_objectclass posixAccount User
nss_map_objectclass shadowAccount User
nss_map_attribute uid msSFU30Name
nss_map_attribute uniqueMember msSFU30PosixMember
nss_map_attribute userPassword msSFU30Password
nss_map_attribute homeDirectory msSFU30HomeDirectory
nss_map_attribute homeDirectory msSFUHomeDirectory
nss_map_objectclass posixGroup Group
pam_login_attribute msSFU30Name
pam_filter objectclass=User
nss_map_attribute cn sAMAccountName
5. Настройки /etc/pam.d/pure-ftpd
auth sufficient /usr/local/lib/pam_ldap.so
6. На DC00 (контроллер домена) установлены сервисы для Unix...
7. У пользователей АД появились дополнительные атрибуты (guid, uid и т.д.)Нужно, чтобы пользователи из АД могли попадать в pure-ftpd, если они входят в определённую группу в АД. И аутентификацию надо именно через pam и ldap.
Смотрю на контроллере домена WireShark-ом, при попытке доступа в FTP-сервер запрос на контроллер домена шлётся. Биндинг срабатывает успешно, поиск проходит, однако результат поиска почему-то = 0 (bindresponse success, resultcode success (0)). Хотя и аккаунт и пароль вбивается правильный. Фильтр в запросе простой: Filter: (&(objectclass=User)(msSFU30Name=Vasya.Pupkin)), если искать обычным LDAP-эксплорером - всё находится. Однако, меня смущает то, что в запросе ищутся ещё 10 атрибутов:
host; authorizedService; shadowExpire; shadowFlag; shadowInactive; и т.д. У кого работает - поделитесь опытом...
Вообще такие вещи делаются с помощью winbind.http://www.lissyara.su/archive/samba+acl/ - достаточно подробная статья .
>[оверквотинг удален]
> в определённую группу в АД. И аутентификацию надо именно через pam
> и ldap.
> Смотрю на контроллере домена WireShark-ом, при попытке доступа в FTP-сервер запрос на
> контроллер домена шлётся. Биндинг срабатывает успешно, поиск проходит, однако результат
> поиска почему-то = 0 (bindresponse success, resultcode success (0)). Хотя и
> аккаунт и пароль вбивается правильный. Фильтр в запросе простой: Filter: (&(objectclass=User)(msSFU30Name=Vasya.Pupkin)),
> если искать обычным LDAP-эксплорером - всё находится. Однако, меня смущает то,
> что в запросе ищутся ещё 10 атрибутов:
> host; authorizedService; shadowExpire; shadowFlag; shadowInactive; и т.д. У кого работает
> - поделитесь опытом...
> Вообще такие вещи делаются с помощью winbind.Понимаю... Но это слишком много. Согласитесь, LDAP-клиент + ещё два пакета и всё. А Samba - это очень много...