参考资料:html
http://yhz61010.iteye.com/blog/2352672java
https://www.cnblogs.com/lemon-le/p/6266921.html数据库
实验环境centos6,若是用centos7,新版移除了slapd.conf配置文件,改成动态的config配置,菜鸟仍是习惯slapd.conf文件方式,二者区别不是很大,若是用centos
slapd.conf配置,每次配置后须要从新生成配置,有点麻烦,而动态的config配置不须要从新生成.api
1.yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldapbash
2.看下目录结构frontend
3.几个重要的配置文件ui
两个模版文件加密
/usr/share/openldap-servers/slapd.conf.obsolete 模版配置文件centos7
/usr/share/openldap-servers/DB_CONFIG.example 模版数据库配置文件
主配置文件
/etc/openldap/slapd.conf:OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等
/etc/openldap/slapd.d/*:这下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,这里的东西就要从新生成
模式文件
/etc/openldap/schema/*:OpenLDAP的schema存放的地方 //模式文件就是一个objectClass对象的模版,好比一个电话本模式文件,里面有不少属性。就是说用ldapadd添加一个条目,把条目理解为数据库的一个主键,一个主键里必须有一个objectClass并必须有一个属性值.
数据文件
/var/lib/ldap/*:OpenLDAP的数据文件
4.初始化配置文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
5.修改主配置文件
vi /etc/openldap/slapd.conf
解释:
114行,指明用的什么数据库
115行,根节点.ldap默认采用dns的命名方式好比域名wan.com 就写出 dc=wan,dc=com
117行,生成个管理员账号,记住这个账号名是"cn=Manager,dc=wan,dc=com" 而不是 Manager
121行,密码,能够明文,能够加密.
生成个密文
把红色密文粘贴到rootpw 后面
找到access to 部门对着修改下:
6.配置文件修改后,从新生成配置文件
顺序:
1.删除原有的生成的配置文件
rm -rf /etc/openldap/slapd.d/*
2.从新生成
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
3.受权
chown -R ldap.ldap /etc/openldap/slapd.d/
4.重启
/etc/init.d/slapd restart
7.查看下修改后的配置信息
cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif
1.查:
ldap默认匿名用户是打开的,因此能够直接执行:
ldapsearch -x -b "dc=wan,dc=com"
搜索结果两条
关掉匿名用户查看方法:
ldapsearch -x -D "cn=manager,dc=wan,dc=com" -W -b "dc=wan,dc=com"
解释:-x 表示用普通方式访问 -D 管理员账号 -W 提示输入密码 -b 搜索字段
2.添加:
vi people.ldif
dn: ou=people,dc=wan,dc=com
objectclass: top objectclass: organizationalUnit ou: people
这是一个组织单元,
ldapadd -x -D "cn=Manager,dc=wan,dc=com" -W -f people.ldif
在这个单元下面,添加一个t3的成员
vi t3.ldif
dn: cn=t3,ou=people,dc=wan,dc=com
cn: t3
givenname: t3
mail: t1@wq.com
objectclass: inetOrgPerson
objectclass: top
sn: t3
uid: t3
userpassword: 123456
ldapadd -x -D "cn=Manager,dc=wan,dc=com" -W -f t3.ldif
3.删除
ldapdelete -x -D "cn=Manager1,dc=wan,dc=com" "cn=t3,ou=people,dc=wan,dc=com" -W
4.修改
vi t2_mod.ldif
dn: cn=t1 t2,ou=people,dc=wan,dc=com
changetype: modify
replace: userpassword
userpassword: 123456789
ldapmodify -x -D "cn=manager1,dc=wan,dc=com" -W -f t2_mod.ldif
暂时在这................
直接在命令行下粘贴进去
ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF dn: cn=config changetype: modify add: olcDisallows olcDisallows: bind_anon EOF ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF dn: olcDatabase={-1}frontend,cn=config changetype: modify add: olcRequires olcRequires: authc EOF |
#cn=config配置方法
参考链接:http://blog.csdn.net/umke888/article/details/54380507
初始化安装后
cd /etc/openldap//cn\=config/
vi olcDatabase\=\{2\}
增长一行
olcRootPW: 123456
修改域信息
olcSuffix: dc=ixmsoft,dc=com
olcRootDN: cn=Manager,dc=ixmsoft,dc=com
2.导入基本 Schema 参考链接:http://yhz61010.iteye.com/blog/2352672
增长日志倒入
参考链接:https://www.cnblogs.com/donneyliu/p/Centos-Openldap-Server-Log-Anon-OlcAccess.html
ldap日志配置
建立个logging.ldif文件,添加下面的信息:
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
倒入修改后的配置:ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logging.ldif