`

accesslog schema and operations

阅读更多

 

accesslog schema

 

access log schema 定义来源于 auditObject :   Pasted from < http://manpages.ubuntu.com/manpages/lucid/man5/slapo-accesslog.5.html >

More info about accesslog in: http://www.zytrax.com/books/ldap/ch6/accesslog.html


  (  1.3.6.1.4.1.4203.666.11.5.2.1
               NAME 'auditObject'
               DESC 'OpenLDAP request auditing'
               SUP top STRUCTURAL
               MUST ( reqStart $ reqType $ reqSession )
               MAY ( reqDN $ reqAuthzID $ reqControls $ reqRespControls $
                   reqEnd $ reqResult $ reqMessage $ reqReferral ) )

 

 

 

reqStart / reqEnd : 分别代表操作的开始和结束时间,使用 GMT 标准时间格式;

re qStart 还作为 RDN 的一部分

reqType:被记录的操作类型,如 add, delete, search; 扩展操作为 extended

reqSession:是特定实现的标示符,对所有相同 LDAP 会话相关的操作是相同的,目前一般为 slapd 的内    部连接 ID , 用十进制表示

reqDN:操作目标的区别名即 DN Bind 请求即 Bind DN , Add 请求即被添加目录的 DN

reqAuthzID: 操作用户的区别名,一般为建立连接时 RDN

reqControls / reqRespControls: client 请求携带的条件参数

reqResult: LDAP 操作结果的代码表示成功或失败,错误代码也许会带有reqMessage的文本描述

reqReferral:请求结果返回的任何介质

 

  (  1.3.6.1.4.1.4203.666.11.5.2.5
               NAME 'auditAdd'
               DESC 'Add operation'
               SUP auditWriteObject STRUCTURAL
               MUST reqMod )

 

Add 操作,继承 auditWriteObject,必须带有 reqMod 属性

reqMod 属性包含了操作记录的所有属性,值的形式为: <+|-|=|#> [ value]
       Where '+' indicates an Add of a value, '-' for Delete, '=' for Replace,
       and '#' for Increment. In an Add operation, all of  the  reqMod  values
       will have the '+' designator.

+ 表示添加

- 表示删除

= 表示替换

# 表示增加

 

delete,modify 类似于 Add 操作,值得注意的是如果修改中包含了 RDN ,则先进行 modrdn 操作,然后再进行 modify 操作。

(  1.3.6.1.4.1.4203.666.11.5.2.8
               NAME 'auditDelete'
               DESC 'Delete operation'
               SUP auditWriteObject STRUCTURAL
               MAY reqOld )

 

(  1.3.6.1.4.1.4203.666.11.5.2.9
               NAME 'auditModify'
               DESC 'Modify operation'
               SUP auditWriteObject STRUCTURAL
               MAY reqOld MUST reqMod )

 

 

(  1.3.6.1.4.1.4203.666.11.5.2.10
               NAME 'auditModRDN'
               DESC 'ModRDN operation'
               SUP auditWriteObject STRUCTURAL
               MUST ( reqNewRDN $ reqDeleteOldRDN )
               MAY ( reqNewSuperior $ reqOld ) )

 

  (  1.3.6.1.4.1.4203.666.11.5.2.11
               NAME 'auditSearch'
               DESC 'Search operation'
               SUP auditReadObject STRUCTURAL
               MUST ( reqScope $ reqDerefAliases $ reqAttrsOnly )
               MAY ( reqFilter $ reqAttr $ reqEntries $ reqSizeLimit $
                     reqTimeLimit ) )

 

  (  1.3.6.1.4.1.4203.666.11.5.2.12
               NAME 'auditExtended'
               DESC 'Extended operation'
               SUP auditObject STRUCTURAL
               MAY reqData )

 

 

目前我们需要对 add ,delete,modify,modrdn 进行拦截,然后解析 reqMod ,得到属性和属性值,再 call wapi 保存到 URD

 

 

accesslog operations

 

 

 

删除: delete

删除 cn =zero999

 

 

 

添加: add

添加 cn =jeffy 以及属性

cn ,

sn,

telephoneNumber,

userPassword

 

 

 

修改:  modify

修改 cn =jeffy

修改属性 description

删除 telephoneNumber

 

 

 

如果修改了 RDN

如:修改 cn =jeffy cn=Jordan

添加属性 telephoneNumber

 

则分 2 步:

第一步: modrdn

 

 

 

第二步: modify

 


 

 

 

 

分享到:
评论
1 楼 djb4ke 2010-06-12  
我承认我是过来喷把cn改成Jordan的,哈哈

相关推荐

Global site tag (gtag.js) - Google Analytics