【发布时间】:2022-12-01 17:42:56
【问题描述】:
我想在 RHEL8 上使用 vsftpd 设置一个新的 ftp 服务器,我们想使用 LDAP(389 目录服务器)进行用户身份验证。据我所知,ldap_pam.so 模块在 RHEL8 中已被弃用,所以我想知道如何在没有 PAM 模块的情况下将远程 LDAP 服务器连接到我的 vsftpd 服务?
【问题讨论】:
标签: ldap pam rhel8 vsftpd sssd
我想在 RHEL8 上使用 vsftpd 设置一个新的 ftp 服务器,我们想使用 LDAP(389 目录服务器)进行用户身份验证。据我所知,ldap_pam.so 模块在 RHEL8 中已被弃用,所以我想知道如何在没有 PAM 模块的情况下将远程 LDAP 服务器连接到我的 vsftpd 服务?
【问题讨论】:
标签: ldap pam rhel8 vsftpd sssd
这独立的pam_ldap 和 libnss_ldap 模块(由 PADL 开发)已过时,但它们具有 nslcd 守护程序随附的近乎直接的替代品,并且是还称为 pam_ldap 和 libnss_ldap。它们可以在“nss-pam-ldapd”包中找到。
(旧模块被删除的部分原因是它们执行 LDAP 请求进行中,要求将 libldap 及其所有依赖项加载到执行用户查找的每个进程中,这导致了各种问题。 nslcd/nss-pam-ldapd 附带的 pam_ldap 的较新变体没有此类问题。)
但是,Red Hat 的首选选项可能是 sssd 服务,它使用 pam_sss 和 libnss_sss 模块。它针对 MS AD 和 FreeIPA 进行了一些优化,但仍然可以与任何通用 LDAP(和 Kerberos)服务器一起使用。
【讨论】:
这是 rhel8 中 vsftpd 和 ldap 之间连接的完整设置:
在 /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd
在 /etc/pam.d/vsftpd 中:
#%PAM-1.0
auth required pam_sss.so domains=vsftpd
account required pam_sss.so
在 /etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam
domains = vsftpd
[domain/vsftpd]
id_provider = ldap
sudo_provider = none
auth_provider = ldap
ldap_uri = ldap://example.com
ldap_search_base = ou=example1,ou=example2
【讨论】: