Ftp

VsFTPd - LDAP - PAM

  • January 21, 2016

我正在嘗試配置 VsFTPd 伺服器以再次對 LDAP 伺服器進行身份驗證。這可能很容易,但由於這是我第一次同時使用 LDAP 和 PAM,所以我遇到了一些困難。VsFTPd 在 Ubuntu Server 11.04 上執行,LDAP 是 10.10 Ubuntu Server 上的 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]] ...>

URI 方案可以是ldapldapsldapi中的任何一個,它們分別指的是 LDAP over TCP、LDAP over SSL (TLS) 和 LDAP over IPC(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 使用者,但他們現在可以登錄了。

再次感謝 Rilindo 的幫助。畢竟,ACL 不是這裡的問題。

引用自:https://serverfault.com/questions/318622