`

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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics