OpenLDAP初学习

LDAP入门学习

  • LDAP:LDAP是轻型目录访问协议,实现提供被称为目录服务的信息服务。目录服务是特殊的数据库系统,其针对读取、检索、浏览进行特定优化。LDAP目录是按照树型结构组织的,具体信息存储在条目(entry)的数据结构中,条目相当于关系型数据库中的表的记录。条目通过dn(distinguishName)区分,其相当于关系型数据库中的主键;属性包含type和values,一个type可以对应多个值。属性相当于关系型数据库的字段(Field)。
    LDAP的树根一般定义为国家(c=CN)或域名(dc=com),其下定义组织(o=fff)或组织单元(ou=people),组织单元可以包括具体的群体,例如开发部所有的雇员,公司内所有的打印机。LDAP还能对能够和必须支持哪些属性进行控制,这是通过一个特殊的称之为对象类别(objectClass)的属性来实现。该属性的值决定了该条目必须遵循的一些规则。
  • LDAP简称对应
    1. o - organization(组织-公司)
    2. ou - organization unit(组织单元-部门)
    3. c - country name(国家)
    4. dc - domain name(域名)
    5. sn - suer name(真实名称)
    6. cn - common name(常用名称)
  • LDIF文件解读
    LDIF文件是目录信息数据的默认存放文件,我们可以通过slapadd执行它来向目录数据库中增加数据
    一般的,设计好目录结构就可以编写LDIF文件实现我们的目录结构,它从树根开始定义,每个条目有dn开始,并由objectclass指定了必须包含的属性。切记:记录的前后不能包含任何的空格
    例如:
    定义一个树根,它由com开始,并指定它必须含有organization属性

    dn:dc=icebear,dc=com
    objectclass:organization
    o:icebear
    
    dn:ou=People,dc=icebear,dc=com
    objectclass:organizationUnit
    ou:People
    
    ...

    其中,inetOrgPerson指定必须有cn(常用名称),sn(正式名称)

  • 配置LDAP
    简单的配置LDAP只需要修改suffix和rootdn,其中suffix一般为你的树根,rootdn为登陆的用户,rootpw指定登陆密码。
  • 新增条目,根据上面的规则编辑和导入LDIF文件,导入命令有ldapadd和slapadd,其中ldapadd支持远程和本地,slapadd仅支持本地导入

操作LDAP数据库

  • schema:schema定义了属性遵从的规则,在配置文件(slapd.conf)中载入后生效,且对载入顺序有一定要求。
  • 登陆信息
    登陆信息被记录在配置文件(slapd.conf)中,它们主要有如下配置

    database    bdb #后台数据库类型,这里我们指定为Berkeley DB
    suffix  "dc=icebear" #目录树后缀
    rootdn  "cn=root,dc=icebear" #管理员DN信息
    rootpw lllllll #明文密码

    其中密码可以通过slappasswd -h {SHA} -s “lllllll”进行加密

  • 使用openldap-clients套件操作LDAP

    1. 导入操作
      客户端的导入命令如下:

      ldapadd -x -h xxx.xxx.xxx.xxx -D "cn=Manager,dc=icebear" -W password -f file.ldif

      其中各参数意义如下:

      • x 使用简单密码验证方式
      • D 指定管理员DN
      • W 指定管理员密码
      • f 为初始化数据的LDIF的文件名(包括后缀名)
      • h 执行操作的服务器IP地址
    2. 搜索操作
      客户端搜索命令如下:

      ldapsearch -x -b "dc=icebear"

      其中各参数意义如下:

      • x 同上,不过LDAP默认是任何人都可以读取的,因此不需要密码验证
      • b 指定搜索节点位置
      ldapsearch -x -b "dc=icebear" "(objectclass=*)" "dn"

      上述查询语句中,”(objectclass=*)”是filter,”dn”是返回的内容

    3. 身份验证
      在进行修改或新增操作的时候需要进行用户验证,通过如下方式进行验证:

      ldapwhoami -x -D 'cd=Manager,dc=icebear' -w password

      4.修改操作
      修改一般通过LDIF文件进行修改,我们可以自己编写LDIF文件,同时,我们也可以利用Linux便利的管道把需要修改的内容输出到LDIF文件,修改后重新导入

      ldapsearch -x -LLL -b 'dc=icebear' '(objectclass=*)' 'dn' 'o' > examole_dn.ldif

      其中 -LLL表示不输出注释
      手动修改后,导入语句如下:

      ldapmodify -x -D 'cn=Manager,dc=icebear' -w "password" -f example_dn.ldif
    4. 删除操作

      ldapdelete -x -D "cn=Manager,dc=icebear" -w "password" -r 'dc=icebear'

      其中 -r表示递归删除该节点下面的所有子节点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值