Я пытаюсь настроить сервер VsFTPd для аутентификации снова на сервере LDAP. Это может быть легко, но поскольку я впервые использую и LDAP, и PAM, у меня возникают некоторые трудности. VsFTPd работает на сервере Ubuntu 11.04, а LDAP - это OpenLDAP на сервере Ubuntu 10.10. Я отключил AppArmor на первом. VsFTPd не может подключиться к серверу LDAP, в моем системном журнале есть:
vsftpd: pam_ldap: ldap_simple_bind Can't contact LDAP server
Сервер LDAP в порядке, так как я могу ldapsearch
.
Вот мой /etc/pam.d/vsftpd
файл:
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
@include common-account
@include common-session
@include common-auth
auth required pam_ldap.so
account required pam_ldap.so
session required pam_ldap.so
password required pam_ldap.so
И вот мой /etc/ldap.conf
файл:
base dc=example,dc=com
uri ldapi:///ldap.example.com
ldap_version 3
rootbinddn cn=admin,dc=example,dc=com
pam_password md5
nss_initgroups_ignoreusers a_bunch_of_system_users
Кто-нибудь может мне помочь ? Спасибо.
РЕДАКТИРОВАТЬ: новая версия /etc/pam.d/vsftpd
файл:
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
account required pam_unix.so
account sufficient pam_ldap.so
session required pam_limits.so
session required pam_unix.so
session optimal pam_ldap.so
auth required pam_env.so
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_ldap.so use_first_pass
auth required pam_shells.so
Хорошо, эта часть проблемы решена. Вот рабочий /etc/pam.d/vsftpd
файл:
auth required pam_ldap.so
account required pam_ldap.so
password required pam_ldap.so
И вы должны добавить эту строку в /etc/vsftpd.conf
:
guest_enable=YES
После этого есть еще некоторая работа по правильному удалению пользователей LDAP на FTP-сервере, но теперь они могут войти в систему.
Еще раз спасибо Рилиндо за вашу помощь. В конце концов, проблема не в ACL.
В соответствии с man ldap.conf
:
URI <ldap[si]://[name[:port]] ...>
Схема URI может быть любой из ldap, ldaps или ldapi, которые относятся к LDAP через TCP, LDAP через SSL (TLS) и LDAP через IPC (сокеты домена UNIX) соответственно.
Итак, меняем uri ldapi:///ldap.example.com
к uri ldap:///ldap.example.com
и попробуй еще раз.