fnattr コマンドにより、FNS 名前付きオブジェクトに関連する属性を更新したり検索できます。fnattr コマンドを使って、以下の 4 つの属性に関する操作が行えます。
fnattr -a [-s] name [-O|-U] identifier values |
fnattr -d name [[-O|-U] identifier [values]] |
fnattr -m name [-O|-U] identifier oldvalue newvalue |
fnattr -l name [[-O|-U] identifier] |
オプション |
説明 |
---|---|
name |
複合名 |
identifier |
属性名 |
values |
1 つあるいは複数の属性値 |
oldvalue |
変更する属性値 |
newvalue |
新しい属性値 |
-a |
新しい属性値を追加 (作成) する |
-d |
属性を削除する |
-m |
属性を変更 (修正) する |
-l |
属性値を一覧表示する |
-s |
「代用」モードで追加する。identifier 属性に対する既存の値をすべて削除し、新しい属性値を作成する |
-l |
属性と値を一覧表示する |
-O |
識別子として OSI OID を使用する |
-U |
識別子として DCE UUID を使用する |
各オプションでの識別子の形式は、-O あるいは -U のオプションを使用していない限り、FN_ID_STRING になります。
属性を追加したり、属性に値を追加したりするには、-a オプションを使用します。この場合、複合名、属性識別子、追加する値も指定します。
fnattr -a [-s] name [-O | -U] identifier value1 [ value2+] |
以下の例では、属性識別子 model と値 hplaser が thisorgunit/service/printer に追加されます。
# fnattr -a thisorgunit/service/printer model hplaser |
-s は、「代用モードで追加する」という意味のオプションです。指定の識別子を持つ属性がすでに存在する場合、-s はその値をすべて削除し、それらを追加した値に置き換えます。このオプションを指定しないと、指定した属性の値には既存の値と追加した新しい値の両方が含まれることになります。
# fnattr -as thisorgunit/service/printer model hplaser |
上の例では最初に model に対応する値をすべて削除し、hplaser を値として追加します。
FNS 名前付きオブジェクトの属性を削除するには、-d オプションを使用します。
fnattr -d name [[-O | -U] identifier value1 [ value2+]] |
削除対象の指定には以下の規則があります。
名前のみ。複合名だけを指定し、属性識別子を指定しないと、名前付きオブジェクトの属性はすべて削除される
名前および識別子のみ。複合名と属性識別子だけを指定し、属性値を指定しない場合、「identifier」によって識別された属性全体が削除される
名前、識別子、および値。複合名、属性識別子、および 1 つあるいは複数の属性値を指定した場合、これらの値だけが属性から削除される。属性の最後に残っている値が削除されると、属性自体が削除されたのと同じ結果になる
以下の例では、thisorgunit/service/printer のすべての属性が削除されます。
# fnattr -d thisorgunit/service/printer |
属性の内容を表示するには、-l オプションを使用します。構文は以下のとおりです。
fnattr -l name [[-O | -U] identifier] |
以下の例では、thisorgunit/service/printer の model 属性の値が表示されます。
# fnattr -l thisorgunit/service/printer model laser postscript |
識別子を指定しない場合、オブジェクトのすべての属性の内容が表示されます。
属性値を変更するには、-m オプションを使用します。構文は以下のとおりです。
fnattr -m name [-O | -U] identifier old_value new_value |
以下の例では、postscript という値が laser に変更されます。thisorgunit/service/printer の他の属性 (およびその値) には影響がありません。
# fnattr -m thisorgunit/service/printer model postscript laser |
-O オプションを指定した場合、属性識別子の形式には、ASN.1 の整数を並べてドットで区切る形式 (FN_ID_ISO_OID_STRING、10 進数を並べてドットで区切る形式) を使用します。
-U オプションを指定した場合、属性識別子の形式には、DCE UUID 文字列 (FN_ID_DCE_UUID) を使用します。