配置 其它服务使用LDAP为后端身份认证.note
一、Apache2 使用 LDAP为后端服务器:
不用先配置为 ldap的客户端,直接就能够配置
·ldap配置可以照抄:
# 下载 apache2-doc,并启用
apt install apache2-doc -y
a2enconf apachd2-doc
systemctl restart apache2


回到开头:


1、开启 LDAP模块:
ls /etc/apache2/mods-available | grep ldap //启用过滤出来的内容即可
a2enmod authnz_ldap
a2enmod ldap
systemctl restart apache22、编辑 配置文件,调用LDAP:
vim /etc/apache2/sites-enabled/000-default.conf
# 除了AuthName,其它字段能不用双引号就不用双引号
systemctl restart apache2
如果要使用ldaps,那么需要把 URL前缀换为 ldaps:// ,并信任ldap证书(注意,如果是使用 ldaps,那么 apache2 需要信任 ldaps 使用的证书的根证书,否则会报错:500 Bad Gateway)
scp ldap.lyon2024.fr:/etc/tls/ca.crt .
cp ca.crt /usr/local/share/ca-certificates
update-ca-certificates
3、客户端访问:

访问成功:

·配置仅允许Sales 组访问:
因为用户属性中只有 gidNumber 能够代表组,因此我们需要匹配这个属性来进行限制
vim /etc/apache2/sites-enabled/000-default.conf
# 使用 Require ldap-attribute gidNumber="10002" 来进行限制
## 加不加双引号无所谓,都能用
或者不加双引号也可以:

·配置仅允许Sales ou下的用户访问:

二、配置 Nginx 使用 LDAP为后端进行身份认证(这里使用PAM调用LDAP):
1、安装软件包:
apt install -y libpam-ldapd libnginx-mod-http-auth-pam


2、配置 nslcd以保障可用:
vim /etc/nslcd.conf
systemctl restart nslcd
3、配置 nginx:
vim /etc/nginx/sites-enabled/default
4、给予 www-data 用户访问 shadow 文件的权限:
usermod -aG shadow www-data //将 www-data用户加入 shadow组中5、配置 PAM:
# 测试了一下,不配置 PAM文件也可以生效
vim /etc/pam.d/nginx
可以在 /etc/pam.d/目录下的文件中照抄
systemctl restart nginx
配置成功
6、测试使用 LDAP进行身份认证:



三、邮件使用 LDAP为后端:
方式一:使用 nslcd连接:
安装nslcd之后邮件就能够调用ldap,但是需要注意以下几点:
ldap用户必须拥有 mail属性,否则无法登陆,dovecot的 /home 家目录最好配置chmod -R 777 /home,否则邮件可能无法写入
方式二:使用 dovecot-ldap连接:
apt install -y dovecot-ldapcd /etc/dovecot
cp dovecot-ldap.conf.ext dovecot-ldap.conf
vim dovecot-ldap.conf





systemctl restart dovecot
四、配置 vsftpd 使用 LDAP为后端:
debian 13版本必须要配置 虚拟用户才能连上
1、先配置为 LDAP客户端:
vim /etc/hosts

apt install -y vsftpd libpam-ldapd


vim /etc/nslcd.conf
systemctl restart nslcd
此时 vsftpd 就能够调用 LDAP 用户了,但是无法进行正常登陆,因为LDAP用户在系统中不存在物理的家目录,需要手动创建或者自动创建,才能够成功登陆(可以使用 chmod -R 777 /home 解决这个问题)
而vsftpd 虚拟用户就没有这个问题,直接就能够使用 LDAP用户进行登陆2、配置 vsftpd 虚拟用户:
mkdir /srv/ftp
chmod 755 /srv/ftp
adduser ftpuser
vim /etc/vsftpd.conf
在末尾添加:

systemctl restart vsftpd
3、测试登陆:

五、配置 proftpd 使用 LDAP用户登陆:
·方式一:直接安装nslcd进行登陆:
安装nslcd之后proftpd就能够默认进行登陆
·方式二:配置proftpd调用ldap用户:
(1)正常配置proftpd:
apt install -y proftpd proftpd-mod-cryptovim /etc/proftpd/proftpd.conf

vim /etc/proftpd/modules.conf
vim /etc/proftpd/tls.conf

(2)配置proftpd连接ldap:
# 安装ldap附件:
apt install -y proftpd-mod-ldapvim /etc/proftpd/proftpd.conf
# 启用ldap模块:
vim /etc/proftpd/modules.conf
## 取消注释:
# 设置ldap连接地址、凭据:
vim /etc/proftpd/ldap.conf
# 如果加上了ldap:// ldaps:// 的前缀,最末尾就需要加上 /??sub
or

·如果要调用ldaps的用户:

注意末尾要加上 ??sub
·测试:

六、ssh:
默认安装了 nslcd 之后,就可以使用 ldap用户进行 ssh登陆了
1、配置 ssh 仅能使用 ldap进行认证:
未完成七、LDAP 限制指定用户、用户组 进行本地登陆:
1、L-SRV 仅允许Admin组进行登陆:
·方式一:使用 pam 进行限制
# 开启 pam_access.so配置:
vim /etc/pam.d/login
取消注释
# 编辑限制文件:
vim /etc/security/access.conf在末尾定义要限制的组或用户:

·方式二:(未成功)在 nslcd中过滤
apt install -y nslcd
vim /etc/nslcd.conf
# 在末尾添加 filter passwd (memeber=cn=Admin,ou=Groups,dc=skill39,dc=wsr)
systemctl restart nslcd nscd
2、L-CLI 客户端仅允许 Admin 和 Guest组登陆(未成功):
·方式一:使用 pam 进行限制
# 开启 pam_access.so配置:
vim /etc/pam.d/login
取消注释
# 编辑限制文件:
vim /etc/security/access.conf在末尾定义要限制的组或用户(这里拒绝VPN组和webuser组):

·方式二:(未成功)在 nslcd中过滤
vim /etc/nslcd.conf