Go to main content
Oracle® Solaris 11.3 ディレクトリサービスとネームサービスでの作業: LDAP

印刷ビューの終了

更新: 2016 年 11 月
 
 

カスタムマップの例

このセクションの例では、マップをカスタマイズする方法を示します。必要に応じて、任意のテキストエディタを使用して、/var/yp/NISLDAPmapping ファイルを修正します。ファイル属性および構文の詳細は、NISLDAPmapping(4) のマニュアルページを参照してください。LDAP ネームサービスの詳細は、LDAP ネームサービスの概要を参照してください。

使用例 7  ホストエントリの移動

この例では、NISLDAPmapping ファイルで nisLDAPobjectDN 属性を新しいベース LDAP 識別名 (DN) に変更することにより、DIT 内のデフォルトの場所から別の場所にホストエントリを移動する方法を示します。この例では、LDAP オブジェクトの内部構造は変更されません。したがって、objectClass エントリも変更されません。

変更前:

nisLDAPobjectDN hosts: \
ou=hosts,?one?, \
objectClass=device, \
objectClass=ipHost

変更後:

nisLDAPobjectDN hosts: \
ou=newHosts,?one?, \
objectClass=device, \
objectClass=ipHost

この変更により、エントリは dn: ou=hosts, dom=domain1, dc=sun, dc=com ではなく dn: ou=newHosts, dom=domain1, dc=sun, dc=com の下にマッピングされます。

使用例 8  カスタムマップの実装

この例では、カスタムマップの実装方法を示します。

この例では、servdate.bynumber マップには、システムのサービス日付に関する情報が含まれます。このマップには、システムのシリアル番号でインデックスが付けられます。この例では、123 です。各エントリは、システムの所有者名、コロン、およびサービス日付のコンマ区切りのリストで構成されます。たとえば、John Smith:1/3/2001,4/5/2003 のようになります。

古いマップ構造は、次の形式の LDAP エントリにマップされます。

dn: number=123,ou=servdates,dc=... \
number: 123 \
userName: John Smith \
date: 1/3/2001 \
date: 4/5/2003 \
.
.
.
objectClass: servDates

NISLDAPmapping ファイルを調べると、必要なパターンに最も近いマッピングが group であることがわかります。カスタムマッピングは group マッピングを参考にできます。マップは 1 つだけなので、nisLDAPdatabaseIdMapping 属性は不要です。NISLDAPmapping に追加される属性は、次のとおりです。

nisLDAPentryTtl servdate.bynumber:1800:5400:3600

nisLDAPnameFields servdate.bynumber: \
("%s:%s", uname, dates)

nisLDAPobjectDN servdate.bynumber: \
ou=servdates, ?one? \
objectClass=servDates:

nisLDAPattributeFromField servdate.bynumber: \
dn=("number=%s,", rf_key), \
number=rf_key, \
userName=uname, \
(date)=(dates, ",")

nisLDAPfieldFromAttribute servdate.bynumber: \
rf_key=number, \
uname=userName, \
dates=("%s,", (date), ",")