php ldapoff,ldap服务认证与加密

该博客详细介绍了如何在Linux环境中配置LDAP服务器,包括安装必要软件、设置配置文件、导入数据以及启用TLS加密。同时,它也阐述了在客户端安装SSSD以实现对LDAP服务器的认证,并展示了主备LDAP服务器的配置方法。最后,提到了使用phpLDAPadmin作为图形化管理工具。
摘要由CSDN通过智能技术生成

实验1:

sssd :安装在客户端,暂时缓存ldap server 端信息,

ldap server 安装:

yum install openldap openldap-servers openldap-clients -y #openldap-clients包提供客户端命令的

cd /etc/openldap/

mv slapd.d slapd.d.bak

cp -p slapd.conf.bak slapd.conf

ldap.conf 此文件保留客户端的信息

vim slapd.conf

database        bdb

suffix          "dc=example,dc=com"    #设置目录信息树的后缀

checkpoint      1024 15

rootdn          "cn=Manager,dc=example,dc=com" #设置LDAP管理者的DN

rootpw          westos                #设置ldap的管理密码,如果想要密文密码,则需用slappasswd 来生成密文密码

access to *

by dn.exact="cn=Manager,dc=example,dc=com" read

by * none

cd /usr/share/doc/openldap-servers-2.4.19/

cp DB_CONFIG.example /var/lib/ldap/

cd /var/lib/ldap/

cp DB_CONFIG.example DB_CONFIG

chown ldap.ldap DB_CONFIG

/etc/init.d/slapd start

ll /var/lib/ldap/   会有初始化文件

下面进行数据导入:

cd /usr/share/doc/openldap-servers-2.4.19/

less README.migration

yum install migrationtools -y

cd /usr/share/migrationtools/

tail /etc/passwd

vim users

ldapuser1:westos:500:500:LDAP User:/home/ldapuser1:/

ldapuser2:westos:501:501:LDAP User:/home/ldapuser2:/bin/bash

ldapuser3:westos:502:502:LDAP User:/home/ldapuser3:/bin/bash

tail /etc/group

vim groups

ldapuser1:x:500:

ldapuser2:x:501:

ldapuser3:x:502:

vim migrate_common.ph

$DEFAULT_MAIL_DOMAIN = "example.com";

$DEFAULT_BASE = "dc=example,dc=com";

./migrate_base.pl

./migrate_base.pl > base.ldif  #将文件信息转换成ldap 语句,并导入到base.ldif

vim base.ldif    只保留dn,people,group信息

dn: dc=example,dc=com

dc: example

objectClass: top

objectClass: domain

dn: ou=People,dc=example,dc=com

ou: People

objectClass: top

objectClass: organizationalUnit

dn: ou=Group,dc=example,dc=com

ou: Group

objectClass: top

objectClass: organizationalUnit

./migrate_passwd.pl users > user.ldif

./migrate_group.pl groups >group.ldif

ll *.ldif

ldapadd -W -x -D "cn=manager,dc=example,dc=com" -f base.ldif

注意:/etc/openldap/slapd.conf配置文件里面 rootpw 行首不能有空格,且rootpw和后面的密码字段需用tab隔开。要不然报错:ldap_bind: Invalid credentials (49)。

ldapadd -W -x -D "cn=manager,dc=example,dc=com" -f user.ldif

ldapadd -W -x -D "cn=manager,dc=example,dc=com" -f group.ldif

ldapsearch -b "dc=example,dc=com" -x

ldapsearch -b "ou=Group,dc=example,dc=com" -x

ldapsearch -b "ou=People,dc=example,dc=com" -x

如果想删除,则

ldapdelete -W -x -D “ou=Group,dc=example,dc=com” “cn=ldapuser2,ou=Group,dc=example,dc=com“   #ou=Group,dc=example,dc=com指定ou的,cn=ldapuser2,ou=Group,dc=example,dc=com 是ldapsearch -x -b "ou=Group,dc=example,dc=com" 显示的dn: cn=ldapuser2,ou=Group,dc=example,dc=com  中的dn:名字

客户端进行帐号认证:

yum install sssd -y

安装在客户端,暂时缓存ldap server 端信息

authconfig-tui  如果提示需要/lib64/libnss_ldap.so.2

yum install /lib64/libnss_ldap.so.2 -y

authconfig-tui

getent passwd 默认只显示本机帐号,如果想要显示出来,则编辑/etc/sssd/sssd.conf

vim /etc/sssd/sssd.conf

