一、环境准备
安装系统:CentOS6.5
OpenLDAP版本:2.4.40
主机IP:192.168.213.131
OpenLDAP服务器安装目录:/usr/share/openldap-servers
OpenLDAP数据库目录:/var/lib/ldap/
OpenLDAP配置文件目录:/etc/openldap/
iptables和SELinux都已经关闭
二、OpenLDAP的安装
1.用yum安装openldap、openldap-server 和openldap-client
yum -y install openldap openldap-*
三、OpenLDAP的配置
1.将openldap的初始化配置文件从/usr/share/openldap-servers/下复制到/etc/openldap/并且命名为slapd.conf
cd /usr/share/openldap-servers/
cp slapd.conf.obsolete /etc/openldap/slapd.conf
2. 将openldap的初始化数据库文件从/usr/share/openldap-servers/复制/var/lib/ldap/下并命名为DB_CONFIG
cd /usr/share/openldap-servers/
cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG
3.设置你的登录密码,并且记录下加密后的密码
slappasswd
用命令生成openldap管理员密码并送进配置文件中
slappasswd password |sed -e "s/{SSHA}/rootpw\t{SSHA}/g" >> /etc/openldap/slapd.conf
4.编辑openldap的配置文件slapd.conf
vi /etc/openldap/slapd.conf
database bdb //指定bdb数据库存储
suffix "dc=example,dc=com" //设置自己需要的域名和后缀
checkpoint 1024 15 //设置缓存数据
rootdn "cn=Manager,dc=example,dc=com" //设置一个管理员
rootpw {SSHA}WKURVEz2f4a64s3fxFHhQtc86Yz7eyoI //用slappasswd获取的加密密码
directory /var/lib/ldap //数据库文件所在的位置
注:rootpw与密码是用 Tab键隔开的
5.删除默认的slapd.d下的所有文件
rm -rf /etc/openldap/slapd.d/*
6.对配置文件目录赋予权限
chown -R ldap:ldap /var/lib/ldap
chown -R ldap:ldap /etc/openldap/
chown -R ldap:ldap /etc/openldap/slapd.d
7.测试并生成配置文件
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
返回config file testing succeeded,则配置成功。
8.重新启动slapd
service slapd restart
四、导入初始数据
方法一:
1.新建根目录文件 base.ldif
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
2.新建分组 group.ldif
dn: cn=people,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: people
userPassword: {crypt}x
gidNumber: 5000
dn: cn=admin,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: admin
userPassword: {crypt}x
gidNumber: 5001
dn: cn=test,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: test
userPassword: {crypt}x
gidNumber: 5002
3.新建组成员 newuser.ldif
# example, People, chuangyue.com
dn: uid=example,ou=people,dc=example,dc=com
uid: example
cn: example
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowMax: 9999
shadowWarning: 7
loginShell: /sbin/nologin
gecos: ,,,
host: *
shadowLastChange: 16378
uidNumber: 1000
gidNumber: 5000
homeDirectory: /home/example
方法二:
1.安装migrationtools
yum -y install migrationtools
2.配置migrationtools
1)先进入migrationtools配置目录
cd /usr/share/migrationtools/
编辑migrate_common.ph
3.利用pl脚本将/etc/passwd和/etc/shadow生成LDAP能读懂的文件格式,保存在/tmp/下
./migrate_base.pl > /tmp/base.ldif
./migrate_passwd.pl /etc/passwd > /tmp/passwd.ldif
./migrate_group.pl /etc/group > /tmp/group.ldif
4.这三个文件导入到LDAP库。
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f /tmp/base.ldif
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f /tmp/passwd.ldif
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f /tmp/group.ldif
5.重启slapd完成配置
service slapd restart
6.检查一下,看用户组和用户是否添加成功
ldapsearch -x -b "dc=example,dc=com"
五、OpenLDAP用户的添加、修改、删除
1. OpenLDAP用户的添加
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W –f /tmp/base.ldif
2. OpenLDAP用户生成密码
ldappasswd -x -D "cn=Manager,dc=example,dc=com" -W 'uid=sy,ou=people,dc=example,dc=com' -S
3. OpenLDAP用户的修改
把需要修改信息写入文件即可,比如:
dn: uid=ldapuser1,ou=People,dc=example,dc=com
changetype: modify
replace: uidNumber
uidNumber: 1000
再把以上内容写入test.ldif中,运行如下命令:
ldapmodify -x -D "cn=Manager,dc=test,dc=com" -W -f test.ldif
4. OpenLDAP用户的删除
ldapdelete -x -D 'cn=Manager,dc=example,dc=com' -W 'uid=sy,ou=people,dc=example,dc=com'