ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Authentication Services for Operating Systems管理者ガイド
11g リリース(11.1.1)
B61411-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 Oracle Internet Directoryへのエントリの移行

この章の内容は次のとおりです。

4.1 エントリの移行

NIS、ファイルまたは別のLDAPディレクトリからエントリを移行する前に、次のタスクを実行します。

LDIFファイルをOracle Internet Directoryにロードする前に、bulkloadツールのcheck機能を使用して、ファイルにスキーマおよびデータの一貫性の違反がないか確認できます。構文は次のとおりです。

$ORACLE_HOME/ldap/bin/bulkload connect=oid-db check=true file=ldif_file

注意:

機密情報を含むファイルを処理する際には、セキュリティ対策を行ってください。

この項の内容は次のとおりです。

4.1.1 NISからOracle Internet Directoryへの移行

次のようにエントリを移行します。

4.1.1.1 AIX 5.3

クライアント構成スクリプトの実行前にすべてのエントリをLDAPに移行していない場合は、「クライアントでのOracle Authentication Services for Operating Systemsの構成」の「AIX 5.3」の項に示されている手順を実行します。

4.1.1.2 その他のプラットフォーム

NISからOracle Internet Directoryにエントリを移行する手順は、次のとおりです。

  1. NISマスター・ファイルに対して、「NIS移行ツールの入手」に示されているLDAP移行スクリプトを実行します。これにより、エントリを含むLDIFファイルが生成されます。

  2. 様々なクライアントおよびsystem-config-usersツールとの互換性のために、次の例に示す必須属性がすべてエントリに含まれていることを確認します(passwordはユーザーのパスワードに置き換えてください)。

    dn: uid=jueno,ou=People,dc=us,dc=example,dc=com
    uid: jueno
    homedirectory: /home/jueno
    loginshell: /bin/tcsh
    uidnumber: 506
    gidnumber: 506
    cn: juri ueno
    objectclass: posixAccount
    objectclass: shadowAccount
    objectclass: account
    objectclass: top
    userpassword: password
    shadowwarning: -1
    shadowmax: 99999
    shadowlastchange: 13916
    shadowexpire: -1
    shadowmin: 0
    shadowinactive: -1
    gecos: jueno
    

    通常、HP-UXサーバーから移行されたユーザー・エントリには、shadowAccountオブジェクト・クラスおよび属性が欠落しています。

  3. Oracle Internet Directoryに同梱されているldapaddクライアント・ツールを使用して、LDIFエントリをOracle Internet Directoryにロードします。次の書式のコマンドラインを使用します。

    ldapadd -p port -h host -D binddn -q -v -f ldif_file
    

注意:

  • インストール時に作成されたものと同じネーミング・コンテキストを使用する場合は、これらのスクリプトによって、DIT(ディレクトリ情報ツリー)のすでに存在する部分が生成されます。これによって、既存のエントリを追加することになるため、ldapaddは失敗します。-cオプションを指定すると、これらの失敗を回避して、このようなエラーの発生時に処理を続行できます。

  • これらの追加を実行する際に適切な権限があるように、使用するbinddnはディレクトリ管理者のDNにする必要があります。


4.1.2 オペレーティング・システムのファイルからOracle Internet Directoryへの移行

オペレーティング・システムのファイルからの移行は、各マシン上の構成ファイルのバージョンが異なるという点を除けば、基本的にNISからの移行と同じです。複数のバージョンがある場合は、各バージョンに対して移行スクリプトを実行し、LDIFファイルを結合します。競合は、テキスト・エディタを使用して手動で解決する必要があります。各ユーザーのユーザー名およびUIDが一意であり、各グループのグループ名およびGIDも一意であることが必要です。

4.1.3 別のLDAPディレクトリからOracle Internet Directoryへの移行

サード・パーティのLDAP準拠ディレクトリからOracle Internet Directoryにエントリを移行できます。


注意:

この項では、LDAP準拠のソース・ディレクトリからOracle Internet Directoryに、データを一度に移行する方法を説明します。Oracle Directory Integration Platformを使用してソース・ディレクトリとOracle Internet Directory間の継続中の同期化を設定する場合は、Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイドを参照してください。

