マニュアルページセク ション 1: ユーザーコマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

ldaplist(1)

名前

ldaplist - 構成済みのプロファイルを使用した LDAP ディレクトリからのネーミング情報の検索および一覧表示

形式

/usr/bin/ldaplist [-dlv] [-h LDAP_server[:serverPort] [-M domainName] 
   [-N profileName] [-a authenticationMethod] [-P certifPath] 
   [-D bindDN] [-w bindPassword] [-j passwdFile]]
   [database [key]...]
/usr/bin/ldaplist -g
/usr/bin/ldaplist -h

説明

–h LDAP_server[:serverPort] オプションが指定されている場合、ldaplist はオプションによって指定されたサーバーへの接続を確立して、–N オプションで指定された DUAProfile を取得します。ldaplist は、取得された構成で説明されているディレクトリからの情報を一覧表示します。

デフォルトでは (–h LDAP_server[:serverPort] オプションが指定されていない場合)、このユーティリティーは、クライアントの初期化フェーズ中に ldapclient(1M) によって生成された LDAP 構成ファイルで定義されている LDAP ディレクトリサービスからのネーミング情報を検索して一覧表示します。このユーティリティーをデフォルトモードで使用するには、Oracle Solaris LDAP クライアントがあらかじめ設定されている必要があります。

このデータベースは、nsswitch.conf(4) で定義されているコンテナ名またはデータベース名のどちらかです。コンテナとは、ネームサービス情報を含むディレクトリ情報ツリー (DIT) 内のリーフ以外のエントリのことです。コンテナ名は、構成ファイルで定義されている defaultSearchBase を基準としたコンテナの LDAP 相対識別名 (RDN) です。たとえば、ou=people という名前のコンテナの場合、データベース名は nsswitch.conf で指定されたデータベースです。このデータベースはコンテナにマップされます。たとえば、passwdou=people にマップされます。無効なデータベースが指定されている場合、そのデータベースは汎用のコンテナ (たとえば、nisMapName=name) にマップされます。

この鍵は、データベース内で検索される属性値です。同じデータベース内で検索される複数の鍵を指定できます。この鍵は、attribute=value または value の 2 つの形式のどちらかで指定できます。最初の場合は、ldaplist からサーバーに検索キーが渡されます。後者の場合は、データベースの指定方法に応じて属性が割り当てられます。データベースがコンテナ名である場合は、「cn」属性タイプが使用されます。データベースが nsswitch.conf で定義されている有効なデータベース名である場合は、定義済みの属性タイプが使用されます (下の表を参照)。データベースが無効なデータベース名である場合は、cn が属性タイプとして使用されます。

ldaplist ユーティリティーは、RFC 2307bis (現在は IETF ドラフト) で定義されたスキーマに依存します。LDAP サーバー上に格納されるデータは、プロファイルにスキーママッピング定義が含まれいてないかぎり、このスキーマに基づいて格納される必要があります。スキーママッピングについての詳細は、ldapclient(1M) を参照してください。次の表は、データベース名からコンテナへのデフォルトのマッピング、LDAP オブジェクトクラス、および鍵で定義されていない場合に使用される属性タイプを示しています。

Database     Object Class     Attribute Type    Container

aliases      mailGroup        cn                ou=Aliases
automount    nisObject        cn                automountMapName=auto_*
bootparams   bootableDevice   cn                ou=Ethers
ethers       ieee802Device    cn                ou=Ethers
group        posixgroup       cn                ou=Group
hosts        ipHost           cn                ou=Hosts
ipnodes      ipHost           cn                ou=Hosts
netgroup     ipNetgroup       cn                ou=Netgroup
netmasks     ipNetwork        ipnetworknumber   ou=Networks
networks     ipNetwork        ipnetworknumber   ou=Networks
passwd       posixAccount     uid               ou=People
protocols    ipProtocol       cn                ou=Protocols
publickey    nisKeyObject     uidnumber         ou=People
                              cn                ou=Hosts
rpc          oncRpc           cn                ou=Rpc
services     ipService        cn                ou=Services
printers     printerService   printer-uri       ou=printers
auth_attr    SolarisAuthAttr  cn                ou=SolarisAuthAttr
prof_attr    SolarisProfAttr  cn                ou=SolarisProfAttr
exec_attr    SolarisExecAttr  cn                ou=SolarisProfAttr
user_attr    SolarisUserAttr  uid               ou=People
projects     SolarisProject   SolarisProjectID  ou=projects

