前言
参考资料:
http://yhz61010.iteye.com/blog/2352672
https://www.cnblogs.com/lemon-le/p/6266921.html
实验环境centos6,如果用centos7,新版移除了slapd.conf配置文件,改为动态的config配置,菜鸟还是习惯slapd.conf文件方式,两者区别不是很大,如果用
slapd.conf配置,每次配置后需要重新生成配置,有点麻烦,而动态的config配置不需要重新生成.
安装
1.yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap
2.看下目录结构
3.几个重要的配置文件
两个模版文件
/usr/share/openldap-servers/slapd.conf.obsolete 模版配置文件
/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
暂时在这................
OpenLDAP 2.4 禁止匿名用户访问
直接在命令行下粘贴进去
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
- 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
增加日志倒入
参考连接: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