サード・パーティのソース・ディレクトリからOracle Internet Directoryへのエントリの移行は、スキーマの移行とデータの移行という2つのフェーズで行われます。

4.1.3.1 スキーマの移行

スキーマを移行する手順は、次のとおりです。

  1. schemasyncツールを実行して、ディレクトリ間のスキーマの差異を分析します。構文は次のとおりです。

    $ORACLE_HOME/bin/schemasync -srchost srchost -srcport srcport -srcdn binddn \
                                -srcpwd bindpwd -dsthost oidhost -dstport oidport \
                                -dstdn oiddn -dstpwd oidpwd
    

    srchostおよびsrcportはソース・ディレクトリの接続の詳細で、srcdnおよびsrcpwdはソース・ディレクトリに接続するための資格証明です。


    関連項目:

    Oracle Fusion Middleware Oracle Identity Managementリファレンスの「Oracle Directory Integration Platformのツール」の章にあるschemasyncのコマンド・リファレンス。

    コマンドによって、ソース・ディレクトリとOracle Internet Directoryのスキーマの差異を示す次の4つの出力ファイルが生成されます。

    • $ORACLE_HOME/ldap/odi/log/attributetypes.log: ソース・ディレクトリとOracle Internet Directoryの共通属性のスキーマ定義の差異。

    • $ORACLE_HOME/ldap/odi/log/objectclasss.log: ソース・ディレクトリとOracle Internet Directoryの共通オブジェクト・クラスのスキーマ定義の差異

    • $ORACLE_HOME/ldap/odi/data/attributetypes.ldif: Oracle Internet Directoryにはなくソース・ディレクトリのみで使用可能な属性。

    • $ORACLE_HOME/ldap/odi/data/objectclasses.ldif: Oracle Internet Directoryにはなくソース・ディレクトリのみで使用可能なオブジェクト・クラス。

  2. 必要に応じて、Oracle Internet Directoryでスキーマ要素を拡張します。

    1. 手順1で行った分析に基づいて、Oracle Internet Directoryにロードする必要がある新規のスキーマ要素を特定します。(手順1の)ファイルattributetypes.ldifおよびobjectclasses.ldifを、ロードする必要がある属性およびオブジェクト・クラスのみを含むように変更します。変更したファイルにmodified_attributetypes.ldifおよびmodified_objectclasses.ldifという名前を付けます。

      たとえば、サード・パーティのディレクトリにあるユーザー・エントリのオブジェクトクラスがinetorgperson、organizationalperson、person、srcuserで、Oracle Internet Directoryにあるユーザー・エントリのオブジェクトクラスがinetorgpersonorganizationalpersonpersonorcluserであるとします。手順1では、inetorgpersonorganizationalpersonおよびpersonのオブジェクトクラス定義がOracle Internet Directoryとサード・パーティのディレクトリの間で異なる場合、その差異がobjectclasses.logファイルに書き込まれます。このファイルを参照して、Oracle Internet Directoryのオブジェクトクラス定義に必要な変更を行うことを決定します。srcuserは、サード・パーティのディレクトリ固有のオブジェクトクラスであるため、オブジェクトクラス定義がobjectclasses.ldifファイルに含められます。objectclass.ldifファイルを、このオブジェクトクラス定義を含むように変更し、ファイル名をmodified_objectclasses.ldifに変更します。attributes.ldifファイルを、objectclasses.ldif内のオブジェクトクラスに必要な属性の定義を含むように変更します。

    2. 次のように、ldapmodifyコマンドを使用して必要なスキーマをアップロードします。

      ldapmodify -h oidhost -p oidport -D 'cn=orcladmin' -q \
                 -f modified_attributetypes.ldif 
      ldapmodify -h oidhost -p oidport -D 'cn=orcladmin' -q \
                 -f modified_objectclasses.ldif
      

4.1.3.2 データの移行

