参考:澳米科技的博客,网址:http://www.cnblogs.com/aomi/p/5659899.html
ldap安装位置:
/etc/ldap,如果想添加自定义类,则需在schema中添加新schema或者修改主core.schema。
《1》添加新的schema,则需在schema目录下添加新sheme。
如:
#属性
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 )
#类
objectclass ( 1.3.6.1.4.1.7914.1.2.2.1 NAME 'myUser'
DESC 'LDAP User' SUP top STRUCTURAL
MUST ( username $ cn )
MAY ( maildir $ home ) )
其中:类myUser,username 和cn为必须项,maildir 和home为可选。DESC 为说明项目, SUP表示父类,top表示没有父类。caseIgnoreIA5Match和caseIgnoreMatch为 大小写不敏感,空格不敏感(具体再查查);integerMatch可以整数匹配。
结构类型(Structural)是最基本的类型。
对象类有三种类型:结构类型(Structural)、抽象类型(Abstract)和辅助类型(Auxiliary)。结构类型是最基本的类型, 它规定了对象实体的基本属性,每个条目属于且仅属于一个结构型对象类。抽象类型可以是结构类型或其他抽象类型父类,它将对象属性中共性的部分组织在一起, 称为其他类的模板,条目不能直接集成抽象型对象类。辅助类型规定了对象实体的扩展属性。每个条目至少有一个结构性对象类。
属性说明:SINGLE-value表示这个属性只有一个值,否则默认有多个值
注:1.3.6.1.4.1.7914.1.2.2.1和1.3.6.1.4.1.7914.1.2.1.1都表示序号,如 2.5.6.17 、2.5.6.18、 2.5.6.19等等序号。
其他:SUBSTR是字符串匹配,EQUALITY是相等性匹配,SYNTAX是表示字段的数据类型。这个admin guide里面也有说明。
<2> 对添加的schema进行编译
在/tmp下建立myConf.conf文件,内容为添加的schema,但前面添加core.schema作为依赖,如
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/myScheme.schema
注:如果/tmp下有cn=config,则先删除。
之后运行,slapcat -f /tmp/myConf.conf -F /tmp/ -n0
把生成的的cn=config/cn=schema目录下对应的ldif文件去替换ldap中原先cn=config/cn=schema中的ldif文件。
位置在:/etc/ldap/slapd.d/cn=config/cn=schema
《3》重启服务器
重启之前,对刚替换的ldif文件进行赋予权限。
服务器启动:service slapd restart