Interstage Application Server Smart Repository運用ガイド
目次 索引 前ページ次ページ

第3章 エントリの管理> 3.2 コマンドを使用する

3.2.2 CSVファイルによるエントリの追加・削除・更新

エントリ追加の記述例

 ユーザ情報エントリを追加する場合の記述例を示します。
 例中に記載のオブジェクトクラス、属性については、それぞれ、“オブジェクトクラス一覧”、“属性一覧”を参照してください。

ユーザ情報エントリの追加

 CSVファイルのデータとユーザエントリの属性を以下のように関連付けて、ユーザ情報エントリをリポジトリに追加する場合の例で説明します。

項目の
位置

項目名

属性名

1

一般名

cn

2

sn

3

givenName

4

ユーザID

uid

5

パスワード

userPassword

6

従業員番号

employeeNumber

7

電子メールアドレス

mail

CSVファイル

 0番目の項目に“ADD”を指定し、次桁から追加するエントリ情報を記述します。

ユーザ情報エントリ追加のCSVファイル

ADD,User001,FUJITSU,user001,100001,u5zMEqXX,10001,user001@interstage.fujitsu.com
ADD,User002,FUJITSU,user002,100002,iyaBWF09,10002,user002@interstage.fujitsu.com
ADD,User003,FUJITSU,user003,100003,YNY62GCO,10003,user003@interstage.fujitsu.com
ADD,User004,FUJITSU,user004,100004,mfQShkEK,10004,user004@interstage.fujitsu.com
ADD,User005,FUJITSU,user005,100005,9pcurysl,10005,user005@interstage.fujitsu.com
ADD,User006,FUJITSU,user006,100006,JqzLhqI6,10006,user006@interstage.fujitsu.com(注)

注)1エントリ1行で記述します。

ルールファイル

 CSVファイルの各項目の順序に合わせて、Attributeタグを記述します。
 追加するすべてのエントリが同じ属性型と属性値をもつ場合、Fixedタグを記述すると、CSVファイルに記述する量を減らすことができます。

ユーザ情報エントリ追加のルールファイル

