zoukankan      html  css  js  c++  java
  • 系统安全-LDAP

    LDAP服务器

    1.目录服务 

    目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好像Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有优异的读性能,但是写性能差,而且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好像它的名字一样。

    目录服务是由目录数据库和一套访问协议组成的系统。类似于以下的信息适合存储在目录中:

    • 企业员工信息,如姓名、电话、邮箱等;
    • 公用证书和安全密钥
    • 公司的物理设备信息,如服务器、它的IP地址、存放位置、厂商、购买时间等。

    LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,LDAP是从X.500目录访问协议的基础上发展过来的,目前的版本是V3.0。与LDAP一样听类似的目录服务软件还有:ApacheDS、Active Directory、Red Hat Directory Service。

    2.LDAP特点 

    • LDAP的结构用树来标识,而不是用表格。正因为这样,就不能用SQL语句了
    • LDAP可以很快地得到查询结果,不过在写方面,就慢得多
    • LDAP提供了静态数据的快速查询方式
    • Client/Server模型,Server用于存储数据,Client提供操作目录信息树的工具
    • 这些工具可以将数据库的内容以文本格式(LDAP数据交换格式,LDIF)呈现在你的面前
    • LDAP是一种开放Internet标准,LDAP协议是跨平台的Internet协议

    3.LDAP组织数据的方式  

    4.基本概念  

    在浏览LDAP相关文档时经常会预检一些概念,下面是常见概念的简单解释

    4.1 Entry

    条目,也叫记录项,是LDAP中最基本的颗粒,就想字典中的词条,或者是数据库中的记录。通常对LDAP的添加、删除、更改、检索都是以条目为基本对象的。

    dn:每一个条目都有一个唯一的标识名(distinguished Name,DN),如上图中一个dn: “cn=baby,ou=marketing,ou=people,dc=mydomain,dc=org”。通过DN的层次型语法结构,可以方便地表示出条目在LDAP树中的位置,通常用于检索。

    rdn:一般指dn逗号最左边的部分,如cn=baby。它与ROotDN不同,RootDN通常与RootPW同时出现,特指管理LDAP中信息的最高权限用户。

    Base DN:LDAP目录树的最顶部就是根,也就是所谓的“Base DN”,如“dc=mydomain,dc=org”

    4.2 Attribute 

    每个条目都可以有很多属性(Attribute),比如常见的人都有姓名、地址、电话等属性 。每个属性都有名称以及对应的值,属性值可以有单个、多个,比如你有多个邮箱。

    属性不是随便定义的,需要符合一个一定的规则,而这个规则可以通过schema制定。比如,如果一个entry没有包含在intetorgperson这个schema中的objectClass:inetOrgPerson,那么就不能为它制定employeeNumber属性,因为employeeNumber是在interOrgPerson中定义的。

    LDAP为人员组织结构中常见的对象都设计了属性(比如commonName,surname)。

     4.3ObjectClass 

    对象类是属性的集合,LDAP预想了很多人员组织机构中常见的对象,并将其封装成对象类。比如人员(person)含有姓(sn),名(cn)、电话(telphoneNumber)、密码(userPassword)等属性,单位职工(organizationalPerson)是人员(person)的继承类,除了上述属性之外还含有职务(title)、邮政编码(postalCode)、通信地址(postalAddress)等属性。

    通过对象类可以方便的定义条目类型。每个条目可以直接继承对个对象类,这样就继承了各种属性。如果2个对象类中有相同的属性,则条目继承后只会保留1个属性。对象类同时也规定了那些属性是基本信息,必须含有(Must或Required,必要属性):那些属性是扩展信息,可以含有(May或Optional,可选属性)。

    对象类有三种类型:结构类型(Structural)、抽象类型(Abstract)和辅助类型(Auxiliary)。结构类型是最基本的类型,它规定了对象实体的基本属性,每个条目属于且仅属于一个结构型对象类,抽象类型可以是结构类型或其他抽象类型父类,它将对象属性中共性的部分组织在一起,称为其它类的模板,条目不能直接继承抽象型对象类。辅助类型固定了对象实体的扩展属性。每个条目至少youy9ige结构型对象类。

    对象类本身是可以相互继承的,所以对象类的根类是top抽象型对象类。以常用的人员类型为例,他们的继承关系:

    4.4 Schema  

    对象类(ObjectClass)、属性类型(AttributeType)、语法(Syntax)分别约定了条目、属性、值,他们之间的关系如下图所示。所以这些构成了模式(Schema)——对象类的集合。条目数据在导入时通常需要接受模式检查,它确保了目录中所有的条目数据结构都是一致的。

    schema(一般在/etc/ldap/schema/目录)在导入时要注意前后顺序

     4.5 LDIF 

    LDIF(LDAP Data Interchange Format,数据交换格式)是LDAP数据库信息的一种文本格式,用于数据库的导入导出,每行都是“属性:值”对。

    LDAP服务器部署 

    首先需要安装常用的软件包:

    root@vmware01:~# yum install openldap openldap-servers openldap-clients migrationtools
    root@vmware01:~# 

    接下来就是修改配置文件的事了。这个目前不测试了,等用到的时候再补上测试流程

    LDIF文件剖析

    ··········

    WEB管理LDAP

    这里需要phpldapadmin

    ·········

    剩下的都是配置文件的事,等用到了再写吧,工作太忙,没空写了。。。

     

  • 相关阅读:
    HDU2059(龟兔赛跑)
    pat 1012 The Best Rank
    pat 1010 Radix
    pat 1007 Maximum Subsequence Sum
    pat 1005 Sign In and Sign Out
    pat 1005 Spell It Right
    pat 1004 Counting Leaves
    1003 Emergency
    第7章 输入/输出系统
    第六章 总线
  • 原文地址:https://www.cnblogs.com/52-qq/p/9968337.html
Copyright © 2011-2022 走看看