ldap

这里使用的是centos7安装的

  • 安装服务
    [root@ldap ~]# yum install openldap openldap-servers openldap-clients

  • 拷贝数据库配置文件并授权; DB_CONIFG中主要是关于Berkeley DB的相关的一些配置
    [root@ldap ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
    [root@ldap ~]# chown ldap:ldap /var/lib/ldap/DB_CONFIG

  • 关闭防火墙停止seLinux,开启slapd服务并设置开机自启以及查看服务状态;slapd即standard alone ldap daemon,该进程默认监听389端口
    [root@ldap ~]# systemctl stop firewalld
    [root@ldap ~]# setenforce 0
    [root@ldap ~]# systemctl start slapd
    [root@ldap ~]# systemctl enable slapd
    Created symlink from /etc/systemd/system/multi-user.target.wants/slapd.service to /usr/lib/systemd/system/slapd.service.
    [root@ldap ~]# systemctl status slapd
    ● slapd.service - OpenLDAP Server Daemon
    Loaded: loaded (/usr/lib/systemd/system/slapd.service; enabled; vendor preset: disabled)
    Active: active (running) since Wed 2019-07-24 19:18:42 CST; 2s ago
    Docs: man:slapd
    man:slapd-config
    man:slapd-hdb
    man:slapd-mdb
    file:///usr/share/doc/openldap-servers/guide.html
    Main PID: 15214 (slapd)
    CGroup: /system.slice/slapd.service
    └─15214 /usr/sbin/slapd -u ldap -h ldapi:/// ldap:///

Jul 24 19:18:41 ldap systemd[1]: Starting OpenLDAP Server Daemon…
Jul 24 19:18:41 ldap runuser[15198]: pam_unix(runuser:session): session opened for user ldap by (uid=0)
Jul 24 19:18:42 ldap slapd[15209]: @(#) $OpenLDAP: slapd 2.4.44 (Jan 29 2019 17:42:45) $
[email protected]:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/servers/slapd
Jul 24 19:18:42 ldap slapd[15209]: tlsmc_get_pin: INFO: Please note the extracted key file will not be protected with a PIN any more, h…missions.
Jul 24 19:18:42 ldap slapd[15214]: slapd starting
Jul 24 19:18:42 ldap systemd[1]: Started OpenLDAP Server Daemon.
Hint: Some lines were ellipsized, use -l to show in full.

  • 先用一个命令生成一个LDAP管理用户root密码:
    [root@ldap ~]# slappasswd
    New password:
    Re-enter new password:
    {SSHA}zitscslDAGoQ5+epGzzpSDRdOp5kO5xO ----后面会用到

  • 新建一个rootpwd.ldif(名称是自定义的)的文件,我这边是在当前目录下;目录可以自定义
    [root@ldap ~]# vi rootpwd.ldif
    [root@ldap ~]# cat rootpwd.ldif
    dn: olcDatabase={0}config,cn=config
    changetype: modify
    add: olcRootPW
    olcRootPW: {SSHA}zitscslDAGoQ5+epGzzpSDRdOp5kO5xO —之前生成的
    [root@ldap ~]#

ldif即LDAP Data Interchange Format,是LDAP中数据交换的一种文件格式。文件内容采用的是key-value形式,注意value后面不能有空格。
上面内容中dn即distingush name
olc即Online Configuration,表示写入LDAP后不需要重启即可生效
changetype: modify表示修改一个entry,changetype的值可以是add,delete, modify等。
add: olcRootPW表示对这个entry新增了一个olcRootPW的属性
olcRootPW: {SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo指定了属性值

  • 下面使用ldapadd命令将上面的rootpwd.ldif文件写入LDAP:
    [root@ldap ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    modifying entry “olcDatabase={0}config,cn=config”

  • 导入schema,schema包含为了支持特殊场景相关的属性,可根据选择导入,这里先全部导入
    [root@ldap ~]# ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done

  • 设定默认域,先使用slappasswd生成一个密码:
    [root@ldap ~]# slappasswd
    New password:
    Re-enter new password:
    {SSHA}XvpKDEnQEIGcC3rZzO/ISVkWBmBKoaMR
    [root@ldap ~]#

  • 新建一个domain.ldif的文件:

你可能感兴趣的:(ldap)