ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
LDAP(轻型目录访问协议)是一个开放的、中立的、业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息,它是由目录数据库和一套访问协议组成的系统,详情请查看 [百度百科](https://baike.baidu.com/item/轻型目录访问协议/10493115),LDAP协议最大的好处就是能统一管理用户密码,新人报道创建一个用户就能登录公司的所有平台,离职一键删除即可 --- ### 说明 LDAP有两个协议端口,分别是: | 端口 | 协议描述 | | :--: | :--: | | 389 | ldap:// | | 636 | ldaps:// | --- ### 互联网 请注意截至写稿日期(2022-02-15),OpenLDAP还没有为CentOS8准备好安装包,如果安装过程中找不到 *openldap-servers*,需要下载源码编译安装 - [openldap](https://www.openldap.org) ``` [CentOS 8-] yum -y install openldap openldap-servers openldap-clients [CentOS 8+] yum -y install wget vim cyrus-sasl-devel libtool-ltdl-devel \ openssl-devel libdb-devel make libtool autoconf \ tar gcc perl perl-devel useradd -r -M -d /var/lib/openldap -u 55 -s /usr/sbin/nologin ldap wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.9.tgz tar xzf openldap-2.4.9.tgz cd openldap-2.4.9 ./configure --prefix=/usr --sysconfdir=/etc --disable-static \ --enable-debug --with-cyrus-sasl --enable-dynamic \ --enable-crypt --enable-spasswd --enable-slapd --enable-modules \ --enable-rlookups --enable-backends=mod --disable-ndb --disable-sql \ --disable-shell --disable-bdb --disable-hdb --enable-overlays=mod make depend make install ``` --- ### 局域网 ``` rz ``` 在弹出框中选择对应的包并上传 --- ### CentOS 7 ``` cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown -R ldap. /var/lib/ldap systemctl start slapd systemctl enable slapd - 生成密码 slappasswd -s <your password> - 将生成的串替换文本 vim chrootpw.ldif # specify the password generated above for "olcRootPW" section dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: <above string with (SSHA)> - 将密码等用LDiF方式导入 ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif - 向 LDAP 中导入一些基本的 Schema ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/core.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/pmi.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif ``` --- ### 容器安装 ldap 数据目录存放在:/data/slapd/,容器通过挂载可以直接使用 记得定期备份! ``` docker run --name ldap-core -p 389:389 -p 636:636 \ --volume /data/slapd/database:/var/lib/ldap \ --volume /data/slapd/config:/etc/ldap/slapd.d \ --env LDAP_ORGANISATION="dtzhejiang" \ --env LDAP_DOMAIN="dtzhejiang.com" \ --env LDAP_ADMIN_PASSWORD="Passw0rd" \ --env LDAP_TLS=false --restart=always --detach osixia/openldap - 查询用户 docker exec ldap-core ldapsearch -x -H ldap://127.0.0.1 -b dc=dtzhejiang,dc=com -D "cn=admin,dc=dtzhejiang,dc=com" -w <your password> ``` --- ### 常用命令 | 命令 | 描述 | | :--: | :--: | | ldapdelete -x -W -D | 删除条目 | | ldapsearch -x -b | 搜索条目 | --- ### 参考文档 - [文1](https://wangshuashua.com/centos-7-install-openldap/)