在CentOS上集成FTP服务器与LDAP认证,可以按照以下步骤进行:
首先,确保你的CentOS系统已经安装了vsftpd和openldap-clients。
sudo yum install vsftpd openldap-clients
编辑/etc/vsftpd/vsftpd.conf文件,启用LDAP认证。
sudo vi /etc/vsftpd/vsftpd.conf
找到并修改以下配置项:
# 启用本地用户登录
local_enable=YES
# 启用虚拟用户
guest_enable=YES
# 虚拟用户映射到本地系统用户
guest_username=ftpuser
# LDAP认证相关配置
auth_enable=YES
auth_config=/etc/vsftpd/vsftpd_ldap.conf
user_sub_token=$USER
local_root=/home/$USER
chroot_local_user=YES
allow_writeable_chroot=YES
创建/etc/vsftpd/vsftpd_ldap.conf文件,并添加LDAP服务器的相关配置。
sudo vi /etc/vsftpd/vsftpd_ldap.conf
添加以下内容:
# LDAP服务器地址
base_dn=dc=example,dc=com
# LDAP绑定用户DN
bind_dn=cn=admin,dc=example,dc=com
# LDAP绑定密码
bind_password=your_ldap_password
# LDAP搜索过滤器
ldap_user_search_base=ou=users,dc=example,dc=com
ldap_user_search_filter=(uid={0})
# LDAP组搜索过滤器
ldap_group_search_base=ou=groups,dc=example,dc=com
ldap_group_search_filter=(member={0})
创建/etc/pam.d/vsftpd文件,并添加LDAP认证模块。
sudo vi /etc/pam.d/vsftpd
添加以下内容:
auth required pam_ldap.so
account required pam_ldap.so
为每个虚拟用户创建一个主目录。
sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser
sudo passwd ftpuser
使配置生效。
sudo systemctl restart vsftpd
使用FTP客户端连接到你的服务器,并尝试使用LDAP用户进行登录。
ftp your_server_ip
输入LDAP用户的用户名和密码进行测试。
base_dn、ldap_user_search_base和ldap_group_search_base等配置项。通过以上步骤,你应该能够在CentOS上成功集成FTP服务器与LDAP认证。