我正在尝试配置一个VsFTPd服务器来再次对LDAP服务器进行身份验证。这可能很容易,但由于这是我第一次同时使用LDAP和PAM,所以我遇到了一些困难。VsFTPd运行在UbuntuServer11.04上,而LDAP是10.10UbuntuServer上的OpenLDAP。我在第一次禁用了AppArmor。VsFTPd无法连接到LDAP服务器,在我的syslog中有:
vsftpd: pam_ldap: ldap_simple_bind Can't contact LDAP server
由于我可以执行ldapsearch,所以LDAP服务器是可以的。
这是我的/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发布于 2011-10-05 08:42:52
根据man ldap.conf的说法:
URI <ldap[si]://[name[:port]] ...>URI方案可以是任何ldap、ldaps或ldapi,分别指TCP上的LDAP、SSL上的LDAP (TLS)和IPC上的LDAP (UNIX域套接字)。
因此,将uri ldapi:///ldap.example.com更改为uri ldap:///ldap.example.com,然后再试一次。
发布于 2011-10-05 21:11:34
好的,这部分问题已经解决了。下面是工作的/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服务器中的LDAP用户进行适当的修改,但是他们现在可以登录了。
再次感谢Rilindo的帮助。毕竟,all不是这里的问题。
https://serverfault.com/questions/318622
复制相似问题