【DevOps工具篇】 OpenLDAP服务器安装和配置方法

2019-09-20T13:11:33+08:00 | 2分钟阅读 | 更新于 2019-09-20T13:11:33+08:00

Macro Zhao

【DevOps工具篇】 OpenLDAP服务器安装和配置方法

@TOC

推荐超级课程:

在诸如RedHat Enterprise Linux、CentOS、Debian、Ubuntu等Linux发行版中,OpenLDAP作为软件包提供。然而,最近的OpenLDAP比各个发行版采用的版本更加高级,并且后端数据库也更换为更快速的版本。以下是源代码安装方法的说明。

下载OpenLDAP源代码

可以从以下网址下载OpenLDAP源代码。

http://www.openldap.org/

下载源代码后,进行解压。

$ tar xvzf openldap-2.4.45.tgz ⏎

LDAP服务器的编译和安装

进入解压后的目录。

$ cd openldap-2.4.45 ⏎

运行configure。

$ ./configure --with-tls -enable-crypt --with-cyrus-sasl -enable-rwm --enable-monitor=no ⏎

首先运行make depend。

$ make depend ⏎

进行编译。

$ make ⏎

编译成功后进行安装。

# su ⏎
Password: ********** ⏎
# make install ⏎

LDAP服务器的初始设置

在slapd.conf文件中进行初始设置。suffix和rootdn应根据实际组织进行设置。下面是设置示例。

/usr/local/etc/openldap/slapd.conf

include         /usr/local/etc/openldap/schema/core.schema
pidfile         /usr/local/var/run/slapd.pid
argsfile        /usr/local/var/run/slapd.args
database        config
rootdn          cn=admin,cn=config
access  to *
        by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage
        by * break
database        mdb
maxsize		1073741824
suffix          "dc=example,dc=com"
rootdn          "cn=Manager,dc=example,dc=com"
rootpw          {SSHA}A/9vWhXE6Fk7wWI0iwQJDnr8QgOqKayF
directory       /usr/local/var/openldap-data
index   objectClass     eq

rootpw可通过slappasswd命令创建。

# slappasswd ⏎
New password: ******** ⏎
Re-enter new password: ******** ⏎
{SSHA}A/9vWhXE6Fk7wWI0iwQJDnr8QgOqKayF

根据设置文件创建初始设置目录。

# cd /usr/local/etc/openldap ⏎	← 进入目录
# mkdir slapd.d ⏎	← 创建设置目录
# slaptest -f slapd.conf -F slapd.d -u ⏎	← 转换设置

配置LDAP服务启动

创建一个用于启动LDAP服务的systemd单元文件。

/usr/lib/systemd/system/slapd.service

[Unit]
Description=OpenLDAP server
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/usr/local/var/run/slapd.pid
ExecStart=/usr/local/libexec/slapd -h "ldap:/// ldapi:///"
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target

创建单元文件后,通知systemd进行更改。

# systemctl daemon-reload ⏎

启动LDAP服务

使用systemctl命令启动LDAP服务器。

# systemctl start slapd.service ⏎

配置包过滤

更改包过滤设置,允许与LDAP端口的通信。

# firewall-cmd --add-service=ldap ⏎

注册LDAP DIT

根据要创建的DIT在LDAP服务器上注册基本数据。至少需要设置rootdn和DIT的顶级目录。

init.ldif

dn: dc=example,dc=com
objectClass: organization
objectClass: dcObject
o: example, INC.
dc: example
dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager

使用LDAP实用程序命令注册数据。

$ ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f init.ldif ⏎
Enter LDAP Password: ******** ⏎
adding new entry "dc=example,dc=com"
adding new entry "cn=Manager,dc=example,dc=com"

建议进行的设置

syslog设置

LDAP服务器的日志默认情况下以local4的facility输出到syslog。因此,更改rsyslog的设置以确保日志被记录。

/etc/rsyslog.conf

local4.*                                /var/log/slapd

更改日志级别

在LDAP服务器端设置输出日志的级别。

loglevel.ldif

dn: cn=config
changetype: modify
replace: olclogLevel
olcLogLevel: filter config ACL stats

# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f loglevel.ldif ⏎
modifying entry "cn=config"

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee