【LDAP】LDAP操作

LDAP操作に関するメモ。

  • データ抽出

    ldapsearch -h IPアドレス -p ポート番号 -1 -B -F ": " -D cn=XXXXX -w パスワード -z 0 -b o=YYYYY, c=ZZ "(&(objectClass=テーブル名)(属性名=値))" >> result.ldif
    

    オプション補足。

    -h:IPアドレスを指定
    -p:ポート番号を指定
    -1:なんだっけこれ
    -B:BASE64をデコード
    -F:属性名と値との間に指定文字列を出力
    -D:バインドするdnを指定
    -w:パスワードを指定
    -z:検索のサイズ言語を指定(0で制限なし?)
    -b:基本識別名を指定
    
  • dnごと削除

    dn: 属性名=値, ou=AAAAA, o=YYYYY,  c=ZZ
    changetype: delete
    
  • dnの属性を削除

    dn: 属性名=値, ou=AAAAA, o=YYYYY,  c=ZZ
    changetype: modify
    delete:属性名
    
  • dnの属性の値を削除

    dn: 属性名=値, ou=AAAAA, o=YYYYY,  c=ZZ
    changetype: modify
    delete:属性名
    属性名:値
    

    属性がマルチバリューの場合、特定の値のみを削除できる。

  • dnに属性を追加

    dn: 属性名=値, ou=AAAAA, o=YYYYY,  c=ZZ
    changetype: modify
    add:属性名
    属性名:値
    
  • 属性の値を書き換え

    dn: 属性名=値, ou=AAAAA, o=YYYYY,  c=ZZ
    changetype: modify
    replace:属性名
    属性名:値
    

    replaceする属性がない場合、addと同じ動作になる。

  • dnを追加

    dn: 属性名=値, ou=AAAAA, o=YYYYY,  c=ZZ
    changetype: add
    objectClass: テーブル名
    objectClass: top
    属性名1:値1
    属性名2:値2
    ・・・略
    

    changetypeがmodifyではなく、addになっている。