环境centos7
yum install openldap openldap-servers openldap-clients openldap-devel db4
db4-devel pam_ldap nss-pam-ldapd
yum install -y migrationtools
migrationtools 实现OpenLDAP ⽤用户及⽤用户组的添加
migrationtools 开源⼯工具通过查找/etc/passwd、/etc/shadow、/etc/groups
⽣生成LDIF ⽂文件,并通过ldapadd 命令更更新数据库数据,完成⽤用户添加
#启动服务:
systemctl start slapd
第一次会⽣生成数据库⽂文件:
设定LDAP管理理员密码
注意:从OpenLDAP2.4.23版本开始所有配置数据都保存在/etc/openldap/slapd.d/
中,建议不不再使⽤用slapd.conf作为配置⽂文件。
我们⾸首先要设置openldap的管理理员密码,我们需要注意的是:⼀一定要记住及拷⻉贝出执⾏行行的后
的加密的密码信息。
[root@shigure ldap]# slappasswd
New password:
Re-enter new password: ##dida0901
{SSHA}FVEY0NOcGun4Bhk4iG0uIDHdlATJUoOc
[root@shigure ldap]#
vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
#修改olcDatabase={2}hdb.ldif⽂文件,对于该⽂文件增加⼀行
olcRootPW: {SSHA}FVEY0NOcGun4Bhk4iG0uIDHdlATJUoOc
#然后修改域信息:
olcSuffix: dc=didachuxing,dc=com
olcRootDN: cn=admin,dc=didachuxing,dc=com
#注意:其中cn=admin中的admin表示OpenLDAP管理理员的⽤用户名,⽽而olcRootPW表示OpenLDAP管理理员的密码。
vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=admin,dc=didachuxing,dc=com" read by * none
#注意:该修改中的dn.base是修改OpenLDAP的管理理员的相关信息的。
#验证配置⽂文件:
[root@shigure ldap]# slaptest -u
#会有两个checksum error,这个不不⽤用管,我们⼿手动修改了了⽂文件肯定checksum不不对了了。只要注意最后⼀一⾏行行的 testing结果就⾏行行。这的结果是 succeeeded ,没有问题。
重启服务:
systemctl restart slapd
systemctl enable slapd
netstat -nlptu | grep slapd
用脚本的方法(注意此过程和上面修改管理员密码过程等价):
新建文件
vim chdomain.ldif
# less chdomain.ldif
# replace to your own domain name for "dc=***,dc=***" section
dn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcSuffix
olcSuffix:dc=didachuxing,dc=com
dn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcRootDN
olcRootDN:cn=admin,dc=didachuxing,dc=com
dn: olcDatabase={1}monitor,cn=config
changetype:modify
replace:olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=admin,dc=didachuxing,dc=com" read by * none
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}jldrcc7VWP0sZuffKoLdnrKTncjQeAHL
###注意olcAccess这一条一定要写成一行,各个条目要用空行隔开。
systemctl restart slapd
ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
slaptest -u
配置OpenLDAP数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/
注意:/var/lib/ldap/就是BerkeleyDB数据库默认存储的路路径。
导⼊入基础Schema
cd /etc/openldap/schema/
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif
规划Basedn⽬目录结构
首先需要在/root/ldap/目录下,创建一个base.ldif文件
在base.ldif文件中,写入如下信息,为创建初始化根节点做准备工作:
vim base.ldif
# root node
dn: dc=didachuxing,dc=com
dc: didachuxing
o: didachuxing.com
objectClass: top
objectClass: dcObject
objectclass: organization
ldapadd -x -D cn=admin,dc=didachuxing,dc=com -W -f base.ldif
添加管理员信息
vim admin.ldif
# admin
dn: cn=admin,dc=didachuxing,dc=com
objectClass: organizationalRole
cn: admin
description: Directory Manager
ldapadd -x -D cn=admin,dc=didachuxing,dc=com -W -f admin.ldif
添加子条目的方法:
vim user.ldif
dn: ou=jishu,dc=didachuxing,dc=com
ou: jishu
objectClass: organizationalUnit
dn: ou=chanpin,dc=didachuxing,dc=com
ou: chanpin
objectClass: organizationalUnit
dn: ou=kefu,dc=didachuxing,dc=com
ou: kefu
objectClass: organizationalUnit
ldapadd -x -D cn=admin,dc=didachuxing,dc=com -W -f user.ldif
登陆LDAP administrator 工具
增加员工
dn: ou=yunwei,ou=jishu,dc=didachuxing,dc=com
ou: yunwei
objectClass: organizationalUnit
dn: ou=kaifa,ou=jishu,dc=didachuxing,dc=com
ou: kaifa
objectClass: organizationalUnit
dn: ou=ceshi,ou=jishu,dc=didachuxing,dc=com
ou: ceshi
objectClass: organizationalUnit
dn: uid=yanshen,ou=yunwei,ou=jishu,dc=didachuxing,dc=com
ou: yunwei
sn: yanshen
cn: YS
mobile: 12345678901
mail: yanshen@didachuxing.com
userPassword: {SSHA}FVEY0NOcGun4Bhk4iG0uIDHdlATJUoOc
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
dn: uid=zhangkuikui,ou=yunwei,ou=jishu,dc=didachuxing,dc=com
ou: zhangkuikui
sn: zhangkuikui
cn: ZK
mobile: 12345678902
mail: zhangkuikui@didachuxiang.com
userPassword: {SSHA}FVEY0NOcGun4Bhk4iG0uIDHdlATJUoOc
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
dn: uid=fengbin,ou=kaifa,ou=jishu,dc=didachuxing,dc=com
ou: kaifa
sn: fengbin
cn: FB
mobile: 12345678903
mail: fengbin@didachuxing.com
userPassword: {SSHA}FVEY0NOcGun4Bhk4iG0uIDHdlATJUoOc
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
dn: uid=huxiang,ou=ceshi,ou=jishu,dc=didachuxing,dc=com
ou: ceshi
sn: huxiang
cn: HX
mobile: 12345678904
mail: huxiang@didachuxing.com
userPassword: {SSHA}FVEY0NOcGun4Bhk4iG0uIDHdlATJUoOc
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson