ldaplist - 構成済みのプロファイルを使用した LDAP ディレクトリからのネーミング情報の検索および一覧表示
/usr/bin/ldaplist [-dlv] [-h LDAP_server[:serverPort] [-M domainName] [-N profileName] [-a authenticationMethod] [-P certifPath] [-D bindDN] [-w bindPassword] [-j passwdFile]] [-C containerDN] [database [key]...]
/usr/bin/ldaplist -g
/usr/bin/ldaplist -h
–h LDAP_server[:serverPort] オプションが指定されている場合、ldaplist はオプションによって指定されたサーバーへの接続を確立して、–N オプションで指定された DUAProfile を取得します。ldaplist は、取得された構成で説明されているディレクトリからの情報を一覧表示します。
デフォルトでは (–h LDAP_server[:serverPort] オプションが指定されていない場合)、このユーティリティーは、クライアント初期化フェーズ中に ldapclient(8) によって生成された LDAP 構成ファイルで定義されている LDAP ディレクトリサービスからネーミング情報を検索して一覧表示します。このユーティリティーをデフォルトモードで使用するには、Oracle Solaris LDAP クライアントがあらかじめ設定されている必要があります。
このデータベースは、nsswitch.conf(5) で定義されているコンテナ名またはデータベース名のどちらかです。コンテナとは、ネームサービス情報を含むディレクトリ情報ツリー (DIT) 内のリーフ以外のエントリのことです。コンテナ名は、構成ファイルで定義されている defaultSearchBase を基準としたコンテナの LDAP 相対識別名 (RDN) です。たとえば、ou=people という名前のコンテナの場合、データベース名は nsswitch.conf で指定されたデータベースです。このデータベースはコンテナにマップされます。たとえば、passwd は ou=people にマップされます。無効なデータベースが指定されている場合、そのデータベースは汎用のコンテナ (たとえば、nisMapName=name) にマップされます。
この鍵は、データベース内で検索される属性値です。同じデータベース内で検索される複数の鍵を指定できます。この鍵は、attribute=value または value の 2 つの形式のどちらかで指定できます。最初の場合は、ldaplist からサーバーに検索キーが渡されます。後者の場合は、データベースの指定方法に応じて属性が割り当てられます。データベースがコンテナ名である場合は、「cn」属性タイプが使用されます。データベースが nsswitch.conf で定義されている有効なデータベース名である場合は、定義済みの属性タイプが使用されます (下の表を参照)。データベースが無効なデータベース名である場合は、cn が属性タイプとして使用されます。
ldaplist ユーティリティーは、RFC 2307bis (現在は IETF ドラフト) で定義されたスキーマに依存します。LDAP サーバー上に格納されるデータは、プロファイルにスキーママッピング定義が含まれいてないかぎり、このスキーマに基づいて格納される必要があります。スキーママッピングの詳細は、ldapclient(8) を参照してください。次の表は、データベース名からコンテナへのデフォルトのマッピング、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_home、auto_direct、… を表します。
publickey データベースで、鍵が数字で始まっている場合は、UID 番号として解釈されます。鍵が数字以外で始まっている場合は、ホスト名として解釈されます。
ldaplist ユーティリティーは、鍵の中にワイルドカード「*」を使用した部分文字列の検索をサポートしています。たとえば、「my*」は、「my」で始まるすべての文字列に一致します。一部のシェル環境では、ワイルドカードが含まれた鍵を引用することが必要な場合があります。
鍵が指定されていない場合は、現在の検索 baseDN 内のすべてのコンテナが一覧表示されます。
サポートしているオプションは、次のとおりです。
認証方法を指定します。デフォルト値は、プロファイルで構成されているものです。サポートされる認証方法は次のとおりです。
simple sasl/CRAM-MD5 sasl/DIGEST-MD5 tls:simple tls:sasl/CRAM-MD5 tls:sasl/DIGEST-MD5
simple を選択すると、パスワードがネットワーク経由で平文で送信されます。これを使用することは決してお勧めできません。
さらに、認証を使用しないプロファイルを使用してクライアントが構成されている場合、つまり、credentialLevel 属性が anonymous に設定されているか、または authenticationMethod が none に設定されている場合、ユーザーはこのオプションを使用して認証方法を指定する必要があります。
指定されたサーバーによって提供されるプロファイル検索のコンテナ DN を指定します。これを指定せず、–M も指定しなかった場合、プロファイル検索時にデフォルトのドメイン名が使用されます。
エントリではなく、指定されたデータベースの属性を一覧表示します。デフォルトでは、エントリが一覧表示されます。
要求されたデータベースへの読み取り権を持つエントリを指定します。
データベースのマッピングを一覧表示します。
データベースのマッピングを一覧表示します。
このオプションは非推奨になりました。
エントリが読み取られる LDAP サーバーのアドレス (または名前) とポートを指定します。nsswitch.conf ファイルに指定されている現在のネームサービスが使用されます。認証方法で TLS が指定されていないかぎり、ポートのデフォルト値は 389 です。この場合、デフォルトの LDAP サーバーポート番号は 636 です。
IPv6 アドレスのアドレスとポート番号を指定するための形式は次のとおりです。
[ipv6_addr]:port
IPv4 アドレスのアドレスとポート番号を指定するには、次の形式を使用します。
ipv4_addr:port
ホスト名を指定する場合は、次の形式を使用します。
host_name:port
バインド DN のパスワードまたは SSL クライアントの鍵データベースのパスワードを含むファイルを指定します。パスワードを保護するには、このオプションをスクリプトで使用し、セキュリティー保護されたファイルにパスワードを保存します。
このオプションは、–w オプションとは相互排他的です。
検索条件に一致する各エントリのすべての属性を一覧表示します。デフォルトでは、ldaplist は、検索されたエントリの識別名のみを一覧表示します。
指定されたサーバーによって提供されるドメインの名前を指定します。このオプションが指定されていない場合は、デフォルトドメイン名が使用されます。
DUAProfile の名前を指定します。–H オプションで指定されたサーバー上に、このような名前を持つプロファイルが存在すると想定されます。デフォルト値は default です。
証明書データベースの場所への証明書のパスを指定します。値は、セキュリティーデータベースファイルが置かれているパスです。これは、authenticationMethod および serviceAuthenticationMethod 属性で指定される TLS サポートに使用されます。デフォルトは /var/ldap です。
bindDN の認証に使用するパスワード。このパラメータがない場合、このコマンドはパスワードの入力を求めます。LDAP では、NULL パスワードはサポートされていません。
認証に使用されるパスワードを指定するために –w bind_password を使用すると、システムのほかのユーザーが ps コマンドを使用して、スクリプトファイルまたはシェルの履歴でそのパスワードを表示できるようになります。
- の値がパスワードとして指定されている場合、このコマンドはパスワードの入力を求めます。
冗長モードを設定します。ldaplist ユーティリティーは、エントリを検索するために使用されるフィルタも表示します。このフィルタには「+++」の接頭辞が付けられます。
次の例では、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 ユーザーのすべての属性の一覧表示
次の例では、user1 の passwd、shadow、および 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
次の終了ステータスが返されます。
いくつかのエントリに正常に一致しました。
テーブルを正常に検索しましたが、一致が見つかりませんでした。
エラーが発生しました。エラーメッセージが出力されます。
クライアントの LDAP 構成を含むファイル。これらのファイルを手動で変更しないでください。その内容は人間が読めるとは限りません。これらのファイルを更新するには、ldapclient(8) を使用します。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
resolv.conf(5), attributes(7), ldap(7), idsconfig(8), ldap_cachemgr(8), ldapaddent(8), ldapclient(8)
RFC 2307bis は、LDAP をネームサービスとして使用するためのアプローチを定義した、ドラフト段階にある IETF 情報ドキュメントです。
StartTLS と生の TLS の両方をサポートしています。StartTLS 要求は、ポート 636 を指定しない任意の接続で使用されます。例:
-h foo:1000 -a tls:simple
これは、ホスト foo、ポート 1000 でのセキュアではないオープン、その次に接続の確立後の StartTLS 要求を指しています。