Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2322748
  • 博文数量: 293
  • 博客积分: 2660
  • 博客等级: 少校
  • 技术积分: 3632
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 17:50
文章分类

全部博文(293)

文章存档

2015年(13)

2014年(58)

2013年(73)

2012年(25)

2011年(30)

2010年(86)

2009年(8)

分类: LINUX

2011-02-13 20:50:46

   本次学习参考了如下的一些教程,本文内容是按照以下文章的内容进行实验完成的
 
 
  
 
 
   搭建的步骤如下,在redhat linux 9上进行搭建
 
   1.安装相关软件包
 
   # rpm -qa | grep openldap
   openldap-devel-2.0.23-4
   openldap-2.0.23-4
   openldap-servers-2.0.23-4
   openldap-clients-2.0.23-4
  
 
   2.配置slapd.conf(一般都是缺省配置)  
   database        ldbm
   suffix          "dc=syroidmanor,dc=com"
   rootdn          "cn=root,dc=syroidmanor.com,dc=com"
   rootpw          {CRYPT} 
   directory /var/lib/ldap
   index   objectClass,uid,uidNumber,gidNumber,memberUid   eq
   index   cn,mail,surname,givenname                       eq,subinitial
 
   设置root密码
   slappasswd  -h  {crypt}
   将运行的结果填入到slapd.conf的rootpw中
 
   3.启动ldap服务,并设置为自动启动
   service ldap  start
   chkconfig --levels 235 ldap on
   检查服务在运行
   ps -ef | grep slap
ldap   13521  1  0 Oct24 ?   00:00:00 /usr/sbin/slapd -u ldap -h
 
   4.测试访问
   ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
   输出的结果应该是空,目前没有数据
 
   5.设置ACL
   配置 LDAP 服务器的最后一步是设置一些基本访问控制。这样做可以确保用户只能访问他们需要访问的项。
   ACL 示例
# Define ACLs -- access control definitions
access to dn=".*,dc=syroidmanor,dc=com" attr=userPassword
        by dn="cn=root,dc=syroidmanor,dc=com" write
        by self write
        by * auth
access to dn=".*,dc=syroidmanor,dc=com" attr=mail
        by dn="cn=root,dc=syroidmanor,dc=com" write
        by self write
        by * read
access to dn=".*,ou=people,dc=syroidmanor,dc=com"
        by * read
access to dn=".*,dc=syroidmanor,dc=com"
        by self write
        by * read
 
   6.填充数据
   有手工填充,脚本填充和文件填充。现在就按照手工填充的方法操作。
   编辑一个sample.ldif文件,内容如下
   dn: uid=juser,ou=people,dc=syroidmanor,dc=com
   uid: juser
   cn: Joe User
   givenname: Joe
   sn: User
   mail:
   objectClass: top
   objectClass: mailRecipient
   objectClass: person
   objectClass: inetOrgPerson
  
   填充到ldap数据库中
 
   ldapadd -x -D "cn=root,dc=syroidmanor,dc=com" -W -f sample.ldif
   输入root的口令就填充成功了!
  
   另外也可以通过手工输入和脚本录入的方法。
 
   7.迁移数据
   迁移工具可以将linux本地账户生成为LDIF文件。工具位于 /usr/share/openldap/migration/下
   首先修改migrate_common.ph文件
   $DEFAULT_BASE = "dc=syroidmanor,dc=com"
   migrate_base.pl > base.ldif                    
   ldapadd -x -D "cn=root,dc=syroidmanor,dc=com" -W -f base.ldif
   回车输入密码即导入
   迁移ldapuser用户和ldapuser群组,将group.ldif和passwd.ldif导入
   cat group.ldif
    dn: cn=ldapuser,ou=Group,dc=syroidmanor,dc=com
    objectClass: posixGroup
    objectClass: top
    cn: ldapuser
    userPassword: {crypt}x
    gidNumber: 500
  cat passwd.ldif
    dn: uid=ldapuser,ou=People,dc=syroidmanor,dc=com
   uid: ldapuser
   cn: ldapuser
   objectClass: account
   objectClass: posixAccount
   objectClass: top
objectClass: shadowAccount
userPassword: {crypt$1$TeOlOcMc$cpQaa0WpLSFRC1HIHW5bt1
shadowLastChange: 13048
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/ldapuser
gecos: ldapuser
   导入完毕后可以通过命令查看当前ldap服务器上的所有对象
   ldapsearch -LLL -h server(服务器)  -b "dc=syroidmanor,dc=com"  -x -D "cn=root,dc=syroidmanor,dc=com"  -W objectclass=*回车输入密码
   如果在/etc/openldap/ldap.conf修改如下参数
   host  server(服务器)
   BASE  dc=syroidmanor,dc=com
   那么直接通过ldapsearch -x就可以查询了
   8.开启日志功能
   vi /etc/openldap/slapd.conf
   loglevel 256
   vi /etc/syslog.conf
   local4.*                    /var/log/ldap/ldap.log
   cd /var/log
   mkdir ldap
   cd ldap
   touch ldap.log
   重起 syslog和ldap服务
阅读(1297) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~