システムが Trusted Extensions を使用して構成されている場合は、次のデータベースだけが使用できます。


tnrhtp      ipTnetTemplate   ipTnetTemplateName ou=ipTnet
tnrhdb      ipTnetHost       ipTnetNumber       ou=ipTnet

  • automount データベースの場合、コンテナ列の auto_*auto_homeauto_direct、… を表します。

  • publickey データベースで、鍵が数字で始まっている場合は、UID 番号として解釈されます。鍵が数字以外で始まっている場合は、ホスト名として解釈されます。

ldaplist ユーティリティーは、鍵の中にワイルドカード「*」を使用した部分文字列の検索をサポートしています。たとえば、「my*」は、「my」で始まるすべての文字列に一致します。一部のシェル環境では、ワイルドカードが含まれた鍵を引用することが必要な場合があります。

鍵が指定されていない場合は、現在の検索 baseDN 内のすべてのコンテナが一覧表示されます。

オプション

サポートしているオプションは、次のとおりです。

–a authenticationMethod

認証方法を指定します。デフォルト値は、プロファイルで構成されているものです。サポートされる認証方法は次のとおりです。


simple
sasl/CRAM-MD5
sasl/DIGEST-MD5
tls:simple
tls:sasl/CRAM-MD5
tls:sasl/DIGEST-MD5

simple を選択すると、パスワードがネットワーク経由で平文で送信されます。これを使用することは決してお勧めできません。

さらに、認証を使用しないプロファイルを使用してクライアントが構成されている場合、つまり、credentialLevel 属性が anonymous に設定されているか、または authenticationMethodnone に設定されている場合、ユーザーはこのオプションを使用して認証方法を指定する必要があります。

–d

エントリではなく、指定されたデータベースの属性を一覧表示します。デフォルトでは、エントリが一覧表示されます。

–D bindDN

要求されたデータベースへの読み取り権を持つエントリを指定します。

–g

データベースのマッピングを一覧表示します。

–h

データベースのマッピングを一覧表示します。

このオプションは非推奨になりました。

–h LDAP_server[:serverPort]

エントリが読み取られる LDAP サーバーのアドレス (または名前) とポートを指定します。nsswitch.conf ファイルに指定されている現在のネームサービスが使用されます。認証方法で TLS が指定されていないかぎり、ポートのデフォルト値は 389 です。この場合、デフォルトの LDAP サーバーポート番号は 636 です。

IPv6 アドレスのアドレスとポート番号を指定するための形式は次のとおりです。

[ipv6_addr]:port

IPv4 アドレスのアドレスとポート番号を指定するには、次の形式を使用します。

ipv4_addr:port

ホスト名を指定する場合は、次の形式を使用します。

host_name:port
–j passwdFile

バインド DN のパスワードまたは SSL クライアントの鍵データベースのパスワードを含むファイルを指定します。パスワードを保護するには、このオプションをスクリプトで使用し、セキュリティー保護されたファイルにパスワードを保存します。

このオプションは、–w オプションとは相互排他的です。

–l

検索条件に一致する各エントリのすべての属性を一覧表示します。デフォルトでは、ldaplist は、検索されたエントリの識別名のみを一覧表示します。

–M domainName

指定されたサーバーによって提供されるドメインの名前を指定します。このオプションが指定されていない場合は、デフォルトドメイン名が使用されます。

–N profileName

DUAProfile の名前を指定します。–H オプションで指定されたサーバー上に、このような名前を持つプロファイルが存在すると想定されます。デフォルト値は default です。

–P certifPath

証明書データベースの場所への証明書のパスを指定します。値は、セキュリティーデータベースファイルが置かれているパスです。これは、authenticationMethod および serviceAuthenticationMethod 属性で指定される TLS サポートに使用されます。デフォルトは /var/ldap です。

–w bindPassword

bindDN の認証に使用するパスワード。このパラメータがない場合、このコマンドはパスワードの入力を求めます。LDAP では、NULL パスワードはサポートされていません。

認証に使用されるパスワードを指定するために –w bind_password を使用すると、システムのほかのユーザーが ps コマンドを使用して、スクリプトファイルまたはシェルの履歴でそのパスワードを表示できるようになります。

- の値がパスワードとして指定されている場合、このコマンドはパスワードの入力を求めます。

