LDAP概念和原理

    什么是目录服务?
       目录服务就是按照 树状 存储信息的模式

      目录服务的特点? 目录服务与关系型数据库不同?
  •  目录服务的数据类型主要是字符型, 而不是关系数据库提供的整数、浮点数、日期、货币等类型
为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax)
  • 同样也不提供象关系数据库中普遍包含的大量的函数
  • 目录有很强的查询(读)功能,适合于进行大量数据的检索
  • 但目录一般只执行简单的更新(写)操作,不支持批量更新所需要的事务处理功能
  • 它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚(rollback)机制.
  • 目录具有广泛复制信息的能力,适合于多个目录服务器同步/更新


   常见的目录服务软件
  • X.500
  • LDAP
  • Actrive Directory,Microsoft公司
  • NIS

        LDAP
       LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写
       LDAP标准实际上是在X.500标准基础上产生的一个简化版本


    LDAP特点
  •     LDAP的结构用树来表示,而不是用表格。正因为这样,就不能用SQL语句了
  •     LDAP可以很快地得到查询结果,不过在写方面,就慢得多
  •     LDAP提供了静态数据的快速查询方式
  •     Client/server模型
       Server 用于存储数据
       Client提供操作目录信息树的工具
             这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前
  •     LDAP是一种开放Internet标准,LDAP协议是跨平台的 的Interent协议
         它是基于X.500标准的, 与X.500不同, LDAP支持TCP/IP(即可以分布式部署)



        LDAP存储这样的信息最为有用: 也就是数据需要从不同的地点读取,但是不需要经常更新:
  •       公司员工的电话号码簿和组织结构图  
  •       客户的联系信息  
  •       计算机管理需要的信息,包括NIS映射、email假名,等等  
  •       软件包的配置信息  
  •       公用证书和安全密匙  

        Ldap的client /server结构
server   /usr/sbin/slapd -u ldap -h ldap:///
client 数据库操作client    用于对ldap server库进行操作
工具:ldapadd, ldapsearch
  实用client    用于将ldap server库在实际工作中使用
工具:radius+ldap, pam+ldap

   
        身份认证在LDAP中提供三种认证机制:
匿名    Ldapsearch –x -LLL
基本认证    通过用户名和密码进行身份识别,又分为简单密码和MD5密码认证
# ldapadd -x -D "cn=root,dc=otas,dc=cn" -W -f base.ldif
-x就是simple authetication

Enter LDAP Password: 输入admin123
 adding new entry "dc=otas,dc=cn"
 adding new entry "ou=People,dc=otas,dc=cn"
 adding new entry "ou=Group,dc=otas,dc=cn"
SASL    Simple Authentication and Secure Layer
LDAP提供的在SSL和TLS安全通道基础上进行的身份认证,包括数字证书的认证


    Ldap端口号(显然提供分布式ldap)——389,636
[root@vmmac modules]# cat /etc/services | grep ldap
ldap                       389/tcp                                          明文
ldap                       389/udp                                                 明文
ldaps                     636/tcp                                                 # LDAP over SSL
ldaps                     636/udp                                                 # LDAP over SSL

        TLS 安全性
       分布式LDAP 是以 明文的格式 通过网络来发送信息的,包括client访问sldap的密码。TLS(SSL 的后继者,由OpenSSL 包)加密机制来解决这个问题。




        LDAP目录数据结构
  •     在LDAP中目录是按照树型结构组织——目录信息树(DIT)
                    DIT是一个主要进行读操作的数据库
  •     DIT由条目(Entry)组成,条目相当于关系数据库中表的记录;
条目是具有分辨名DN(Distinguished  Name)的属性-值对(Attribute-value,简称AV)的集合


        在目录树中怎么组织数据  
cn=Fran Smith,ou=employees,dc=foobar,dc=com
              ------------ -----------------
                容器条目      BaseDN
--------------------------------------------
                DN
 

1。在UNIX文件系统中,最顶层是根目录(root),LDAP目录也通常用 ROOT做根,通常称为BaseDN
2。因为历史(X.500)的原因,LDAP目录用 OU(Organization Unit) 从逻辑上把数据分开来。
      Ou 也是一种条目,容器条目
3. Ou 下就是真正的用户条目
LDAP概念和原理


      什么是dn?
       DN,Distinguished Name分辨名
       在LDAP中,一个条目的分辨名叫做“DN”,DN是该条目在整个树中的 唯一名称标识
DN相当于关系数据库表中的关键字(Primary   Key);
是一个识别属性,通常用于检索
       常见的两种DN设置:
基于cn(姓名) cn=Fran Smith,ou=employees,dc=foobar,dc=com 
dn格式就是这么一大串
最常见的CN是/etc/group转来的条目
基于uid(User ID) uid=fsmith,ou=employees,dc=foobar,dc=com
最常见的UID是/etc/passwd和/etc/shadow转来的条目
 
[root@vmmac migration]# ldapsearch -x -LLL "uid=mac*"
dn: uid=mac,ou=People,dc=otas,dc=cn         唯一标适
uid: mac               
cn: mac                    

你可能感兴趣的:(杂的文)