データの移行は、含めるエントリと除外するエントリがあるため、さらに複雑になります。含めるエントリの中でも、特定の属性のみを含める場合もあります。通常、ユーザーおよびグループは移行されます。アクセス制御定義を表す属性、パスワード・ポリシー関連の属性、およびその他の操作属性(createtimestampmodifytimestampcreatorsnamemodifiersnameentrydnnumsubordinatesparentidentryidnsuniqueidなど)は除外されます。userpasswordは、移行する属性として含めることができます。ただし、両方のディレクトリで同じ種類の暗号化またはハッシングの技術がサポートされている場合に限られます。

ソース・ディレクトリからのエクスポート中に(手順1)、または個別の手順として(手順2)データをフィルタ処理することで、移行するデータのみを取得できます。

  1. システム上で適切なLDAPツールを使用して、ソース・ディレクトリのデータをLDIFファイル形式でエクスポートし、分析します。使用するコマンドは、使用しているディレクトリ・サーバーのドキュメントを参照してください。エクスポート操作の際にフィルタ処理を行って必要な属性のみを持つ必要なLDAPエントリのみをエクスポートする場合は、手順3に進みます。そうでない場合は、手順2でフィルタ処理を行います。

  2. 移行しないエントリおよび属性を手順1でフィルタ処理して除外しなかった場合は、この手順でsyncProfileBootstrapを使用して削除します。

    syncProfileBootstrapツールでは、構成に基づいてエントリがフィルタ処理されます。また、属性のマッピングおよび変換もサポートされます。フィルタ処理、マッピングおよび変換の構成は、マップファイル内に指定します。サンプル・マップファイルは、付録Cを参照してください。

    1. ソース・ディレクトリからユーザーおよびグループ以外のエントリを移行する場合は、それに応じてマップファイルを更新します。

    2. サンプル・ファイル$ORACLE_HOME/ldap/odi/samples/migrate.propertiesのコピーを作成して、migrate.propertiesという名前を付けます。


      関連項目:

      プロパティ・ファイルで使用されるパラメータの詳細は、Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイドの「Oracle Directory Integration Platformのツール」の章にあるsyncProfileBootstrapのコマンド・リファレンスを参照してください。

    3. プロパティ・ファイルでは、移行するエントリが含まれているLDIFファイルの名前をソース・ファイルとして指定し、syncProfileBootstrapによって生成されるファイルの名前を出力先のファイル名として指定する必要があります。含めるコンテナ、除外するコンテナ、含める属性および除外する属性は、プロパティ・ファイルのマップファイル・パラメータで指定します。注意: このマップファイルは移行目的でのみ使用できます。同期化に対してはサポートされていません。サンプル・プロパティ・ファイルは、付録Bを参照してください。

    4. 次のコマンドを実行して、Oracle Internet Directoryに必要な形式の新規LDIFファイルを生成します。

      syncProfileBootstrap -file testmigrate.properties 
      
  3. オプションで、Oracle Internet Directoryプラグインを使用してエントリを拡張できます。「Linux認証用にActive Directoryエントリを拡張するためのプラグインの設定」を参照してください。この方法は、iPlanet(Sun Java System Directory Server)5.2およびActive Directoryに有効であることが認められています。

  4. 手順1または手順2でフィルタ処理されたLDIFファイルを取得し、$ORACLE_HOME/bin/ldapaddまたは$ORACLE_HOME/ldap/bin/bulkloadを使用してOracle Internet Directoryにデータを追加します。数千以上のエントリがある場合は、ldapaddではなくbulkloadを使用してください。

    1. ldapaddの構文は次のとおりです。

      ldapadd -h oidhost -p oidport -d oiddn -q -f ldif_file
      

      ldapaddを使用した場合は、データが正常に追加された後に、$ORACLE_HOME/ldap/admin/oidstats.sqlを使用してOracle Internet Directoryのデータベース統計を更新します。ODSデータベース・ユーザーとしてOracle Internet Directoryデータベースにログインし、次のSQLスクリプトを実行します。


      関連項目:

      Oracle Fusion Middleware Oracle Identity Managementリファレンスの「Oracle Internet Directory Databaseのツール」の章にあるoidstats.sqlのコマンド・リファレンス。

    2. bulkloadを使用する場合は、手順5に進みます。

  5. LDIFデータをOracle Internet Directoryにバルク・ロードします。次の手順に含まれるファイル/home/jdoe/migrationdata.ldifは、フィルタ処理されたLDIFファイルです。

    1. 次のコマンドを実行して、Oracle Internet Directoryのすべてのプロセスを停止します。

      $ORACLE_HOME/opmn/bin/opmnctl stopproc ias-component=OID
      
    2. まだ行っていない場合はデータベースのコールド・バックアップを行います。

    3. bulkloadを使用して、スキーマ・エラー、重複エントリおよびその他のエラーをチェックし、後続のデータ・ロードのための中間ファイルを生成します。構文は次のとおりです。

      $ORACLE_HOME/ldap/bin/bulkload connect=oid-db check=true generate=true file=/home/jdoe/migrationdata.ldif
      

      checkおよびgenerateの両オプションを指定すると、bulkloadによってエントリのスキーマ・コンプライアンスおよび重複がチェックされ、ロード・フェーズで使用される中間ファイルが$ORACLE_HOME/ldap/loadディレクトリ内に生成されます。

      check関連のエラーがある場合は、bulkloadによって画面上に報告されます。このツールによってエントリが$ORACLE_HOME/ldap/log/duplicateDN.logに記録され、スキーマ関連の違反が$ORACLE_HOME/ldap/log/bulkload.logに記録されます。エラーのあるエントリは$ORACLE_HOME/ldap/load/badentry.ldifに書き込まれます。

      bulkloadによってエントリ内でエラーが検出された場合は、Oracle Internet Directoryでエントリまたはスキーマ、あるいはその両方を修正する必要があります。問題を修正した後、bulkloadコマンドを再実行します。この手順を、エラーがなくなるまで、あるいは報告されるエラーが許容範囲内になるまで繰り返します。たとえば、少ない数のエントリについてなんらかのスキーマ・チェック・エラーが発生した場合は、ldapaddを実行してこれらのエントリをbadentry.ldifから追加し、後でOracle Internet Directoryでエントリまたはスキーマを修正することもできます。

      checkオプションおよびgenerateオプションを使用すると、bulkloadによって、check関連のエラーが検出されなかったエントリの中間ファイルが生成されます。generateは、エラーのあるエントリが存在する場合にも実行されます。たとえば、LDIFファイルに100のエントリがあり、10のエントリにcheckエラーがあった場合、bulkloadでは、問題のない90のエントリの中間ファイルが生成されます。

    4. bulkloadを使用してデータをロードし、すべての索引を再作成してデータベース統計を生成します。次のコマンドを実行します。

      $ORACLE_HOME/ldap/bin/bulkload connect=oid-db load=true file=/home/jdoe/migrationdata.ldif
      

      このコマンドによって3つの処理が行われます。つまり、SQL*Loaderを使用して$ORACLE_HOME/ldap/loadディレクトリからデータベースにデータがロードされ、索引が作成され、データベース統計が生成されます。

      エラーが検出されると、bulkloadによって画面にエラーが表示されます。データのロード中にエラーが報告された場合は、手順bで作成したバックアップからデータベースをリストアし、bulkload load=trueコマンドを繰り返す必要があります。bulkloadで索引の作成中にエラーが報告された場合は、次のコマンドを使用してすべての索引を再作成します。

      bulkload connect=oid-db index=true
      

      bulkloadでデータベース統計の生成中にエラーが報告された場合は、次のコマンドを使用して統計を生成できます。

      $ORACLE_HOME/ldap/admin/oidstats.sql
      
    5. 次のコマンドを実行して、Oracle Internet Directoryのすべてのプロセスを開始します。

      $ORACLE_HOME/opmn/bin/opmnctl startproc ias-component=OID
      

4.2 ユーザー・エントリ属性へのアクセス制御の設定

機密ユーザー属性を不正な変更から保護するには、アクセス制御項目を設定します。次のように入力します。

ldapmodify -h oidhost -p oidport -D 'cn=orcladmin' -q -f aci.ldif

aci.ldifは次のようになります。

dn:
changetype: modify
add: orclaci
orclaci: access to attr=(uidnumber,gidnumber,homedirectory,uid)
 by group="cn=OracleUserSecurityAdmins,cn=Groups,cn=OracleContext"
 (search,read,write,compare) by group="cn=directoryadmingroup,cn=oracle internet
 directory" (search,read,write,compare) by * (search,compare,nowrite,nocompare) 

4.3 Oracle Internet Directoryでのカスタム属性の使用

Oracle Internet Directoryで属性を検索できるのは、属性が索引付けされている場合のみです。デフォルトでは、ユーザーおよびグループのエントリの標準属性が索引付けされています。カスタム属性を使用する場合は、catalogコマンドを使用して索引付けできます。たとえば、amdautofsなどの自動マウント・プログラムで使用される自動マウント・データを移行する場合は、次のようにcatalogコマンドを使用してautomountKey属性に索引を付けます。

catalog connect="connect_str" add="TRUE" attribute="automountKey" 

注意:

必須属性として指定されている索引付けされていない属性の検索を実行しようとすると、「この機能は組み込まれていません ディレクトリ・サービス・エージェントが実行不可の状態です。」というエラーがサーバーによって戻されます。「新規カスタム属性の作成および索引付け(オプション)」を参照してください。

uidなどの一部の属性およびユーザー名は一意である必要があります。その属性に対して一意性制約を作成すると、Oracle Internet Directoryによって一意性が強制されます。詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「ディレクトリの属性一意性」の章を参照してください。


注意:

属性一意性の機能は、索引付けされた属性に対してのみ使用できます。

4.4 SUDOの移行

次のサイトからダウンロードしたsudoパッケージを使用して、/etc/sudoersからOracle Internet Directoryにエントリを移行できます。

http://www.gratisoft.us/sudo

このsudoパッケージには、sudoソフトウェアおよびsudoデータをLDAPデータ(LDIF)に変換するためのスクリプトが含まれています。移行プロセスを開始する前に、パッケージに含まれるドキュメントを参照してください。


注意:

sudoを移行した後、sudoポリシーが正しく強制されていることを確認するために、セキュリティ・テストを実行してください。

4.4.1 サーバー上のOracle Internet DirectoryへのSUDOエントリの移行

sudoersファイルの内容をOracle Internet Directoryに移行するには、次のステップを実行します。

  1. 次のコマンドを使用して、SudoersコンテナをOracle Internet Directoryに追加します。

    ldapadd -h oid_hostname -p port -D cn=orcladmin \
            -q -f sudocontainer.ldif
    

    sudocontainer.ldifは次のようになります。

    dn:ou=Sudoers,dc=us,dc=example,dc=com
    objectclass:top
    objectclass:organizationUnit
    ou=sudoers
    
  2. 既存のsudoクライアントの/etc/sudoersファイルを使用し、ダウンロードしたsudoパッケージに含まれている変換スクリプトを実行してLDIFファイルを生成します。ダウンロード・サイトに記載されている手順に従ってください。既知の制限事項については、sudoパッケージのドキュメントを参照してください。

  3. 生成されたLDIFファイルをテキスト・エディタで表示し、明らかなエラーを修正します。

  4. 次のコマンドを使用して、ldifファイルの内容をOracle Internet Directoryに追加します。

    ldapadd -h oid_hostname -p port -D cn=orcladmin \
            -q -f sudoers.ldif
    

    sudoers.ldifは、/etc/sudoersファイルから生成されたファイルです。

    ldapaddでエラーが発生した場合は、コマンドが停止してエラーが報告されます。コマンドが正常に実行されてすべてのエントリが追加されるまで、エラーを修正してコマンドを繰り返します。

sudoエントリをOracle Internet Directoryに移行したら、LDAPツールを使用してこれらのエントリを変更します。sudoエントリの編集に使用できるLDAPブラウザの詳細は、ダウンロードしたsudoパッケージのドキュメントを参照してください。

