`
maosijun
  • 浏览: 3823 次
  • 性别: 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的概念和基本要素

    Schema是LDAP的一个重要组成部分,类似于数据库的模式定义,LDAP的Schema定义了LDAP目录所应遵循的结构和规则,比如一个 objectclass会有哪些属性,这些属性又是什么结构等等,schema给LDAP服务器提供了LDAP目录中...

    LDAP SCHEMA DESIGN

    ldap模式设计,介绍有关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属性并根据其值设置...

    openldap,ldapbrowser,mozillaOrgPerson.schema

    资源包括 LdapBrowser282 openldap2.2.29 thunderbird 用的schema mozillaOrgPerson.schema

    LDAP 开发 API

    LDAP API开发帮助手册; 基于LDAP V3协议对目录(LDAP)进行开发管理,包括对象管理、Schema管理、权限等信息内容的开发管理

    dcm4che-conf-ldap-imageio-5.22.1.jar

    dcm4che dcm4che 5.22 基础构建包之一。dcm4chee 是DICOM 协议的开源实现,基于该系统的基础基础jar包,可以完成所有关于DICOM协议中的实现,包括DCM文件的解析,DICOM文件 的传输 等

    ldapd的inetorgperson.schema文件

    安装ladp的时候需要替换的文件。

    基于JavaJNDI的LDAP Demo

    基于Java JNDI 操纵LDAP的基础实现,包括LDAP连接相关生命周期,认证的两种策略demo,条目的操作,schema的基础操作包括(attributeDefinition\objectDefinition\)但未包含相关syntaxDefinition的操纵. 没有资源分的朋友...

    ldap-mail-schema:LDAP邮件模式的集合

    LDAP邮件架构 这是LDAP模式的集合,可以在由Postfix,Dovecot和Roundcube组成的虚拟邮件环境中使用。 Postfix和鸽舍 最初可从获得,但现在不再存在。 此后添加了两个新属性,以进一步增强架构,从而避免了加载多个...

    LDAP技术,LDAP学习大全

    第三节数据样式(schema)............................................................................................... 24 第四节类型分类(objectClass).....................................................

    服务器搭建之十四LDAP服务器.docx

    创建一个名为【udec.ldif】文件,这种文件在在【/etc/ldap/schema】目录下也有: 【touch udec.ldif】创建udec.ldif文件: 【vim udec.ldif】加入下面内容: 昨天 20:11 上传 下载附件 (41.82 KB) 5.【ldapadd -x -...

    schema2ldif:模式2 ldif:用于将.schema转换为.ldif文件并将其管理到openldap服务器中的工具

    schema2ldif:模式2 ldif:用于将.schema转换为.ldif文件并将其管理到openldap服务器中的工具

    LDAP在linux上的部署与应用

    LDAP在linux上的部署与应用,安装说明,以及所用的所以包都在,包括例子自定义的schema。

    Exim4-LDAP-开源

    Exim4-LDAP是Debian的Exim4的一组配置,用于从LDAP数据库获取所有用户帐户信息。 它重用了来自Qmail-LDAP的著名的qmail.schema。 它还可以与Samba-LDAP集成,以进行全面的SMB域管理。

    castor-1.2-xml-schema castor转化XML需要的jar包

    Castor 项目采用 BSD 类型的证书,因此可在任何类型的应用程序(包括完整版权的项目)中使用。 Castor 实际上仅仅有 XML 数据绑定,它还支持 SQL 和 LDAP 绑定

    MigrationTools:将计算机的NSS配置迁移到LDAP

    MigrationTools:将计算机的NSS配置迁移到LDAP

    openldap-for-windows

    openldap-for-windows安装包 LdapBrowser282 辅助工具 RFC2256LDAPv3使用X500用户schema总结 文档

    Qt Schema Editor-开源

    QSchmed是LDAPV3架构文件的GUI编辑器。 它可针对唯一的OID进行自定义,并将直接从LDAPV3服务器获取模式。 与现有的其他LDAP gui不同,该目录实际上是编辑模式本身的。 它不是LDAP浏览器(尚未)

    extman-1.0

    o LDAP/MySQL backend support, with extmail offical schema/SQL o Security enhanced via usertype permission check o Support Netdisk quota management o Support domain, user quota management, need ...

    ol-schema-migrate-开源

    该perl脚本(由Alyseo完成的第二个发布-http://www.alyseo.com/)是Mike Jackson(http://www.netauth.com/)完成的将Open LDAP模式转换为Fedora所做工作的主要改进。 DS(严格符合RFC 2252)。

Global site tag (gtag.js) - Google Analytics