`
maosijun
  • 浏览: 3956 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

LDAP的Schema

    博客分类:
  • ldap
阅读更多

LDAP的Schema
schema类似关系数据库的字段说明,包括字段名,数据类型,数据长度等等。系统有一些默认的schema,我的默认schema文件
在/usr/local/openldap/etc/openldap/schema下面,最重要的是core.schema。它定义了一些最基本的字段。
为了适应我们的应用,我们要创建自己的schema文件。我创建的shema文件如下:(文件名:kunmail.schema)

# kunmail-ldap v3 directory schema 

# written by hefish@cz8.net 

# Attribute Type Definitions
attributetype ( 1.3.6.1.4.1.7914.1.2.1.1 NAME 'username' 
DESC 'name of the user on the mailsystem' 
EQUALITY caseIgnoreIA5Match 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.2 NAME 'vuid' 
DESC 'UID of the user on the mailsystem' 
EQUALITY integerMatch 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.3 NAME 'vgid' 
DESC 'GID of the user on the mailsystem' 
EQUALITY integerMatch 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.4 NAME 'maildir' 
DESC 'Path to the maildir/mbox on the mail system' 
EQUALITY caseExactMatch 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.5 NAME 'forwardAddr' 
SUBSTR caseIgnoreSubstringsMatch 
DESC 'Forward mail address' 
EQUALITY caseIgnoreIA5Match 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.6 NAME 'quota' 
DESC 'The amount of space the user can use until all further messages get bounced.' 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.7 NAME 'storeHost' 
DESC 'On which kunmail server the messagestore of this user is located.' 
EQUALITY caseIgnoreIA5Match 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.8 NAME 'delivery' 
DESC 'Program to execute for all incoming mails.' 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.9 NAME 'clearpw' 
DESC 'name of the user on the mailsystem' 
EQUALITY caseIgnoreIA5Match 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.10 NAME 'home' 
DESC 'Program to execute for all incoming mails.' 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.11 NAME 'mailReplyText' 
DESC 'A reply text for every incoming message' 
SUBSTR caseIgnoreSubstringsMatch 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{4096} 
SINGLE-value )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.12 NAME 'active' 
DESC 'The status of a user account: active, nopop, disabled' 
EQUALITY integerMatch 
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 
SINGLE-value )
# Object Class Definitions
objectclass ( 1.3.6.1.4.1.7914.1.2.2.1 NAME 'kunmailUser' 
DESC 'KunMail-LDAP User' SUP top STRUCTURAL 
MUST ( username $ cn $ vuid $ vgid ) 
MAY ( maildir $ home $ clearpw $ 
forwardAddr $ quota $ 
storeHost $ delivery $ 
mailReplyText $ active ) )
现在来说说这个schema文件。 
开始部分是attributeType的定义,相当于字段定义。最后的objectclass是定义数据所包含的属性。 
这里kunmailUser这种数据,要包含maildir $ home $ clearpw $ forwardAddr $ quota $ storeHost $ delivery $ mailReplyText $ active
等可选项,还要包括username $ cn $ vuid $ vgid 必选项。 可选项用MAY()来包含,必选项用MUST()来包含。DESC是说明项。SUP表示父类(
有点像面向对象编程啊)top表示没有父类,他自己是顶级。STRUCTURAL是存储方式,不管他(我也说不清楚) 
接下来解释attributeType的说明项。 
第一个数字是表示序号,至少我是怎么认为的,也许不对,不过。。。管他。 
NAME是表示属性的名字 
DESC是说明 
下面表示的是匹配的方式,SUBSTR是字符串匹配,EQUALITY是相等性匹配,这些在openldap的admin guide里面有,不难看懂 
SYNTAX是表示字段的数据类型。这个admin guide里面也有说明。 
SINGLE-value表示这个属性只有一个值,有些属性可以有多个值,比如联系地址等。默认的话,是多值的。

schema准备好之后,我们要在配置文件中,把这个schema包含进去,让这个schema生效。 
在配置文件slapd.conf中间的开始部分加入这样的一句: 
include /usr/local/openldap/etc/openldap/schema/kunmail.schema
应该注意,上面这句话之前应确保有一句: 
include /usr/local/openldap/etc/openldap/schema/core.schema 
因为kunmail.schema里面有些东西是依赖core.schema的。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    LDAP_Schema的概念和基本要素

    ### LDAP Schema的概念与基本要素详解 #### 一、引言 在现代企业级应用中,LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)作为一种高效、灵活且功能强大的目录服务标准,广泛应用于用户认证、...

    LDAP SCHEMA DESIGN

    ### LDAP Schema Design详解 #### 一、概述 LDAP(Lightweight Directory Access Protocol)是一种用于访问目录服务的标准协议,被广泛应用于各种场景下的人、组织、角色和服务等实体的信息管理。由于其标准化特性...

    ldaf schema

    ### LDAP Schema设计详解 在企业级应用环境中,利用单一的LDAP目录服务器为多个应用程序提供服务是一种常见的实践方式。这一策略显著降低了数据维护的工作量,但同时也对目录的设计提出了更高的要求,尤其是在实施...

    LDAP Schemaconverter-开源

    **LDAP Schema Converter 开源工具详解** LDAP(轻量级目录访问协议)是一种广泛用于存储和检索目录信息的标准。在管理 LDAP 数据库时,有时需要将 LDAP 模式(Schema)从一种格式转换为另一种,以适应不同的 LDAP ...

    Openldap在Ubuntu中的安装部署

    这条命令会遍历`/etc/ldap/schema/`目录下的所有`.ldif`文件,并将它们添加到LDAP服务器中,确保了所有必要的对象类和属性都已注册。 #### 第二部分:数据库配置 为了创建一个可以用于认证和存储用户信息的数据库...

    openldap 服务端配置

    LDIF文件通常用于导入数据到LDAP服务器或更新现有记录,并且必须遵循LDAP schema的结构,否则会触发错误。 objectClass在LDAP中扮演了重要角色,它定义了记录数据的模板,并包含了记录中必须赋值的属性和可选的属性...

    debian下ldap服务器配置

    include /etc/ldap/schema/inetorgperson.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel 256 modulepath /usr/lib/ldap moduleload back_bdb sizelimit 500 tool-threads 1...

    openldap,ldapbrowser,mozillaOrgPerson.schema

    标题中的"openldap, ldapbrowser, mozillaOrgPerson.schema"提到了三个关键概念,分别是OpenLDAP、LdapBrowser和MozillaOrgPerson的Schema。这些是IT领域中与目录服务、LDAP(轻量级目录访问协议)以及特定的数据...

    owncloud-ldap-schema:OwnCloud配额的LDAP模式

    OwnCloud的LDAP架构参考: : ownCloud架构OwnCloud Inc.已注册 ,我们对其进行了扩展以定义所需的LDAP对象OID :1.3.6.1.4.1.39430.1.2.1 ObjectClass :ownCloud配额字段ownCloud可以读取LDAP属性并根据其值设置...

    12步搞定apacheds

    在schema editor中,可以创建新的attribute types来扩展默认的LDAP schema。这些attribute types定义了对象可以拥有的属性,比如用户的名字、邮箱地址等。 #### 49.2 增加 objectclass objectclass定义了对象的...

    openldap使用手册

    ##### 4.2 LDAP Schema语法 - **Schema定义**: - 定义了对象类和属性类型。 - 规定了目录中的数据格式。 - 可以自定义Schema来满足特定需求。 #### 五、LDAP客户端 ##### 5.1 增加目录属性 - **操作示例**: - ...

    ldap 详解(linux 下的ldap配置精华文档)

    在 LDAP 中,objectClass 的定义可以来自多个来源,包括标准的 LDAP_schema、 vendor-specific schema 和自定义的 schema。每个 objectClass 都有其对应的属性和语义,这些属性可以是必须的、可选的或是禁止的。 ...

    SQL Server Fast Track数据仓库.pdf

    - LDAP Schema得到扩展。 - 增强安全性,所有基于Web的管理程序默认仅支持HTTPS访问。 - Apache中添加了容器,禁止webmail目录自动索引。 - 增加HELO检测规则,反垃圾效果提升。 - Awstats通过LDAP/MySQL进行...

    CentOS 6 LDAP server设定

    在讨论CentOS 6上配置LDAP服务器时,涉及到的核心知识点包括了解LDAP协议的基础知识、安装和配置OpenLDAP服务器、管理LDAP数据库和条目、以及确保LDAP服务的安全性。下面将详细介绍这些知识点。 ### LDAP协议基础 ...

    LDAP基础培训资料

    LDAP目录服务的核心概念包括DN(Distinguished Name)和Schema。DN是唯一标识目录条目的字符串,而Schema定义了目录中的数据结构,包括语法、匹配规则、属性类型和对象类。 **7. LDAP目录设计** 在设计LDAP目录时...

    centos7安装部署ldap.docx

    在配置 LDAP 服务时,我们还需要导入基本的 Schema 模式,以便 LDAP 服务器能够正确地工作。我们可以使用以下命令来导入 cosine.ldif 和 nis.ldif 文件: `ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/...

Global site tag (gtag.js) - Google Analytics