4.4.2 SUDO情報にLDAPを使用するためのクライアントの構成

ほとんどのクライアント・オペレーティング・システムでは、オペレーティング・システムに固有のLDAPおよびSSLライブラリを使用してsudoを構成できます。一部のオペレーティング・システムでは、OpenLDAPおよびOpenSSLを使用する必要があります。

sudoを構成する際には、make installの段階で/etc/ldap.confの新規コピーがインストールされます。すでにldap.confファイルが存在する場合は、sudoを構成する前にコピーを作成する必要があります。これを怠るとファイルが上書きされます。make installを実行した後、ファイルをコピーして/etc/ldap.confに戻します。

4.4.2.1 SuSE 10クライアント

  1. OpenLDAPパッケージとOpenSSLパッケージのダウンロード、ビルドおよびインストールを実行します。

  2. ファイル/etc/ldap.confがすでに存在する場合は、コピーを作成します。次に例を示します。

    cp /etc/ldap.conf /etc/ldap.conf.save
    
  3. sudoパッケージをダウンロードしたディレクトリで、次のコマンドを入力してsudoをビルドします。

    ./configure --with-ldap-type=openldap --with-pam --enable-ssl
    make all
    make compile
    make install
    
  4. ldap.confファイルのコピーを作成した場合は、それをコピーして元の名前に戻します。例:

    cp /etc/ldap.conf.save /etc/ldap.conf
    
  5. libpam.soリンクが存在しない場合は、次のように入力して作成します。

    cd /usr/lib
    ln -s libpam.so.0 libpam.so
    
  6. /etc/pam.d/sudoを編集します。最初のauth行の上に、次の行を追加します。

    auth     sufficient     /lib/security/pam_ldap.so debug
    
  7. /etc/ldap.confを、sudoers_baseがベースsudoersコンテナを指定するように変更します。例:

    sudoers_base  ou=Sudoers,dc=us,dc=example,dc=com
    

    sudoに対してsslを構成する場合は、ldap.confstartTLSを指定する必要があります。これは、現行のsudo実装ではSSLのみがサポートされないためです。例:

    ssl startTLS
    

4.4.2.2 Solaris 9、Solaris 10、HP-UX 11.23またはAIX 5.3クライアント

これらのオペレーティング・システムの固有のLDAPクライアントでは、StartTLSはサポートされません。sudoをSSLと併用する場合は、OpenLDAPパッケージとOpenSSLパッケージのダウンロード、ビルドおよびインストールを実行し、「SuSE 10クライアント」の説明に従ってsudoをビルドします。これらの手順を完了したら、/etc/ldap.confに次の行を追加し、ターゲットLDAPのホストとポート、SSL認証局証明書パスおよび証明書ファイル名を指定します。

host ldap_host
port ldap_port
tls_cacertdir  /etc/ca_certs_dir
tls_cacertfile  /etc/ca_cert_file

非SSLモードでのみsudoを使用する場合は、「その他のクライアント」の説明に従って、固有のLDAPクライアント・ライブラリを使用してsudoをビルドします。

4.4.2.3 AIX 5.3クライアント

