我正在尝试configurationVsFTPd服务器以再次validationLDAP服务器。 这可能很简单,但是由于这是我第一次使用LDAP和PAM,所以我遇到了一些困难。 VsFTPd在Ubuntu Server 11.04上运行,LDAP在10.10 Ubuntu服务器上是OpenLDAP。 第一个我禁用了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
根据man ldap.conf :
URI <ldap[si]://[name[:port]] ...>
URIscheme可以是ldap , ldaps或ldapi中的任何一种 ,分别指TCP上的LDAP,SSL上的LDAP(TLS)和IPC上的LDAP(UNIX域套接字)。
因此, uri ldapi:///ldap.example.com更改为uri ldap:///ldap.example.com然后重试。
好的,这个问题的一部分已经解决了。 这里是工作/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
在此之后,仍然有一些工作需要在FTP服务器上正确地chroot LDAP用户,但现在他们可以login了。
再次感谢Rilindo的帮助。 毕竟,ACL在这里不是问题。