[domain/default] 在这部分

enumerate = False

authconfig-tui

不选TLS,Server: ldap://192.168.0.96/,Base DN: dc=example,dc=com

getent passwd ldapuser1

getent passwd ldapuser2

getent passwd ldapuser3

su - ldapuser1

ldap TLS加密:

服务端:

cd /etc/openldap/

vim slapd.conf

TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt  #将前面的#去掉

TLSCertificateFile /etc/pki/tls/certs/slapd.pem

TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem

cd /etc/pki/tls/certs

rm slapd.pem  -f  删除原有的的认证文件

make slapd.pem   确保主机名和本机的hostname一致

chmod 640 slapd.pem

chgrp ldap slapd.pem

scp slapd.pem  192.168.0.84:/etc/openldap/cacerts/  #将认证文件发给客户端的/etc/openldap/cacerts/ 目录

/etc/init.d/slapd restart

客户端:

authconfig-tui

认证选:[*] Use LDAP ,[*] Use MD5 Passwords,[*] Use LDAP Authentication,[*] Local authorization is sufficient

LDAP server:选[*] Use TLS, Server: ldap://desktop96.example.com/ ,Base DN: dc=example,dc=com  。  #desktop96.example.com 是服务端的hostname。使用TLS一定要用hostname。

测试:

getent passwd ldapuser1

getent passwd ldapuser2

getent passwd ldapuser3

su - ldapuser1

注:如果getent passwd ldapuser1 没有输出信息,日志又包不能开启TLS 加密,则需修改系统时间。

ldap 服务的主备:

master: rhel6 192.168.0.250

# yum install openldap-servers openldap-clients -y

# cd /etc/openldap

# rm -fr slapd.d

# cp slapd.conf.bak slapd.conf

# chgrp ldap slapd.conf

# cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

# chown ldap.ldap /var/lib/ldap/DB_CONFIG

vim /etc/openldap/slapd.conf

include /etc/openldap/schema/misc.schema         注释掉次行

moduleload syncprov.la                           添加次行

database bdb

suffix "dc=westos.org"

checkpoint 1024 15

rootdn "cn=Manager,dc=westos.org"

rootpw westos

overlay syncprov                添加此3行

syncprov-checkpoint 100 10

syncprov-sessionlog 100

access to *

by dn.exact="cn=Manager,dc=westos.org" read

by * none

service slapd start

backup: rhel6 192.168.0.231

# yum install openldap-servers openldap-clients -y

# cd /etc/openldap

# rm -fr slapd.d

# cp slapd.conf.bak slapd.conf

# chgrp ldap slapd.conf

# cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

# chown ldap.ldap /var/lib/ldap/DB_CONFIG

vim /etc/openldap/slapd.conf

database bdb

suffix "dc=westos.org"

checkpoint 1024 15

rootdn "cn=Manager,dc=westos.org"

rootpw westos

syncrepl rid=001

provider=ldap://192.168.0.250:389

type=refreshAndPersist

searchbase="dc=westos.org"

attrs=*

schemachecking=off

bindmethod=simple

binddn="cn=Manager,dc=westos.org"

credentials="westos"

retry="60 +"                      添加上面10行

access to *

by dn.exact="cn=Manager,dc=westos.org" read

by * none

service slapd start

注: 1. iptables 要开放slapd的端口。

2. 如果master上已经有数据,那么在启动slapd之前,需要执行

scp /var/lib/ldap/* backup:/var/lib/ldap 确保backup上的数据与master上的一致。

在主ldap server ,authconfig-tui 进去去掉ldap 认证。

然后在主ldap server ,

ldapsearch -x -b "dc=example,dc=com"   查看dn 的名称

ldapdelete -W -x -D "cn=manager,dc=example,dc=com" "cn=ldapuser3,ou=Group,dc=example,dc=com"

然后在备份 ldap server 上面查看:

ldapsearch -x -b "dc=example,dc=com"  就没有删除的用户了。

phpldapadmin-1.2.2   ldap的图形化管理软件,确保安装php,php-ldap 软件包,因为这个图形管理工具就是用php编写的。

tar zxf phpldapadmin-1.2.2  -C /var/www/html/

cd /var/www/html/

mv  phpldapadmin  phpldap

cd phpldap

cd config/

cp config.php.example  config.php

此时可以用浏览器访问:192.168.0.186/phpldap  输入用户名和密码就行了。在里面也可以手动添加用户,修改用户的相关信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值