AIX 5.3で、LDAPを有効にしてsudoをビルドするには、次の手順を実行します。base_dirは、opensslopenldapおよびsudoのインストール先のディレクトリです。

  1. 環境変数を設定します。

    export CFLAGS="-I$base_dir/include -I/usr/include" \ 
    export CPPFLAGS="-I$base_dir/include -I/usr/include" \ 
    export LDFLAGS="-L$base_dir/lib -L/usr/lib" 
    export CC=/usr/local/bin/gcc 
    
  2. opensslをビルドします。

    cd $build_dir/openssl-0.9.8g 
    ./Configure aix-cc shared threads -D_REENTRANT --prefix=$base_dir 
    make 
    make install 
    
  3. openldapをビルドします。

    cd $build_dir/openldap-2.3.39 
    ./configure \ 
    --prefix=$base_dir \ 
    --enable-slapd=no \ 
    --enable-bdb=no \ 
    --enable-static=no \ 
    --enable-shared=yes 
    
  4. 次のようにTLS_LIBSパラメータを追加して、Makefileを編集します。

    TLS_LIBS = -lssl -lcrypto -lldap 
    
  5. makeを実行します。

    make depend MKDEP=$PWD/build/mkdep.aix 
    make 
    

    makeの実行時にエラーが発生する場合は、Makefile内の次のパラメータを更新してから再試行します。

    LUTIL_LIBS=$(LDAP_LIBDIR)/libldap/.libs/libldap.a 
    
  6. 正常に完了したら、次のように入力します。

    make install 
    
  7. sudoをビルドします。

    cd $build_dir/sudo1.6.9p15 
    ./configure [--with-pam | --with-aixauth] --with-ldap=$base_dir/lib --with-prefix=$base_dir 
    make 
    make install 
    

    リンクのエラーが発生した場合は、Makefile内のリンク行にないオブジェクトを特定し、それらのオブジェクトを追加してから再試行します。

4.4.2.4 その他のクライアント

  1. 使用するsudoバイナリが--with-ldapオプションを使用してビルドされなかった場合は、ダウンロードしたsudoパッケージに含まれるドキュメントの説明に従って、--with-ldapオプションを使用してsudoコマンドを再ビルドします。sudoを再ビルドする前に、/etc/ldap.confのコピーを別の名前で保存します。使用する必要があるその他のオプションの詳細は、ドキュメントおよびREADMEファイルを参照してください。たとえば、標準以外のものを使用する場合には、ライブラリおよびヘッダーの場所または異なる構成ファイルを指定する必要が生じます。また、OpenLDAPではなくSDKを使用する場合には、SUDO_LIBS-lldifフラグを追加して、Makefileを変更する必要があります。sudoを再ビルドしたら、保存しておいたldap.confファイルをコピーして元の名前に戻します。

  2. sudoers_baseがサーバーのステップ1で作成したベースsudoersコンテナを指定するように、/etc/ldap.confを変更します。例:

    sudoers_base  ou=Sudoers,dc=us,dc=example,dc=com
    

    sudoに対してSSLを構成する場合は、ldap.confstartTLSを指定する必要があります。これは、現行のsudo実装ではSSLのみがサポートされないためです。例:

    ssl startTLS
    

    オプションで、/etc/ldap.confに次の行を追加してsudoのデバッグを有効にします。

    Sudoers_debug 2
    
  3. sudoersのデフォルトにignore_local_sudoersサブオプションを追加することにより、sudo/etc/sudoersファイルを使用しないようにします。これを行うには、次のコマンドを実行します。

     ldapmodify -h oid_hostname -p port -D cn=orcladmin \
            -q -f ignore_local_sudoers.ldif 
    

    ignore_local_sudoers.ldifは次のようになります。

    dn:cn=defaults, ou=Sudoers, dc=us, dc=example, dc=com
    changetype:modify
    add: sudooption
    sudooption: ignore_local_sudoers
    

4.4.3 /etc/sudoersを使用するためのクライアントの再構成

sudoに対してLDAPを使用するようにクライアント・コンピュータを構成した場合、再構成するとsudoersファイルを再び使用できます。これには、/etc/ldap.confsudoers_baseで始まる行をコメント・アウトします。

4.5 SUDO属性へのアクセス制御の設定

機密sudo属性を不正な変更から保護するには、アクセス制御項目を設定します。次のように入力します。

ldapmodify -h oidhost -p oidport -D 'cn=orcladmin' -q -f aci.ldif

aci.ldifは次のようになります。

dn: 
changetype: modify 
add: orclaci 
orclaci: access to 
 attr=(sudoUser,sudoHost,sudoCommand,sudoRunAs,sudoOption,sudoRole) 
 by group="cn=OracleUserSecurityAdmins,cn=Groups,cn=OracleContext" 
 (search,read,write,compare) by group="cn=directoryadmingroup,cn=oracle 
 internet directory" (search,read,write,compare) by * (none)