`

openldap学习笔记

 
阅读更多

官方介绍文档:http://www.openldap.org/doc/admin24/intro.html

中文资料:http://learn.hnvs.cy.edu.tw/course/view.php?id=72

 LDIF文件格式例子:

1: dn:dc=dlw,dc=com
2: objectclass:top
3: objectclass:dcobject
4: objectclass:organization
5: dc:dlw
6: o:dlw,Inc.
7: 
8: dn:ou=managers, dc=dlw, dc=com
9: ou:managers
10: objectclass:organizationalUnit
11:
12: dn:cn=dlw,ou=managers,dc=dlw,dc=com
13: cn:dlw
14: sn:dongliwei
15: objectclass:person
16: 
17: dn:cn=test,ou=managers,dc=dlw,dc=com
18: cn:test
19: sn:Test User
20: objectclass:person

 官方文档:http://www.openldap.org/doc/admin24/

 

一:LDAP-master安装和配置

----------------------------------

1.LDAP安装:

    yum install openldap openldap-*

    yum install nscd nss-pam-ldapd nss-* pcre pcre-*

    rpm -qa |grep openldap    安装完成后查看下有5个以上包

2.复制配置文件到目录:

    cd /etc/openldap/

    cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf  (这是2.3的老办法,还可以用)

3.生成密码:

   slappasswd -s wmj    #生成密码,密码为wmj

   slappasswd -s wmj |sed -e "s#{SSHA}#rootpw\t{SSHA}#g" >>slapd.conf  (生成root密码写入配置文件)

4.编辑配置文件:

   cp slapd.conf slapd.conf.ori  (先备份)

  vim /etc/openldap/slapd.conf

database        bdb
#checkpoint     1024 15
suffix         "dc=wmj,dc=com"             
rootdn         "cn=admin,dc=wmj,dc=com"     (管理员dc)

5.配置rsyslog来记录ldap的日志:

   echo "local4.*                                                /var/log/ldap.log" >>/etc/rsyslog.conf

   /etc/init.d/rsyslog restart

6.配置ldap数据库路径:

   grep "directory" slapd.conf      (可以修改数据库默认路径)

   cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG (复制默认数据库)

   chown ldap:ldap /var/lib/ldap/DB_CONFIG

   chmod 700 /var/lib/ldap/DB_CONFIG

   slaptest -u     (检查配置文件命令)

7.启动ldap服务:

   /etc/init.d/slapd start

8.查询ldap所有条目:

   ldapsearch -LLL -W -x -H ldap://127.0.0.1 -D "cn=admin,dc=wmj,dc=com" -b "dc=wmj,dc=com" "(uid=*)"

   

如果报错:ldap_bind: Invalid credentials (49)  说明其他配置正确了。
这是因为2.4和2.3配置文件兼容问题。
参考:http://www.openldap.org/doc/admin24/appendix-common-errors.html
需要先删除默认的配置文件,根据2.3的配置文件重新生成一份。
   rm -rf /etc/openldap/slapd.d/*

 

   slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d    (重新生成配置文件)

   chown -R ldap:ldap /etc/openldap/slapd.d/

   /etc/init.d/slapd restart       (再重启下服务)

9.修改后以后再查询一遍:

 ldapsearch -LLL -W -x -H ldap://127.0.0.1 -D "cn=admin,dc=wmj,dc=com" -b "dc=wmj,dc=com" "(uid=*)"
   No such object (32)   (出现这个说明正确了)

 

10.安装ldap的web管理服务:

   yum install httpd php php-ldap php-gd

   https://www.ldap-account-manager.org/     (通过官网下载3.9版本的客户端)

   ldap-account-manager-3.9.tar.gz

   mv ldap-account-manager-3.9 /var/www/html/ldap  (解压以后移动到php默认目录,必须改名成ldap)

11.配置ldap-account-manager服务:

   cd /var/www/html/ldap/config

   cp config.cfg_sample config.cfg

   cp lam.conf_sample lam.conf

   vim lam.conf  

admins: cn=admin,dc=wmj,dc=com
types: suffix_user: ou=People,dc=wmj,dc=com
types: suffix_group: ou=group,dc=wmj,dc=com
types: suffix_host: ou=machines,dc=wmj,dc=com
types: suffix_smbDomain: dc=wmj,dc=com

   chown -R apache:apache /var/www/html/ldap/

12.启动ldap-web服务:

   /etc/init.d/httpd restart

   http://172.16.1.210/ldap/       (访问地址)

13.ldap-web的使用:

   进入web以后,点击右上角的configuration LAM configuration

   输入默认密码“lam” 

   点击,general settings,在最下面配置下密码就可以了,

   回到首页,输入之前生成的ldap的admin密码,我这里是“wmj”进入web页面。

   第一次进入会要建立初始化数据,点建立就可以。

 

14.数据导出备份: 

ldapsearch -LLL -w wmj -x -H ldap://127.0.0.1 -D "cn=admin,dc=wmj,dc=com" -b "dc=wmj,dc=com" 
>/tmp/bak-ldap.ldif

-w:后面是ldap的密码
-W:交互式输入密码

15.备份数据导入:

ldapadd -x -H ldap://127.0.0.1 -D "cn=admin,dc=wmj,dc=com"  -W -f /tmp/bak-ldap.ldif

 

二:LDAP-client安装和配置

--------------------------------------

1.安装相关服务:

yum install openldap-clients openldap nss nscd nss-pam-ldapd nss_ldap

 

2.修改配置:

   一:交互式图形化配置办法,

使用setup,选择“Authentication configuration”,勾选下面三项“Use LDAP”,“Use LDAP Authentication”,“Local authorization is sufficient”,下一步输入ldap地址。


二. 命令行配置:

authconfig --enablemd5 --enablemkhomedir --enableldap --enableldapauth --enablelocauthorize \
--ldapserver=ldap://172.16.1.210 --ldapbasedn="dc=wmj,dc=com" --update

--enablemkhomedir:会在ldap首次登陆后自动创建家目录

 

三.手动修改配置文件:

vim /tmp/nsswitch.conf

passwd:     files ldap
shadow:     files ldap
group:      files ldap

netgroup:   files ldap
automount:  files ldap

 vim /etc/sysconfig/authconfig

USELDAPAUTH=yes
USELDAP=yes
USELOCAUTHORIZE=yes                                               

 vim /etc/pam.d/system-auth

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

 vim /etc/openldap/ldap.conf

TLS_CACERTDIR /etc/openldap/cacerts
URI ldap://172.16.1.210/
BASE dc=wmj,dc=com

 vim /etc/pam_ldap.conf

#host 127.0.0.1
base dc=wmj,dc=com
----------底部加上------------
uri ldap://172.16.1.210/
ssl no
tls_cacertdir /etc/openldap/cacerts
pam_password md5

 4.测试:

   直接输入id wmj04 就可以看到用户了

 

 5.ldap用户可以直接使用visudo 来配置。

 6.只允许某些LDAP用户组登陆主机:

vim /etc/nslcd.conf

filter passwd (|(gidNumber=10002)(gidNumber=10001))

限制gid为10001,10002的ldap用户才能登陆主机。(配置文件底部追加)

 /etc/init.d/nslcd restart

 

 

三:LDAP-slave主从同步配置

---------------------------------------------

1.安装LDAP服务:

  重复第一章的1-9步骤即可。

2.配置主从同步(2.4):

   修改主配置文件 vim /etc/openldap/slapd.conf

  

moduleload syncprov.la

index entryCSN,entryUUID                eq
 
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

   修改从配置文件 vim /etc/openldap/slapd.conf

index entryCSN,entryUUID                eq
 
syncrepl
        rid=123
        provider=ldap://172.16.1.210:389
        type=refreshOnly
        interval=00:00:03:00    #同步时间间隔 天:小时:分钟:秒  
        retry="60 10 300 +"
        searchbase="dc=wmj,dc=com"
        filter="(objectClass=*)"
        scope=sub
        attrs="*,+"
        schemachecking=off
        bindmethod=simple
        binddn="cn=admin,dc=wmj,dc=com"
        credentials=wmj    #密码

   两台服务都要记得重新生成配置文件: 

rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown -R ldap:ldap /etc/openldap/slapd.d
service slapd restart

 3.允许用户自行修改密码:

vim /etc/openldap/slapd.conf

 

修改配置文件,在database config前添加如下内容(注意格式!)

access to attrs=userPassword
    by self write
    by anonymous auth
    by * none
 
access to * by * read

 

 

  • 大小: 156.3 KB
  • 大小: 618.9 KB
分享到:
评论

相关推荐

    OpenLdap安装及配置

    OpenLDAP 安装及配置 OpenLDAP 是一种轻量级目录访问协议(LDAP),它可以提供身份验证、授权和目录服务。OpenLDAP 安装及配置是一个复杂的过程,需要安装 BerkeleyDB、OpenLDAP 服务器,并进行相应的配置。 1. ...

    openldap

    OpenLDAP 是一个开源的轻量级目录访问协议(Lightweight Directory Access Protocol)实现,它提供了对目录服务的强大支持。在IT行业中,OpenLDAP 被广泛用于存储和管理组织结构数据,例如用户账户、联系人信息、组...

    OpenLdap2.4各版本包

    OpenLDAP(开放轻量目录访问协议)是一种开源的目录服务,用于存储和管理网络资源的信息,如用户账户、组、网络设备等。OpenLDAP 2.4系列是其一个重要且广泛...对于遇到的任何问题,都有丰富的在线资源可供参考和学习。

    CAS整合OpenLDAP(OpenLDAP已配置好的情况)

    《CAS整合OpenLDAP的详细步骤》 CAS(Central Authentication Service),由 Jasig 组织开发,是一个开源的、基于Java的Web应用,主要用于实现单点登录(Single Sign-On,SSO)。在许多组织中,为了统一管理和认证...

    windows 下安装和使用OpenLDAP。

    Windows 下安装和使用 OpenLDAP OpenLDAP 是一个开源的 LDAP 服务器实现,它提供了一个轻量级的目录访问协议,基于 X.500 标准,但比 X.500 简洁许多。OpenLDAP 支持 TCP/IP,适合Internet 环境。目录是一个专业的...

    windows版的openldap

    OpenLDAP是一款开源的轻量级目录访问协议(Lightweight Directory Access Protocol)服务器,适用于各种操作系统,包括Windows。在Windows环境下安装和配置OpenLDAP对于本地开发和测试是非常有用的,因为它允许...

    [openldap]Linux下安装openldap所需要的依赖包,源码安装方式

    db-4.7.25.tar.gz freetype-2.3.5.tar.gz ...openldap-2.4.38.tgz php-5.2.9.tar.gz phpldapadmin-0.9.8.5.tar.gz zlib-1.2.8.tar 包含上述安装包,都是源码包,通过编译安装,在CentOs5.0下运行通过

    openldap-rpm.tar.zip

    包含了openldap的所有依赖 cyrus-sasl-2.1.26-23.el7.x86_64.rpm cyrus-sasl-lib-2.1.26-23.el7.x86_64.rpm cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm compat-openldap-2.3.43-5.el7.x86_64.rpm openldap-2.4.44...

    编译windows版本openldap

    OpenLDAP是一种开源的轻量级目录访问协议(Lightweight Directory Access Protocol)服务器,它提供了对分布式目录服务的支持。在Windows环境下编译OpenLDAP可以让开发者在本地进行定制化开发或者适应特定的系统需求...

    Mastering OpenLDAP.pdf

    总之,《Mastering OpenLDAP》是学习OpenLDAP技术的全面资源,无论你是初学者还是经验丰富的管理员,都能从中受益。通过深入阅读和实践,你可以掌握管理企业级目录服务所需的技能,从而提高工作效率,保障网络环境的...

    windows下搭建并配置OpenLDAP服务器

    在Windows环境下搭建并配置OpenLDAP服务器是一项常见的任务,特别是在企业级环境中,为了实现用户身份验证、数据共享和服务集成。OpenLDAP(Lightweight Directory Access Protocol)是一个开源的LDAP服务器,广泛...

    Linux UNIX OpenLDAP实战指南

    通过深入学习本书,读者可以掌握如何在企业环境中高效地部署、配置和管理OpenLDAP服务。 OpenLDAP的核心功能是作为目录服务器,它提供了快速查询和存储大量结构化数据的能力。相比于传统的数据库管理系统,OpenLDAP...

    win32 openLdap 2.2.29 安装文件

    OpenLDAP 是一个开源的轻量级目录访问协议(Lightweight Directory Access Protocol)服务器,它用于存储和管理结构化数据,如用户账号、组、网络设备信息等。在Windows环境下,OpenLDAP提供了方便的安装包来简化...

    源码安装openldap2.4.45

    OpenLDAP是一款开源的轻量级目录访问协议(Lightweight Directory Access Protocol)服务器,它提供了对LDAP目录服务的强大支持。在Linux环境下,通过源码安装OpenLDAP可以更好地定制配置以满足特定需求。以下是对...

    Linux下OpenLDAP的安装软件

    在IT领域,Linux系统是广泛使用的服务器操作系统,而OpenLDAP(OpenLDAP Public License)则是一个开源的轻量级目录访问协议( Lightweight Directory Access Protocol)实现。它提供了组织和存储数据的强大功能,...

    OpenLDAP文档.pptx

    OpenLDAP文档 OpenLDAP 是一款轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),属于开源集中账号管理架构的实现,且支持众多系统版本,被广大互联网公司所采用。OpenLDAP 账号集中管理软件...

    openldap-2.5.4

    OpenLDAP是开源的轻量级目录访问协议(Lightweight Directory Access Protocol)实现,它提供了一个灵活、可扩展的目录服务,用于存储和管理各种类型的数据,如用户账号、组织结构、网络设备信息等。OpenLDAP-2.5.4...

    Centos7OpenLDAP主从配置

    CentOS 7 OpenLDAP 主从配置 OpenLDAP 是一个开源的轻量级目录访问协议(LDAP)实现,广泛应用于身份验证、授权和目录服务等领域。下面详细介绍 CentOS 7 环境下 OpenLDAP 的主从配置。 OpenLDAP 主从配置环境 在...

    centos6.7OpenLDAP主从配置

    ### CentOS 6.7 OpenLDAP 主从配置详解 #### 系统环境信息 - **操作系统**: CentOS release 6.7 - **环境准备**: - 关闭防火墙: `/etc/init.d/iptables stop && chkconfig iptables off` - 关闭 NetworkManager:...

Global site tag (gtag.js) - Google Analytics