<?xml version="1.0" encoding="EUC-JP" ?>
<!-- 修正禁止* -->
<!DOCTYPE Csv2Directory [
<!ELEMENT Rule (name, baseDn, midDn?, Rdn+, DnChange?, objectClass+, attributeSeparator?, unique*, CSV, fixed?)>
<!ELEMENT CSV (ldapop?, Attribute)>
<!ELEMENT ldapop (op?, ldapadd?, ldapdelete?, ldapmodify?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT baseDn (#PCDATA)>
<!ELEMENT Rdn (#PCDATA)>
<!ELEMENT objectClass (#PCDATA)>
<!ELEMENT attributeSeparator (#PCDATA)>
<!ELEMENT op (#PCDATA)>
<!ELEMENT ldapadd (#PCDATA)>
<!ELEMENT ldapdelete (#PCDATA)>
<!ELEMENT ldapmodify (#PCDATA)>
]>
<!-- 修正禁止* -->
<Csv2Directory>
    <Rule>
        <name>rule</name>

<!-- baseDn を定義します(必須) -->
        <baseDn>ou=User,ou=interstage,o=fujitsu,dc=com</baseDn>

<!-- RDN を定義します(必須:複数可能:重複不可) -->
<!-- 番号か属性名のどちらか一方で、一意になるものをいれてください -->
        <Rdn>cn</Rdn>

<!-- DN の変更を移動とみなすか(任意) -->
<!-- みなす場合 1 を指定してください -->
        <DnChange>1</DnChange>
        <objectClass>top</objectClass>
        <objectClass>person</objectClass>
        <objectClass>inetOrgPerson</objectClass>

<!-- 属性値が複数のCSV項目から作成する場合の区切りの文字(任意) -->
<!-- 指定しない場合は空白1文字です。 -->
<!-- 空白文字は指定できません。-->
        <attributeSeparator>-</attributeSeparator>

<!-- baseDnの下で、重複を許可しない属性を指定してください -->
<!-- 番号か属性名のどちらか一方で、一意になるものをいれてください -->
<!-- (任意:複数可能:重複不可)-->
        <unique>uid</unique>

        <CSV>
<!-- リポジトリへの操作(追加、削除、変更)とCSVの位置(任意) -->
<!-- 0番目の位置に、操作方法を指定する場合 -->
            <ldapop>
                <op>0</op>
                <ldapadd>ADD</ldapadd>
                <ldapdelete>DEL</ldapdelete>
                <ldapmodify>MOD</ldapmodify>
            </ldapop>

<!-- CSVの各項目とエントリの属性の対応づけ(任意) -->
            <Attribute>
                <cn>1</cn>
                <sn>2</sn>
                <givenName>3</givenName>
                <uid>4</uid>
                <userPassword>5</userPassword>
                <employeeNumber>6</employeeNumber>
                <mail>7</mail>
            </Attribute>
        </CSV>

<!-- 固定値で設定するものを定義します(任意) -->
        <fixed>
            <postalCode>105-7123</postalCode>
            <postalAddress>1-5-2 Higashi-Shimbashi Minato-ku</postalAddress>
            <st>Tokyo</st>
            <o>fujitsu</o>
        </fixed>
    </Rule>
</Csv2Directory>

irepmodifyentコマンド使用例

irepmodifyent -h hostname -p 389 -D "cn=manager,ou=interstage,o=fujitsu,dc=com" -r rule.xml -i add.csv(注)

注)改行を入れないで1行で入力します。

エントリ削除の記述例

 ユーザ情報エントリを削除する場合の記述例を示します。
 例中に記載のオブジェクトクラス、属性については、それぞれ、“オブジェクトクラス一覧”、“属性一覧”を参照してください。

 CSVファイルのデータとユーザエントリの属性との関連付けは、“ユーザ情報エントリの追加”で示したものと同じである、として説明します。
 次の2つのユーザ情報エントリを削除する場合の、CSVファイルとルールファイルの記述例を示します。

dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com
dn: cn=User006,ou=User,ou=interstage,o=fujitsu,dc=com

CSVファイル

 0番目の項目に“DEL”を指定し、次桁から削除するエントリ情報を記述します。

ユーザ情報エントリ削除のCSVファイル

DEL,User001,Fujitsu,user001,100001,u5zMEqXX,10001,user001@interstage.fujitsu.com
DEL,User006,Fujitsu,user006,100006,JqzLhqI6,10006,user006@interstage.fujitsu.com(注)

注)1エントリ1行で記述します。

ルールファイル

 CSVファイルの各項目の順序に合わせて、Attributeタグを記述します。“ユーザ情報エントリの追加”で使用したルールファイルを使用してください。

irepmodifyentコマンド使用例

irepmodifyent -h hostname -p 389 -D "cn=manager, ou=interstage,o=fujitsu,dc=com" -r rule.xml -i del.csv(注)

注)改行を入れないで1行で入力します。

エントリ更新の記述例

 ユーザ情報エントリを更新する場合の記述例を示します。
 例中に記載のオブジェクトクラス、属性については、それぞれ、“オブジェクトクラス一覧”、“属性一覧”を参照してください。


 更新の対象となるユーザ情報エントリが存在しない場合は、対象のエントリを追加します。

属性値の追加

 “ユーザ情報エントリの追加”で追加した次のエントリに、電話番号を追加する場合を例にとって、CSVファイルとルールファイルの記述方法を説明します。

dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com

 CSVファイルのデータとユーザエントリの属性との関連付けは、“ユーザ情報エントリの追加”で示したものに、さらに、8番目に電話番号のデータを記述します。

項目の
位置

項目名

属性名

8

電話番号

telephonenumber

CSVファイル

 0番目の項目に“MOD”を指定し、次桁から属性値を追加するエントリ情報を記述します。8番目の項目に電話番号(telephonenumber)を記述します。

電話番号追加のCSVファイル

MOD,User001,Fujitsu,user001,100001,u5zMEqXX,10001,user001@interstage.fujitsu.com,5555-0123(注)

注)1エントリ1行で記述します。

ルールファイル

 CSVファイルの各項目の順序に合わせて、Attributeタグを記述します。“ユーザ情報エントリの追加”で使用したルールファイルを使用してください。
 Attributeタグに、telephonenumberの記述を追加します。

電話番号追加のルールファイル(Attributeタグ内のみを示します。)

<Attribute>
<cn>1</cn>
<sn>2</sn>
<givenName>3</givenName>
<uid>4</uid>
<userPassword>5</userPassword>
<employeeNumber>6</employeeNumber>
<mail>7</mail>
<telephonenumber>8</telephonenumber>
</Attribute>

◆属性値の削除

 “属性値の追加”で追加した電話番号を削除する場合のCSVファイルとルールファイルの記述例を示します。

CSVファイル

 0番目の項目に“MOD”を指定し、次桁から属性値を削除するエントリ情報を記述します。8番目の項目に電話番号(telephonenumber)が記述されていた場合、その値を削除します。7番目の項目の後のカンマを削除しないように注意してください。

電話番号削除のCSVファイル

MOD,User001,Fujitsu,user001,100001,u5zMEqXX,10001,user001@interstage.fujitsu.com,(注)

注)1エントリ1行で記述します。

ルールファイル

 CSVファイルの各項目の順序に合わせて、Attributeタグを記述します。上記の電話番号削除例のCSVファイルの場合は、前述の“属性値の追加”で使用した例のルールファイルと同じものを使用します。

◆複数の属性値から特定の属性値の削除

 次のユーザ情報エントリから、電話番号5555-0123を削除する場合のCSVファイルとルールファイルの記述例を示します。

dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com
cn: User001
sn: Fujitsu
givenName: user001
uid: 100001
userPassword: u5zMEqXX
employeeNumber: 10001
mail: user001@interstage.fujitsu.com
telephonenumber: 5555-0123
telephonenumber: 5555-6789

CSVファイル

 0番目の項目に“MOD”を指定し、次桁から属性値を削除するエントリ情報を記述します。8番目の項目、および9番目の項目に電話番号(telephonenumber)が記述されており、削除する電話番号が8番目の項目にある場合、その値を削除します。8番目の項目の前後のカンマを削除しないように注意してください。

電話番号を1つ削除する場合のCSVファイル

MOD,User001,Fujitsu,user001,100001,u5zMEqXX,10001,user001@interstage.fujitsu.com,,5555-6789(注)

注)1エントリ1行で記述します。

ルールファイル

 CSVファイルの各項目の順序に合わせて、Attributeタグを記述します。

電話番号を1つ削除する場合のルールファイル(Attributeタグ内のみを示します。)

<Attribute>
<cn>1</cn>
<sn>2</sn>
<givenName>3</givenName>
<uid>4</uid>
<userPassword>5</userPassword>
<employeeNumber>6</employeeNumber>
<mail>7</mail>
<telephonenumber>8</telephonenumber>
<telephonenumber>9</telephonenumber>
</Attribute>

◆属性値の置換え

 次のユーザ情報エントリの、電話番号5555-6789を5555-9001に置き換える場合のCSVファイルとルールファイルの記述例を示します。

dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com
cn: User001
sn: Fujitsu
givenName: user001
uid: 100001
userPassword: u5zMEqXX
employeeNumber: 10001
mail: user001@interstage.fujitsu.com
telephonenumber: 5555-6789

CSVファイル

 0番目の項目に“MOD”を指定し、次桁から属性値を置き換えるエントリ情報を記述します。8番目の項目に電話番号(telephonenumber)が記述されていた場合、その値を新しい値で置き換えます。

電話番号置換えのCSVファイル

MOD,User001,Fujitsu,user001,100001,u5zMEqXX,10001,user001@interstage.fujitsu.com,5555-9001(注)

注)1エントリ1行で記述します。

ルールファイル

 CSVファイルの各項目の順序に合わせて、Attributeタグを記述します。上記の電話番号置換え例のCSVファイルの場合は、前述の“属性値の追加”で使用した例のルールファイルと同じものを使用します。

irepmodifyentコマンド使用例

irepmodifyent -h hostname -p 389 -D "cn=manager,ou=interstage,o=fujitsu,dc=com" -r rule.xml -i mod.csv(注)

注)改行を入れないで1行で記述します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005