Tools前書きOpenLDAPシステムの管理は、システムの構成方法や必要な重要な情報の入手先がわからない場合、困難になる可能性があります。このガイドでは、OpenLDAPサーバーに重要な情報を照会する方法と、実行中のシステムに変更を加える方法を示します。開始するには、OpenLDAPがインストールおよび構成されているシステムにアクセスできる必要があります。OpenLDAPサーバーのセットアップ方法を学ぶことができますhttps://www.digitalocean.com/community/tutorials/how-to-install-and-configure-openldap-and-phpldapadmin-on-an-an-ubuntu-14-04-サーバー[こちら]。LDAPディレクトリサービスを使用する際に使用される基本的な用語に精通している必要があります。[このガイド]を使用して、これらのトピックをさらに理解することができます。*と呼ばれる階層構造に整理します。+`と呼ばれるエントリをルートとしています。サービスの開始時に構成ファイルの読み取りに依存していた非推奨の構成方法とは異なり、OLCに対する変更はすぐに実装され、多くの場合、サービスを再起動する必要はありません。OLCシステムは、標準のLDAPメソッドを使用して認証および変更を行います。このため、経験豊富なLDAP管理者の管理は、データDITの操作に使用するものと同じ知識、スキル、ツールを使用できるため、多くの場合シームレスです。LDAPを初めて使用する場合は、学習用の環境を構成するためにLDAPツールの使用方法を知る必要があるため、使い始めるのが難しい場合があります。このガイドでは、LDAPの学習とシステムの管理を開始できるように、この鶏と卵の状況を乗り越えるための基本的なOpenLDAP管理の指導に焦点を当てます。ルートDSEへのアクセスまず、ルートDSEと呼ばれる構造について説明します。ルートDSEは、サーバーの個々のDITをすべて保持する構造です。これは基本的に、サーバーが知っているすべてのDITを管理するために使用されるエントリです。このエントリから開始することで、サーバーにクエリを実行して、サーバーがどのように構成されているかを確認し、次に進むべき場所を見つけることができます。DSEは何を表していますか?ルートDSEにクエリを実行するには、空(null)の検索ベースと「base」の検索スコープで検索を実行する必要があります。基本検索スコープは、指定されたエントリのみが返されることを意味します。通常、これは検索の深さを制限するために使用されますが、ルートDSEで操作する場合はこれが必要です(他の検索範囲が選択されている場合、情報は返されません)。必要なコマンドは次のとおりです。"+"LDAPサーバー自体からこれを実行しており、まだアクセス制限を設定していないと想定しています。結果は次のようになります。cn=Subschema出力を少し切り詰めました。このLDAPサーバーに関する重要なメタデータを確認できます。これらの項目のいくつかの意味を少し説明します。ここでは、この出力を生成したコマンドを見てみましょう。`コマンドは、ローカルホストで暗号化されていないLDAPクエリを指定するために使用されます。」は、匿名接続が必要であることをサーバーに通知します。“`で検索ベースをnullに設定します。`を使用して、無関係な出力を抑制します。“+`は、通常は非表示になる操作属性を表示することを指定します(これは、必要な情報を見つける場所です)。このサーバーが管理するDITを見つけるここでの目的のために、この特定のLDAPサーバーがどのDITを提供するように構成されているかを調べようとしています。+」操作属性の値としてそれを見つけることができます。これが必要な情報の唯一の部分である場合、次のようなより適切なクエリを作成できます。"namingContexts"ここで、値を知りたい正確な属性を呼び出しました。+`属性を通じて利用できます。これは通常は非表示の操作属性ですが、明示的に呼び出すと返されます。これにより、他の情報が抑制され、次のようなクリーンな出力が得られます。+`の識別名(DN)を持つエントリをルートとする(非管理)DITが1つしかないことがわかります。サーバーが追加のDITを担当している場合、これにより複数の値が返される可能性があります。`の検索では返されません。+`と呼ばれる専用の属性に保存されます。構成DITのベースDNを学習するには、前と同じように、この特定の属性を照会します。"configContext"結果は次のようになります。+」というDNに基づいています。これは設定DITと完全に一致する可能性が高いため、ガイド全体で使用します。構成DITが異なる場合は、指定されたコマンドを変更します。構成DITへのアクセス構成DITの場所がわかったので、現在の設定を確認するためにクエリを実行できます。これを行うには、実際にこれまで使用してきた形式と少し異なる必要があります。このDITを使用してLDAPシステムの設定を変更できるため、いくつかのアクセス制御が設定されています。+`ユーザーの管理を許可するように設定されています。必要なコマンドは次のようになります。`に置き換えて、SASL認証方法を使用することを示す必要があります。」に変更する必要があります。これにより、OpenLDAPはオペレーティングシステムユーザーを検証できます。これは、アクセス制御プロパティを評価するために必要です。+」エントリを使用します。結果は、設定の長いリストになります。簡単に上下にスクロールできるように、ページャーにパイプすることが役立つ場合があります。less非常に多くの情報があり、処理するのに多くのことがあることがわかります。このコマンドは、構成ツリー全体を印刷しました。情報が整理されて保存されている階層をよりよく理解するには、代わりにさまざまなエントリDNを印刷します。dnこれは、コンテンツ全体ではなくエントリタイトル(DN)自体を表示する、より管理しやすいリストになります。olcDatabase={1}hdb,cn=configこれらのエントリは、LDAPシステムのさまざまな領域が構成されている構成階層を表します。これらの各エントリで処理される設定を見てみましょう。トップレベルのエントリには、システム全体に適用されるいくつかのグローバル設定が含まれています(より具体的なコンテキストでオーバーライドされない限り)。次のように入力すると、このエントリに保存されている内容を確認できます。baseこのセクションの一般的な項目は、グローバル認証設定、ログレベルの詳細設定、プロセスのPIDファイルの場所へのポインター、SASL認証に関する情報です。この下のエントリは、システムのより具体的な領域を構成します。表示される可能性のあるさまざまな種類のエントリを見てみましょう。config`ダイエットにアクセスできるようになったので、システム上のすべてのDITのルートを見つけることができます。rootDNは基本的に管理エントリです。そのアカウントへのログインに使用できるパスワード(通常はハッシュされている)を見つけることもできます。各DITのrootDNを見つけるには、次を入力します。-Q次のような印刷物が得られます。{SSHA}AOADkATWBqb0SJVbGhcIAYF+ePzQJmW+システムが複数のDITを提供している場合は、それぞれに1つのブロックが表示されるはずです。com`であることがわかります。ハッシュ化されたパスワードも確認できます。スキーマ情報の表示LDAPスキーマは、システムで使用可能なobjectClassesおよび属性を定義します。実行時にスキーマをシステムに追加して、さまざまなオブジェクトのタイプと属性を使用可能にすることができます。特定のプロパティはシステム自体に組み込まれています。+`エントリにあります。次のように入力して、LDAPシステムに組み込まれているスキーマを確認できます。lessこれにより、OpenLDAPシステム自体に含まれているスキーマが表示されます。他のすべてのスキーマとは異なり、これを使用するシステムに追加する必要はありません。追加のスキーマを表示ビルトインスキーマは出発点としては便利ですが、エントリで使用したいものがすべて揃っているとは限りません。従来のLDIFメソッドを使用して、システムにスキーマを追加できます。+`エントリの下のサブエントリとして利用できます。+`のようなスキーマ名が続きます。括弧で囲まれた数字は、スキーマがシステムに読み込まれる順序を決定するために使用されるインデックスを表します。通常、これは追加されるとシステムによって自動的に行われます。システムにロードされた追加スキーマの名前のみを表示するには、次のように入力できます。dn出力には、サブエントリの名前が表示されます。システムにロードされているものに応じて、次のようになります。cn={3}inetorgperson,cn=schema,cn=configスキーマ自体と割り当てられたインデックス番号は異なる場合があります。ベース検索を実行し、関心のある特定のスキーマをリストすることにより、特定のスキーマの内容を表示できます。+`スキーマを見たい場合、次のように入力できます。less追加のスキーマをすべて印刷する場合は、代わりに次のように入力します。less組み込みのスキーマを含むすべてのスキーマを印刷する場合は、代わりにこれを使用します。構成DITで関心のある他の領域には、モジュールとさまざまなストレージテクノロジー設定があります。モジュールモジュールは、OpenLDAPシステムの機能を拡張するために使用されます。これらのエントリは、その機能を使用するためにモジュールをポイントしてロードするために使用されます。実際の構成は、他のエントリを介して行われます。次のように入力すると、システムに動的にロードされたモジュールを確認できます。"objectClass=olcModuleList"現在システムにロードされているモジュールが表示されます。+`バックエンドモジュールを使用できる単一のモジュールしかありません。バックエンドバックエンドエントリは、データストレージを実際に処理するストレージテクノロジーを指定するために使用されます。システムでアクティブなバックエンドを確認するには、次を入力します。"objectClass=olcBackendConfig"その結果、使用中のストレージテクノロジーがわかります。これは次のようになります。{0}hdbデータベースこれらのストレージシステムの実際の構成は、個別のデータベースエントリで行われます。OpenLDAPシステムがサービスするDITごとにデータベースエントリが必要です。利用可能な属性は、各データベースで使用されるバックエンドによって異なります。システム上のデータベースエントリの名前をすべて表示するには、次のように入力します。dnデータベースエントリのDNが表示されます。olcDatabase={1}hdb,cn=configこれらのそれぞれの用途について少し説明しましょう。*:このエントリは、特別な「フロントエンド」データベースの機能を定義するために使用されます。これは、他のすべてのデータベースに適用されるグローバル設定を定義するために使用される擬似データベースです(オーバーライドされない限り)。+`データベースの設定を定義するために使用されます。ほとんどの場合、これは主にアクセス制御設定、レプリケーション構成などになります。+)の設定を定義します。これらは通常、アクセス制御、データの保存、キャッシュ、バッファリングの方法の詳細、およびDITのルートエントリと管理の詳細を定義します。括弧内の数字はインデックス値を表します。これらは主にシステムによって自動的に作成されます。エントリを正常に参照するには、エントリに指定された値を置き換える必要があります。次のように入力すると、これらのエントリの内容を表示できます。less前のコマンドから返されたエントリDNを使用して、「++」フィールドに入力します。DIRを使用してきました。このガイドの残りの部分は、通常のDITにも適用されます。各エントリには、管理メタデータとして機能する操作属性があります。これらは、エントリに関する重要な情報を見つけるために、DITでアクセスできます。エントリのすべての操作属性を印刷するには、エントリの後に特別な「」属性を指定できます。+`のエントリの操作属性を出力するには、次のように入力できます。"+"これにより、すべての操作属性が出力されます。TRUEこれは、特に誰がいつエントリを変更または作成したかを確認するのに役立ちます。サブスキーマの使用サブスキーマは、使用可能なクラスと属性の表現です。DITのスキーマエントリと同様の情報が、追加情報とともに表示されます。これは、通常の非構成DITを介して利用できるため、ルートアクセスは必要ありません。subschemaSubentryこれにより、現在のエントリに関連付けられているサブスキーマエントリが出力されます。dc=chilidonuts,dc=tksubschemaSubentry:ツリー内のすべてのエントリが同じサブスキーマを共有することは一般的であるため、通常、各エントリに対してこれをクエリする必要はありません。サブスキーマの表示サブスキーマエントリの内容を表示するには、上記で見つかったサブスキーマエントリを「ベース」のスコープでクエリする必要があります。すべての重要な情報は操作属性に保存されるため、特別な「+」セレクターを再度使用する必要があります。必要なコマンドは次のとおりです。lessこれにより、サブスキーマエントリ全体が印刷されます。探している情報の種類に基づいてフィルタリングできます。LDAP構文の定義を表示する場合は、次のように入力してフィルタリングできます。lessエントリと一致するための検索の処理方法を制御する定義を表示するには、次のように入力します。less一致ルールを使用して一致するアイテムを確認するには、次のように入力します。less使用可能な属性タイプの定義を表示するには、次を使用します。lessobjectClass定義を表示するには、次を入力します。less結論OpenLDAPサーバーの運用は最初は難しいように思えますが、構成DITとシステム内のメタデータの検索方法を理解することで、すぐに使い始めることができます。DITを変更すると、実行中のシステムにすぐに影響する可能性があります。DITを介してシステムを構成すると、LDAPツールのみを使用してリモート管理をセットアップできる可能性があります。これは、LDAP管理とサーバー管理を分離できることを意味します。