LDAP服务器搭建

环境:redhat 6.0 64位

yum install openldap-clients openldap-servers -y  安装软件

cd /etc/openldap

rm -fr /etc/openldap/slapd.d/   删除此目录,会影响实验,

 cp -p slapd.conf.bak slapd.conf  注意复制权限

vi slapd.conf

database bdb
suffix "dc=westos.org"
checkpoint 1024 15
rootdn "cn=Manager,dc=westos.org"

rootpw westos 添加密码
access to *
by dn.exact="cn=Manager,dc=westos.org" read
by * none

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

cd /var/lib/ldap/

chown ldap.ldap DB_CONFIG

/etc/init.d/slapd start 重启服务生成文件/var/lib/ldap/可以看到生成的文件

less /usr/share/doc/openldap-servers-2.4.19/README.migration   查看迁移用户的帮助文档

yum install migrationtools                  需要安装迁移的软件

cd /usr/share/migrationtools           进入配置目录

useradd ldapuser1 添加共享用户
useradd ldapuser2
useradd ldapuser3
echo westos |passwd --stdin ldapuser1
echo westos |passwd --stdin ldapuser2
echo westos |passwd --stdin ldapuser3                              添加ldap用户

vi migrate_common.ph

$DEFAULT_MAIL_DOMAIN = "westos.org";
$DEFAULT_BASE = "dc=westos.org";                            修改配置

./migrate_passwd.pl /etc/passwd >users.ldif 迁移用户信息
./migrate_group.pl /etc/group >groups.ldif 迁移组信息
./migrate_base.pl >base.ldif                       迁移OU信息

vi base.ldif 删除其他,只留下用户,组就可以
dn: dc=westos.org
dc: westos.org
objectClass: top
objectClass: domain
dn: ou=People,dc=westos.org
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=westos.org
ou: Group
objectClass: top
vi users.ldif 删除其他用户,只保留ldapuser1,ldapuser2,ldapuser3
vi groups.ldif 删除其他组,只保留ldapuser1,ldapuser2,ldapuser3
vi快速删除前面所有的行 d+gg 如果是下面d+GG

userdel ldapuser1

userdel ldapuser2

userdel ldapuser3         删除用户

ldapadd -W -x -D "cn=manager,dc=westos.org" -f base.ldif 添加
ldapadd -W -x -D "cn=manager,dc=westos.org" -f users.ldif
ldapadd -W -x -D "cn=manager,dc=westos.org" -f groups.ldif
ldapsearch -b "dc=westos.org" -x 查看添加的信息

服务端配置完成,在客户端安装directory-client ,就可以看到用户

如果想要ssh登录,就需要开启tls

vi /etc/openldap/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 生成加密文件
make slapd.pem Common Name那里一定要写自己的主机名
chgrp ldap slapd.pem 让ldap可以读取
chmod 640 slapd.pem
scp slapd.pem 192.168.0.98:/etc/openldap/cacerts/ 拷贝证书到客户端
/etc/init.d/slapd restart 重启服务
测试:客户端选择tls加密 可以看到用户,可以ssh登录,完成

ldap使用web管理

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

cd  /var/www/html

mv phpldapadmin-1.2.2 ldap   修改名称方便访问

cd /ldap/config

cp config.php.example config.php 复制配置文件
/etc/init.d/httpd restart
yum install php php-ldap -y 安装php支持
cn=manager,dc=westos.org 用户名
westos 密码