–v

冗長モードを設定します。ldaplist ユーティリティーは、エントリを検索するために使用されるフィルタも表示します。このフィルタには「+++」の接頭辞が付けられます。

使用例 1 ホストデータベース内のすべてのエントリの一覧表示

次の例では、hosts データベース内のすべてのエントリを一覧表示します。

example% ldaplist hosts
使用例 2 非標準データベース ou=new 内のすべてのエントリの一覧表示

次の例では、非標準データベース内のすべてのエントリを一覧表示します。

example% ldaplist ou=new
使用例 3 passwd データベース内の user1 の検索

次の例では、passwd データベース内の user1 を検索します。

example% ldaplist passwd user1
使用例 4 services データベース内の 4045 のサービスポートを持つエントリの検索

次の例では、services データベース内の 4045 のサービスポートを持つエントリを検索します。

example% ldaplist services ipServicePort=4045
使用例 5 passwd データベース内の new で始まるユーザー名を持つすべてのユーザーの検索

次の例では、passwd データベース内の new で始まるユーザー名を持つすべてのユーザーを検索します。

example% ldaplist passwd 'new*'
使用例 6 hosts データベースの属性の一覧表示

次の例では、hosts データベースの属性を一覧表示します。

example% ldaplist -d hosts
使用例 7 passwd データベース内の user1 の検索

次の例では、passwd データベース内の user1 を検索します。LDAP サーバーが明示的に指定されています。

example% ldaplist -H 10.10.10.10:3890 \ 
            -M another.domain.name -N special_duaprofile \
            -D "cn=directory manager" -w secret \
            user1
使用例 8 ユーザーのすべての属性の一覧表示

次の例では、user1passwdshadow、および user_attr 属性を一覧表示します。非修飾の user_attr エントリが、SolarisAttrKeyValue 属性とともに一覧表示されます。修飾されたエントリは、SolarisUserAttrEntry 属性を使用して別の行に一覧表示されます。

example% ldaplist -l passwd user1
        dn: uid=u14,ou=users,dc=system,dc=com
        objectClass: posixAccount
		objectClass: shadowAccount
		objectClass: account
		objectClass: top
		objectClass: SolarisUserAttr
		objectClass: SolarisQualifiedUserAttr
		cn: user1
		uidnumber: 317
		gidnumber: 10
		homedirectory: /export/home/user1
		loginshell: /usr/bin/bash
		uid: user1
		userPassword: {crypt}UP
		shadowInactive: 365
		shadowExpire: 24472
		shadowFlag: 0
		SolarisUserType: normal
		SolarisAttrKeyValue: profiles=Basic Solaris User
		SolarisUserAttrEntry: leonardo:::profiles=System Administrator
	    SolarisUserAttrEntry: @mynetgroup:::\
		      profiles=Network Administrator;roles=admin
    
  

終了ステータス

次の終了ステータスが返されます。

0

いくつかのエントリに正常に一致しました。

1

テーブルを正常に検索しましたが、一致が見つかりませんでした。

2

エラーが発生した。エラーメッセージが出力されます。

ファイル

/var/ldap/ldap_client_file
/var/ldap/ldap_client_cred

クライアントの LDAP 構成を含むファイル。これらのファイルを手動で変更しないでください。その内容は人間が読めるとは限りません。これらのファイルを更新するには、ldapclient(1M) を使用します。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/network/nis
インタフェースの安定性
確実

関連項目

ldapadd(1), ldapdelete(1), ldapmodify(1), ldapmodrdn(1), ldapsearch(1), idsconfig(1M), ldap_cachemgr(1M), ldapaddent(1M), ldapclient(1M), resolv.conf(4), attributes(5), ldap(5)

RFC 2307bis は、LDAP をネームサービスとして使用するためのアプローチを定義した、ドラフト段階にある IETF 情報ドキュメントです。

現在 libldap.so.5 では StartTLS がサポートされていないため、提供されるポート番号は、StartTLS シーケンスの一部として使用されるポートではなく、TLS オープン中に使用されるポートを示します。たとえば、-h foo:1000 -a tls:simple は、セキュリティーで保護されていないポート 1000 上のオープンな StartTLS シーケンスではなく、ホスト foo のポート 1000 上の生の TLS オープンを示します。ポート 1000 がセキュリティーで保護されていない場合は、接続が確立されません。