C    Single Sign On

Single Sign On (SSO) は,ftprcprloginrsh,および telnet ネットワーク・コマンドや Kerberos を使うアプリケーションを使用している場合に,Kerberos テクノロジを使って安全な接続を提供するオプションのクライアント/サーバ・ソフトウェアです。

この付録には,次の情報があります。

C.1    Kerberos サーバおよびクライアント

Kerberos サーバは,Kerberos サーバ・ソフトウェアがインストールされているシステムのことです。Kerberos サーバ・テクノロジは,Tru64 UNIX オペレーティング・システム・ソフトウェアには備わっていません。Windows 2000 Server のような Kerberos サーバがイントラネットに存在しなければなりません。この付録では,Kerberos サーバをサーバと呼びます。

Kerberos クライアントは,Kerberos クライアント・ソフトウェアがインストールされているシステムのことです。Tru64 UNIX SSO ソフトウェアは,Tru64 UNIX Version 5.1A 以降のオペレーティング・システム・ソフトウェアを稼動しているシステムで実行する Kerberos クライアント・ソフトウェアを提供します。Kerberos クライアント・ソフトウェアは,ftprcprloginrshtelnet コマンドおよび rcmd 関数の Kerberos 版を提供します。この付録では,Kerberos クライアントをクライアントと呼びます。

C.2    Kerberos 認証プロセス

Kerberos ネットワークは,レルムと呼ばれるセキュリティ・ドメインに分割されます。レルムにはそれぞれ一次サーバや二次サーバがあり,独自のセキュリティ・ポリシを実現します。

管理者は,サーバにプリンシパル・データベースを作成し,管理します。このプリンシパル・データベースには,各プリンシパル (ユーザ,サービス,アプリケーション,およびホスト) に対するキー (エントリ) が含まれます。キーには,パスワードのような秘密の値など,プリンシパルに関する情報が含まれます。サーバはこのキー情報を使い,プリンシパルを認証します。プリンシパル・データベースの詳細については,Kerberos サーバのマニュアルを参照してください。

レルムは階層構造です。各レルムは複数の子レルムを持つことができます。また,各レルムは 1 つの親レルムを持つことができます。これにより,Kerberos を導入する組織では,組織内部のさまざまな情報クラスに対応するセキュリティ・レベルを設定したり,互いに直接の関係を持たないレルムの間で認証情報を共用できます。レルム内のプリンシパルの名前はすべて一意である必要があります。情報のセキュリティ・ポリシは,レルム内のすべてのプリンシパルで共通です。

Tru64 UNIX SSO ソフトウェアをインストールすると,プリンシパルの認証要求を Kerberos サーバに送信する SIA (Security Integration Architecture) モジュール がインストールされます。

Tru64 UNIX クライアント上では,サービス鍵テーブルと呼ばれるファイルを作成し,管理できます。サービス鍵テーブルには,あらかじめクライアントとの接続を認証されたそれぞれのプリンシパル (ホスト) 用のプリンシパル・データベースから抽出されたキーが含まれています。以降の要求に対して,クライアントはこのキー情報を再利用し,プリンシパルを再認証します。つまり,最初にサーバがプリンシパルを認証すると,そのプリンシパルのキーがサービス鍵テーブルにあれば,クライアントはプリンシパルを再認証できるのです。

C.3    SSO ソフトウェアのアップデート

SSO Version 1.0 ソフトウェアをアップグレードするには,インストールされている SSO のサブセットをアンインストールし,新しく SSO ソフトウェアをインストールする必要があります。たとえば,SSO Version 1.0 ソフトウェア (W2KSSO100) をアンインストールするには,次のように入力します。

# /usr/sbin/setld -d W2KSSO100

C.4    SSO ソフトウェアのインストールおよび構成

いくつかの SSO ソフトウェアを Tru64 UNIX システムと Windows 2000 Server システムにインストールする必要があります。

SSO ソフトウェアを Tru64 UNIX システムにインストールする前に,あらかじめ Windows 2000 Server システムにインストールしておく必要があります。

Tru64 UNIX オペレーティング・システムにインストールする SSO ソフトウェアは,Windows 2000 Active Directory に認証要求を送信する SIA (Security Integration Architecture) メカニズムをインストールします。

Windows 2000 Server にインストールする SSO ソフトウェアは,Active Directory を拡張し,Tru64 UNIX ユーザ・アカウントおよび,ユーザのログイン名,ユーザ ID (UID),グループ ID (GID),コメント,ホーム・ディレクトリへのパス,およびログイン・シェルなどのグループ属性を含めます。Tru64 UNIX ユーザ・アカウントおよびグループ属性の詳細については,『システム管理ガイド』 を参照してください。

SSO ソフトウェアをインストールする前に,次の点に留意してください。

C.4.1    Windows 2000 システムでの SSO ソフトウェアのインストールおよび構成

Windows 2000 のドメイン・コントローラに SSO ソフトウェアをインストールすると,SSO ソフトウェアは次の動作をします。

C.4.1.1    Active Directory スキーマの拡張

Windows 2000 のドメイン・コントローラで Active Directory スキーマを拡張するには,次の手順を実行します。

  1. Windows 2000 のドメイン・コントローラの CD-ROM ドライブに Tru64 UNIX の基本 CD-ROM を挿入します。

  2. Windows のエクスプローラ・ウィンドウで,CD-ROM ドライブのアイコンを開き,続いて Windows2000_SSO フォルダ,kit/windows_kit フォルダを開きます。

  3. setup.exe ファイルをダブルクリックします。次のようなウィンドウが表示されます。

  4. 「Schema Extensions」ボックスで [Install] ボタンをクリックし,Active Directory を拡張して,Tru64 UNIX 属性が含まれるようにします。「Active Directory User Interface Extensions」ボックスで [Install] ボタンをクリックし,MMC をアップデートして Tru64 UNIX プロパティ・ページが含まれるようにします。

    インストールに関する情報メッセージが,コマンド・プロンプト・ウィンドウに表示されます。このウィンドウは,インストールが正常終了すると自動的に閉じられます。

C.4.1.2    MMC のアップデート

Windows 2000 Server 上で MMC をアップデートし,Tru64 UNIX プロパティ・ページを含めるには,次の手順を実行します。

  1. Windows 2000 Server の CD-ROM ドライブに Tru64 UNIX の基本 CD-ROM を挿入します。

  2. Windows のエクスプローラ・ウィンドウで,CD-ROM ドライブのアイコンを開き,続いて Windows2000_SSO フォルダ,kit/windows_kit フォルダ,MMC_Setup フォルダを開きます。

  3. setup.exe ファイルをダブルクリックし,画面の説明に従います。

C.4.2    Tru64 UNIX システムでの SSO ソフトウェアのインストールおよび構成

SSO ソフトウェアは,基本の Tru64 UNIX オペレーティング・システム・ソフトウェアに含まれるオプションのサブセットです。

SSO サブセットは,OSFSSOW2Knnn,Single Sign On for Windows 2000 (Network-Server/Communications) という名前です。nnn は,Tru64 UNIX のバージョン番号です。現在のバージョン番号は,『リリース・ノート』 を参照してください。

サブセットのインストールの詳細については,『インストレーション・ガイド』 および setld(8) を参照してください。

Tru64 UNIX システムに SSO ソフトウェアをインストールした後,SSO ソフトウェアと Kerberos SIA メカニズムを構成します。任意で,TruCluster Server 環境で SSO ソフトウェアを構成することもできます。

C.4.2.1    SSO ソフトウェアの構成

SSO ソフトウェアを構成するには,/usr/sbin/w2ksetup スクリプトを実行する必要があります。/usr/sbin/w2ksetup スクリプトによって,次の必須情報の入力が求められます。

SSO ソフトウェアを構成するには,次の手順を実行します。

  1. Windows 2000 Server 用のエントリを /etc/hosts ファイルに追加します。詳細については, hosts(4) を参照してください。

  2. 次のように入力して,SSO セットアップ・スクリプトを起動します。

    # /usr/sbin/w2ksetup

    SSO セットアップ・スクリプトを実行するように求められます。

  3. SSO セットアップ・スクリプトを実行するかどうかを質問されたら「yes」を入力します。

    Do you want to run the setup script now? [y/n]? y
    

    次の情報が表示されます。

    Running /usr/sbin/w2ksetup... 
    /usr/sbin/w2ksetup[79]: 2598 Terminated
    

    注意

    SSO ットアップ・スクリプトを実行するかどうかを質問されたときに「no」と入力すると,コマンド・プロンプトに戻ります。次のコマンドを入力して,SSO セットアップ・スクリプトの実行を再開できます。

    # /usr/sbin/w2ksetup

    Tru64 UNIX システムが認証に使用する Windows 2000 のドメイン名を入力するように求められます。

  4. 次のように,[Enter] キーを押して,省略時の名前を使用するか,ドメイン名を入力してから [Enter] キーを押す。

    Enter the name of the Windows 2000 domain. This is in 
    the form domain.com - Typically the Windows 2000 domain is 
    the same as the DNS domain. 
     
    Domain: [SSO.CORP.COM]
    

    Windows 2000 のホスト名コントローラの名前を入力するように求められます。

  5. 次のように,[Enter] キーを押して,省略時の名前を使用するか,ホスト名を入力してから [Enter] キーを押す。

    Enter the hostname of a Windows 2000 domain controller.
    Domain Controller: w2khost.sso.corp.com
    

    注意

    Windows 2000 のドメイン・コントローラに接続できない場合は,/etc/hosts ファイルをチェックし,Windows 2000 のドメイン・コントローラの完全修飾ドメイン名のあるエントリがあるか確認してください。もし見つからなければ,ファイルにエントリを追加してください。また,クライアントとサーバ・システムの時刻が同じかどうかもチェックしてください。これらのシステム間に大きな時間差があると,接続に問題が発生する場合があります。

    Windows 2000 のドメイン・コントローラに Tru64 UNIX システムのマシン・アカウントを作成するには,Windows 2000 KDC に管理特権のあるユーザ・アカウントの名前とパスワードを入力する必要があります。

    次の情報が表示されます。

    To create the machine account, you must be logged
    in as root and have admin Kerberos credentials. For security
    reasons Windows 2000 does not allow anyone to authenticate
    through Kerberos using the Administrator account. Therefore
    you must choose an account other than the Administrator
    account that has admin privileges. The username of an account
    must be in the Windows 2000 KDC
    

  6. 次のように,Windows 2000 KDC の管理特権のあるアカウントのユーザ名とパスワードを入力します。

    Enter Admin principal: user
    Password for user@SSO.CORP.COM:
    

    次の情報が表示されます。

    Adding unixhost.sso.corp.com to directory...
     
    Extracting host/unixhost.sso.corp.com key...
     
    Updating /etc/ldapcd.conf...
     
    The machine account has been set up. 
    You might need to set permissions in Windows 2000 
    to enable access to the UNIX information in the 
    user objects. Please see the Windows documentation 
    for further information.
    

    Windows 2000 サービスを起動するように求められます。

  7. すぐにサービスを起動する場合は,次の質問に対して「yes」と入力します。

    Do you want to start the Windows 2000 services now? [y/n]?: y
    

    次の情報が表示されます。

    LDAP caching daemon (ldapcd) started
     
     
    

  8. X サーバを再起動します。

    # /sbin/init.d/xlogin restart

C.4.2.2    TruCluster Server 環境での SSO ソフトウェアの構成

TruCluster Server 環境で SSO ソフトウェアを構成するには,次の手順を実行します。

  1. それぞれの TruCluster Server メンバで /usr/sbin/w2ksetup スクリプトを実行する (C.4.2.1 項)。

  2. それぞれのクラスタ・エイリアスについて,/usr/sbin/w2ksetup スクリプトを最後に実行した TruCluster Server メンバで次のコマンドを実行します。

    # creacct -h fully_qualifed_cluster_alias_name -u
    

    このコマンドによってクラスタ・エイリアスの完全修飾名が Active Directory に追加され,クラスタ・エイリアスの使用時に,SSO ログインが可能になります。

C.4.2.3    Kerberos と他の SIA メカニズムの併用 (必要に応じて)

Kerberos SIA メカニズムは,SIA メカニズムの構成ファイル (/etc/sia/matrix.conf) の最初のエントリである必要があります。SSO のインストール手順は,この制約に従います。ただし,他の SIA セキュリティ・メカニズムを追加する場合には,/usr/sbin/siacfg コマンドを使って,Kerberos エントリを削除し,他のエントリを追加した後,Kerberos エントリを再度追加します。たとえば次のようにします。

  1. 次のように入力して,Kerberos エントリを削除します。

    # siacfg -r Kerberos

  2. 次のように入力して,新しいエントリを追加します。

    # siacfg -a sianew /location

  3. 次のように入力して,Kerberos エントリを再度追加します。

    # siacfg -a -P -g sci Kerberos /usr/shlib/libcsfsiad.so

C.5    Tru64 UNIX の SSO の構成ファイル

表 C-1 に,Tru64 UNIX の SSO の構成ファイルを示します。

表 C-1:  SSO の構成ファイル

ファイル 内容
krb.conf

ホスト・コンピュータの省略時のレルム。既知のレルムを,ホスト名やネットワークの場所に基づいて,一次および二次 Kerberos サーバに関連付けます。

krb.realms

サーバ名および対応するレルム名。

v5srvtab

Kerberos サーバのプリンシパル・データベースから抽出されるプリンシパル・キー。

.k5login

特定のユーザ・アカウントへのアクセスを承認されたプリンシパルのリスト。

ldapcd.conf

パフォーマンスを上げるためにチューニングできる SSO のキャッシュ・パラメータ。

ldapusers.deny

SSO がインストールされている時に,Tru64 UNIX のみで認証される各ローカル Tru64 UNIX ユーザのエントリ。

C.5.1    krb.conf ファイル

/krb5/krb.conf ファイルは,Kerberos のレルム情報が含まれたテキスト・ファイルです。この情報は,システムの省略時のレルムを定義し,既知のレルムを,ホスト名やネットワークの場所に基づいて,一次および二次 Kerberos サーバに関連付けます。

省略時の命名規則 (つまり,順序規則または DNS の循環規則) を使って,Kerberos サーバの名前を構成できる場合は,krb.conf ファイルを構成したり,管理したりする必要はありません。

krb.conf ファイルが見つからない場合,空である場合,あるいは有効な省略時のレルムが含まれていない場合,Tru64 UNIX オペレーティング・システムによって,ホストのドメイン名が大文字に変換され,省略時のレルム名として使用されます。Kerberos サーバの情報が,krb.conf ファイルで見つからないと,省略時の命名規則が設定されていれば,Tru64 UNIX オペレーティング・システムはKerberos サーバを見つけようとします。

krb.conf ファイルでは,各エントリは別々の行にある必要があり,フィールドは空白やタブで区切られ,コメントの行頭にはナンバー記号 (#) が付き (ナンバー記号の後ろから行末までの文字列は無視されます),空白行や行頭,行末の空白文字は無視されます。

Kerberos サーバを使用する順序を示すので,krb.conf ファイルでのエントリの順序は重要です。Kerberos サーバに接続しようとするアプリケーションは,エントリを順番に 1 つずつ読み込みます。他の Kerberos サーバが使用できない,またはネットワーク・タイムアウトが発生した場合 (たとえば,認証処理中にクライアントと Kerberos サーバ間のネットワーク接続が中断された場合など),二次 Kerberos サーバが使用されます。

例 C-1 に,krb.conf ファイルの例を示します。

例 C-1:  krb.conf ファイルの例

BIZ.COM  [1]
BIZ.COM shoe.biz.com admin server  [2]
BIZ.COM sneakers.biz.com  [3]
BIZ.COM boot.biz.com
FOOTWEAR.BIZ.COM leather.footwear.biz.com admin server  [4]
 
 

例 C-1 のエントリは,次の構成を作成します。

  1. 最初の行は,システムの省略時のレルム名を示します。ドメイン名と視覚的に区別するために,レルム名は大文字になっています。サイトで大文字表記での規則に従わない場合には,レルム名の大文字小文字を正しく入力する必要があります。例では,システムの省略時のレルム名は BIZ.COM です。 [例に戻る]

  2. 2 行目は,レルムの一次 Kerberos サーバのレルム名と完全修飾ドメイン名 (FQDN) を示します。例 C-1 では,一次 Kerberos サーバの FQDN は shoe.biz.com です。 [例に戻る]

  3. 次の行は,レルムの二次 Kerberos サーバのレルム名と FQDN を示します。例 C-1 では,二次 Kerberos サーバの名前は sneakers.biz.com および boot.biz.com です。 [例に戻る]

  4. 次の行は,レルム間認証が実行されるレルムの名前を示します。レルム間認証は,再認証を行わずに,レルムが他のレルムからの認証を受け入れることです。また,この行は,Kerberos サーバの FQDN に続いて admin server およびオプションの tcp/port # を指定します。

    省略時の設定では,UDP が省略時の接続プロトコルになっているため,特に指定する必要はありません。Kerberos サーバが TCP を接続プロトコルとして使用する場合は,tcp,および TCP が使用する port # を指定する必要があります。ポートの値を指定するには,数値,または tcp/88tcp/kerberos5 など,/etc/services ファイルに記載されているサービス名を使います。

    例 C-1 では,レルム名は FOOTWEAR.BIZ.COM,Kerberos サーバは leather.footwear.biz.com です。この Kerberos サーバは,省略時の UDP 接続プロトコルを使用します。 [例に戻る]

詳細については, krb.conf(4) を参照してください。

C.5.2    krb.realms ファイル

/krb5/krb.realms ファイルは,Kerberos サーバ名と,それらに関連付けられている Kerberos レルム名が含まれたテキスト・ファイルです。セキュア・アプリケーションは,krb.realms ファイルを使って,チケットの要求先となるレルムを判別します。省略時の設定では,Tru64 UNIX オペレーティング・システムはサーバ名を大文字に変換し,レルム名として使用します。この場合,krb.realms ファイルを構成したり,管理したりする必要はありません。

ワイルドカードは,krb.realms ファイルの特殊文字で,1 つのエントリで複数のサーバを 1 つのレルムに関連付けます。

使用できるワイルドカード文字は,次の 2 つです。

セキュア・アプリケーションが krb.realms ファイルを検索するとき,一致するサーバ名があるかを検索した後,一致するドメイン名があるかを検索します。一致するものが見つからない場合,ワイルドカードを使って一致を検索します。該当する関連エントリがない,または krb.realms ファイルが存在しない場合,セキュア・アプリケーションはサーバのドメイン名を大文字に変換し,省略時の名前として使用します。

krb.realms ファイルでのエントリの順序は重要ではありません。それぞれのエントリは,別々の行にある必要があり,空白文字またはタブで区切られた次のような形式の 2 つのフィールドが必要です。

krb.realms ファイルにコメントを作成するには,ナンバー記号 (#) を使います。ナンバー記号の後から行末までの文字列はすべて無視されます。また,空白行および行頭,行末の空白文字も無視されます。

例 C-2 は,krb.realms ファイルの例です。

例 C-2:  krb.realms ファイルの例

footwear.biz.com SERIOUS.BIZ.COM  [1]
.admin.biz.com ADMIN.BIZ.COM  [2]
*.biz.com BIZ.COM  [3]
 
 

例 C-2 のエントリは,次の関連付けを行います。

  1. footwear.biz.com サーバを SERIOUS.BIZ.COM レルムの関連付け。 [例に戻る]

  2. admin.biz.com ドメインにあるすべてのサーバと ADMIN.BIZ.COM レルムの対応付け。

    ピリオドを前に追加すると,最初のフィールドがサーバ名ではなくドメイン名として認識されます。通常,レルム名はドメイン名を大文字にしたものなので,この行は特に必要ではありません。ただし,この例では,3 行目によって admin.biz.com ドメインのサーバを BIZ.COM レルムにマッピングされないようにするために,この行が必要です。 [例に戻る]

  3. ルート名 biz.com を名前に含むその他のドメインにあるすべてのサーバを BIZ.COM レルムに関連付け。たとえば,sales.biz.com のサーバと support.teams.biz.com ドメインが BIZ.COM レルムにマップされます。 [例に戻る]

詳細については, krb.realms(4) を参照してください。

C.5.3    v5srvtab ファイル

/krb5/v5srvtab サービス鍵テーブル・ファイルは,Kerberos サーバのプリンシパル・データベースから抽出されたプリンシパル・キーを含むバイナリ・ファイルです。Tru64 UNIX などの Kerberos クライアントは,このサービス鍵テーブルのキー情報を使って,プリンシパルを再認証します。つまり,最初に Kerberos サーバがプリンシパルを認証すると,キーがサービス鍵テーブルにあれば,Kerberos クライアントはプリンシパルを再認証できるのです。

詳細については, v5srvtab(4) を参照してください。/krb5/v5srvtab サービス鍵テーブル・ファイルの管理については,C.7.4 項 を参照してください。

C.5.4    .k5login ファイル

/krb5/.k5login ファイルは,特定のユーザ・アカウントへのアクセスが承認されたプリンシパルのリストが含まれた隠しテキスト・ファイルです。.k5login ファイルへの不正なアクセスは,ユーザ・アカウントの完全性を脅かします。

Kerberos のセキュア・デーモンを構成して,.k5login 承認を使うようにした場合,それぞれのユーザはホーム・ディレクトリに格納されている .k5login ファイルにプライベート承認リストを持っている必要があります。このリストによって,どのプリンシパルがユーザ・アカウントへアクセスできるか判別されます。

ユーザの .k5login ファイルを所有し,書き込み許可を持てるのは当該ユーザだけです。それ以外の場合,認証が失敗し,ユーザはアクセス権がないことを知らせるエラー・メッセージを受け取ります。

.k5login ファイルには,1 行ごとに 1 つのエントリがあります。エントリは,プリンシパル・データベースに記録されている通りのスペルで書かれたプリンシパルの完全名です。コメントを挿入したり,行末に空白を入れてはなりません。

例 C-3 は,通常,「jack@COMPANY.COM」としてログインしているが,プリンシパル「jack_hill@COMPANY.COM」としてもアクセスしたい「Jack」というユーザに対して構成された .k5login ファイルの例です。さらに,「jill@HR.COMPANY.COM」というプリンシパルに対して,自身のアカウントへのアクセス許可を付与します。

例 C-3:  .k5login ファイルの例

jack@COMPANY.COM  
jack_hill@COMPANY.COM
jill@HR.COMPANY.COM

このアカウントにログインするには,Jack と Jill は次の情報を入力しなければなりません。

# rlogin hostname -l username 
 

たとえば,Jack は次のコマンドを入力し,server1 というサーバにログインします。

# rlogin server1 -l jack

C.5.5    ldapcd.conf ファイル

/etc/ldapcd.conf は,SSO のキャッシュ・パラメータが含まれたテキスト・ファイルです。ユーザが著しく長い時間 Tru64 UNIX システムの応答を待つような場合,テキスト・エディタを使って,Tru64 UNIX システムにある ldapcd.conf テキスト・ファイルのキャッシュ・パラメータの値を変更して Windows 2000 の SSO ソフトウェアをチューニングできます。

例 C-4 に,ldapcd.conf ファイルの例を示します。コメント行は,ナンバー記号 ( # ) で始まります。 表 C-2 に,キャッシュ・パラメータの説明を示します。

例 C-4:  ldapcd.conf ファイルの例

# configuration file for ldapcd
#
# format of the file is <id>: <value>
# values that contain spaces, or : or # must be quoted
# if an id listed but no value specified the id will
# use the default value 
#
# max entries in cache, and number of seconds before entries
# expire in the cache
#
connections: 4
pw_cachesize:	500
pw_expirecache:	900
gr_cachesize:	100
gr_expirecache: 900
 
usesasl: 1
 
directory: server1
searchbase: "cn=users,DC=SSO,DC=CORP,DC=COM"
machine_acctname: emerald.ne.corp.com
machine_dn: "cn=emerald,cn=computers,DC=SSO,DC=CORP,DC=COM"
 
 

表 C-2:  キャッシュ・パラメータ

パラメータ 説明
connections

キャッシュ・デーモンが Active Directory に対してオープンできる接続数。

このエントリの値を増やすと,Active Directory に対してオープンできる接続も増加します。ただし,これにより,より多くのファイル記述子が使われ,Active Directory の負荷が増加します。

通常,ワークステーション 1 台に対しては 4 つの接続,サーバ 1 台に対しては 15 の接続で十分です。

省略時の設定は,4 つの接続です。

pw_cachesize

キャッシュに格納するユーザ・エントリ数の上限。

最大ユーザ数の増減に従って,この値も増減させます。

省略時の設定は,500 エントリです。

pw_expirecache

ユーザ・エントリをキャッシュする最長秒数。

ユーザのエントリをキャッシュからすぐに取り出せるため,この値を増やすと Tru64 UNIX のパフォーマンが向上します。

前回使ってから時間が経っていないユーザ・アカウントを削除すると,このパラメータに指定された時間の間,ユーザのエントリがキャッシュに残ります。

省略時の設定は,900 秒です。

gr_cachesize

キャッシュするグループ ID 数の上限。

グループ ID をキャッシュからすぐに取り出せるため,この値を増やすと Tru64 UNIX のパフォーマンが向上します。

省略時の設定は,100 です。

gr_expirecache

グループ ID をキャッシュする最長秒数。

省略時の設定は,900 秒です。

注意

/etc/ldapcd.conf ファイルのキャッシュ・パラメータの値を変更する場合,次のコマンドを入力し,キャッシュ・デーモンを再起動する必要があります。

# /sbin/init.d/ldapcd restart

詳細については, ldapcd.conf(4) を参照してください。

C.5.6    ldapusers.deny ファイル

/etc/ldapusers.deny ファイルは,SSO がインストールされている時に,Tru64 UNIX によってのみ認証される各 Tru64 UNIX ユーザに対するエントリが含まれているテキスト・ファイルです。

1 行ごとにユーザ名を 1 つ入力します。また,このユーザ名は /etc/passwd ファイルのユーザ名と完全に一致しなければなりません。

コメントを作成するには,ナンバー記号 (#) を使います。ナンバー記号の後から行末までの文字列はすべて無視されます。また,空白行および行頭,行末の空白文字も無視されます。

例 C-5 に,ldapusers.deny ファイルの例を示します。

例 C-5:  /etc/ldapusers.deny ファイルの例

# The following file lists account names that are not allowed to use 
# the Windows 2000 authentication information when it is enabled.
# Account names must match exactly the user account name in the 
# /etc/passwd file.
#
# Syntax: account_1
#            .
#            .
#            .
#         account_n
root
nobody
nobodyV
daemon
bin
uucp
uucpa
auth
cron
lp
tcb
adm
ris
wnn
pop
imap
Peter
Dave
Evan
Martha
 
 

詳細については, ldapusers.deny(4) を参照してください。

C.6    アカウントおよびグループの作成

Windows 2000 Server でユーザ・アカウント,コンピュータ・アカウント,およびグループを認証する場合は,これらのアカウントおよびグループを Windows 2000 Server に作成する必要があります。Tru64 UNIX システムに作成されたユーザ・アカウントおよびグループは,システムの Tru64 UNIX ユーザ・アカウントおよびグループ・ポリシに従って作成されるため,Windows 2000 サーバによる認証は行われません。

この項では,次の方法について説明します。

C.6.1    ユーザ・アカウントの作成

Windows 2000 Server にユーザ・アカウントを作成するには,次の機能使います。

C.6.1.1    Tru64 UNIX の creacct コマンドを使用したユーザ・アカウントの作成

creacct コマンドを使用してユーザ・アカウントを作成するには,次のように入力します。

# creacct -a username

次の情報を入力するように求められます。

詳細については, creacct(1) を参照してください。

C.6.1.2    MMC インタフェースを使用したユーザ・アカウントの作成

MMC インタフェースを使ってユーザ・アカウントを作成するには,次の手順を実行します。

  1. 次のように,「Active Directory ユーザーとコンピュータ」ウィンドウを表示します。

    1. 「スタート」をクリックします。

    2. 「プログラム」から「管理ツール」,その後「Active Directory ユーザーとコンピュータ」を選択します。

    「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。

  2. 必要であれば,「Users」フォルダを強調表示します。「操作」メニューで,「新規作成」の後に「ユーザー」を選択します。

    「新しいオブジェクト -- ユーザー」ウィンドウ (図 C-1) が表示されます。

    図 C-1:  「新しいオブジェクト -- ユーザー」ウィンドウ― 必要な情報

  3. 「新しいオブジェクト -- ユーザー」ウィンドウに必要な情報を入力した後,[次へ] ボタンをクリックします。「名」と「イニシャル」フィールドは省略可能です。

    次の「新しいオブジェクト -- ユーザー」ウィンドウ (図 C-2) が表示されます。

    図 C-2:  「新しいオブジェクト -- ユーザー」ウィンドウ― パスワード情報

  4. パスワードを入力し,パスワード・オプションを選択した後,[次へ] ボタンをクリックします。

    確認画面が表示されます。

  5. [次へ] ボタンをクリックして,ユーザ・アカウントを作成するか,[キャンセル] ボタンをクリックして,ユーザ・アカウントの作成を中止します。

    作成を続けると,「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。

  6. 作成したアカウント名をダブルクリックします。

    作成したユーザのプロパティ・ダイアログ・ボックスが表示されます。

  7. Tru64 UNIX タブをクリックします。

    Tru64 UNIX ユーザのプロパティ・ダイアログ・ボックス (図 C-3) が表示されます。

    図 C-3:  Tru64 UNIX ユーザのプロパティ・ダイアログ・ボックス

  8. Tru64 UNIX ユーザ・アカウント情報を入力します。Tru64 UNIX ユーザ・アカウントの制約が適用されます。たとえば,Tru64 UNIX ユーザ・アカウント名の文字数は,Tru64 UNIX オペレーティング・システムによって決められた最長文字数以上には設定できないなどの制約があります。Tru64 UNIX ユーザ・アカウントの制約の詳細については,『システム管理ガイド』 を参照してください。

    注意

    有効なホーム・ディレクトリを指定しないと,ルート (/) ディレクトリが省略時の値として設定されます。ルート・ディレクトリの .profile ファイルまたは .cshrc ファイルでは,Tru64 UNIX コマンドが実行されるときに,/sbin ディレクトリを最初に調べるように環境パスが設定されています。その結果,ホーム・ディレクトリがルート・ディレクトリに設定されていると,ls -l コマンドは動作しません。

    属性の上にマウスを移動すると,ウィンドウの「Description」セクションに属性の説明が表示されます。

  9. Tru64 UNIX ユーザ・アカウントの属性情報を入力し,[OK] ボタンをクリックします。

    「Active Directory ユーザーとグループ」ウィンドウが表示されます。

C.6.2    プリンシパルのパスワードの設定

プリンシパルのパスワードを設定するには,MMC (Microsoft Management Console) インタフェースか Tru64 UNIX の creacct コマンドが使えます。

creacct コマンドを使って,パスワードを設定するには,次のように入力します。

# creacct -s principal

Windows 2000 Server の管理者アカウントの名前とパスワードの後に,プリンシパルのパスワードを求められます。

creacct コマンドの詳細については, creacct(1) を参照してください。

MMC インタフェースを使用したパスワードの設定の詳細については,Windows 2000 のマニュアルを参照してください。

C.6.3    コンピュータ・アカウントの作成

コンピュータ・アカウントを作成すると,Windows 2000 Server にアカウントが作成され,キー・サービス・テーブルに追加されます。コンピュータ・アカウントはすべて,Active Directory の「Computer」グループの下にある現在のドメインに追加されます。

コンピュータ・アカウントを作成するには,次の手順を実行します。

  1. creacct コマンドを次のように入力してコンピュータの完全修飾名を指定します。

    # creacct -h computer_name [-t keytable] [-u]

    Windows 2000 Server で管理者特権を持つプリンシパルのユーザ名とパスワードを求められます。

  2. ユーザ名とパスワードを入力します。

    指定されたコンピュータが存在するかどうか,最初に Active Directory が検索されます。エントリが見つかった場合は,既存のエントリを置き換えるか,変更するように求められます。

  3. 次のうちいずれかを選択します。

詳細については, creacct(1) を参照してください。

C.6.4    グループの作成

Windows 2000 Server にグループを作成するには,MMC インタフェースを使う必要があります。Tru64 UNIX および Windows 2000 のユーザがメンバとなるグループを作成できます。

グループを作成するには,次の手順を実行します。

  1. 次のように,「Active Directory ユーザーとコンピュータ」ウィンドウを表示します。

    1. 「スタート」をクリックします。

    2. 「プログラム」から「管理ツール」,その後「Active Directory ユーザーとコンピュータ」を選択します。

    「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。

  2. 必要であれば,「Users」フォルダを強調表示します。「操作」メニューで,「新規作成」の後に「グループ」を選択します。

    「新しいオブジェクト -- グループ」ウィンドウが表示されます。

  3. グループ名を入力し,[OK] ボタンをクリックします。

    「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。

  4. 作成したグループ名をダブルクリックします。

    作成したグループのプロパティ・ダイアログ・ボックスが表示されます。

  5. Tru64 UNIX タブをクリックします。

    作成したグループの Tru64 UNIX プロパティ・ダイアログ・ボックス (図 C-4) が表示されます。

    図 C-4:  グループのプロパティ・ダイアログ・ボックス

  6. Tru64 UNIX グループ情報を入力します。

    属性の上にマウスを移動すると,ウィンドウの「Description」セクションに属性の説明が表示されます。

  7. Tru64 UNIX グループの属性情報を入力し,[OK] ボタンをクリックします。

    「Active Directory ユーザーとグループ」ウィンドウが表示されます。

C.7    SSO ソフトウェアの管理

この項では,次の方法について説明します。

C.7.1    チケットの要求

/sbin/kinit コマンドを使って,チケットを要求します。

有効期間および先日付けオプションの構文は,[nw][nd][nh][nm][ns] です。ただし,w = 週,d = 日,h = 時間,m = 分,s = 秒です。空白文字を使う場合は,引用符で囲む必要があります。たとえば,"1w 2d 3h 4m 5s" のように指定します。特に指定されなければ,省略時の有効期間および先日付けオプションは 1 時間単位です。

要求された先日付け期間がサーバのクロック・スキューの値 (通常,5 分) よりも短ければ,-d オプションが指定されていないかのように,チケットの開始時間が現在の時間に設定されてから,発行されます。

チケットの要求の詳細については, kinit(1) を参照してください。

C.7.2    チケットの表示

/sbin/klist コマンドを使って,信任状キャッシュに格納されているチケットを表示します。

チケットの表示の詳細については, klist(1) を参照してください。

C.7.3    信任状キャッシュの削除

特定の信任状キャッシュのチケットをすべて破棄し,信任状キャッシュを削除するには,次のように入力します。

# kdestroy  [-c cachename]

たとえば,/var/tmp/mycache という信任状キャッシュにあるチケットをすべて破棄するには,次のように入力します。

# kdestroy -c /var/tmp/mycache

チケットの削除の詳細については, kdestroy(1) を参照してください。

C.7.4    サービス鍵テーブルの管理

/sbin/ktutil コマンドを使って,サービス鍵テーブル・ファイルのエントリの表示や削除,サービス鍵テーブルの破棄,およびサービス鍵テーブルのマージを行います。

/usr/sbin/creacct コマンドを使って,Windows 2000 Server からキーを抽出し,サービス鍵テーブルに追加します。/usr/sbin/creacct コマンドを使用すると,Windows 2000 Server で管理者特権を持つプリンシパルのユーザ名とパスワードの入力を求められます。

省略時のサービス鍵テーブル・ファイルは,/krb5/v5srvtab です。root ユーザ・アカウントがこのファイルを所有します。

サービス鍵テーブルのマージの詳細については, ktutil(1) および creacct(1) を参照してください。

C.8    SSO ソフトウェアのトラブルシューティング

SSO ソフトウェアの相互依存関係は複数のオペレーティング・システムにまたがるため,C.4 節 で説明されているとおりにセットアップ手順を実行することが大切です。この手順どおりに実行されないと,SSO ソフトウェアが正しく動作しません。その場合は,invalid login という応答メッセージが表示されます。SSO に関わる不具合の大半はセットアップに原因があるため,SSO ソフトウェアのセットアップを確認すればすぐに分かります。

C.8.1    SSO の構成パラメータの問題

/usr/sbin/creacct コマンドまたは /usr/sbin/w2ksetup スクリプトを実行したときに,管理者アカウントが有効なものとして受け入れられなかった場合には,この管理者アカウントが Windows 2000 のドメイン・コントローラの Administrators,DnsAdmins,Domain Admins,Domain Users,Users グループのメンバであるか確認します。

Windows 2000 Server で Active Directory を作成する場合,名前は小文字で指定する必要があります。Kerberos レルム名であるこの名前に対するその他の参照は,すべてのプラットフォームで大文字で入力される必要があります。

C.8.2    kinit コマンドの使用および Tru64 UNIX の初回チケットの取得に関する問題

kinit コマンドを入力したときや,Tru64 UNIX システムにログインするときに,初回チケットの取得で問題が発生した場合には,次の手順を実行します。

  1. 次のコマンドを入力して,/etc/sia/matrix.conf ファイルの内容を表示し,その中で LDAP と Kerberos に関連するエントリを探すことで,matrix.conf ファイルに LDAP と Kerberos のエントリがあるかどうかを確認します。

    # more /etc/sia/matrix.conf
     
     
    

    /etc/sia/matrix.conf ファイルに該当するエントリがない場合は,次のコマンドを入力します。

    # siacfg -r LDAP > /dev/null
    # siacfg -r Kerberos > /dev/null
    # siacfg -a -g pg -P LDAP /usr/shlib/libsialdap.so > /dev/null
    # siacfg -a -P -g sci Kerberos /usr/shlib/libcsfk5siad.so > /dev/null
    

  2. KDC のエントリが /etc/hosts ファイルにあるかどうかを確認します。たとえば,次のように入力します。

    12.345.67.890   w2khost.mycompany.com w2khost  
     
    

    最初の /usr/sbin/w2ksetup ユーティリティを実行し,管理者の名前とパスワードを入力した後に次のエラー・メッセージが表示された場合は,通常この手順を実行すると問題が解決します。

    ldap_gssapi_bind: Operations error
     
    

  3. /krb5/krb.conf ファイルおよび /krb/krb.realms ファイルが正しく設定されているかどうかを確認します。

    krb.conf ファイルの例を示します。

    MYCOMPANY.COM 
    MYCOMPANY.COM  w2khost.mycompany.com admin server
    

    krb.realms ファイルの例を示します。

    *.mycompany.com MYCOMPANY.COM 
     
    

  4. KDC とクライアントの時刻が同じかどうかを確認します。2 〜 3 分の時差は許容範囲ですが,5 分以上の時差があってはなりません。

  5. 次のコマンドを入力し,キーを抽出することによって v5srvtab ファイルが正しく動作しているかどうかを確認します。

    # kinit -k 
    

    コマンドが失敗した場合は,/usr/sbin/w2ksetup スクリプトを再実行するか,/krb5/v5srvtab ファイルを削除してから,次のコマンドを入力します。

    # /usr/sbin/creacct -h mymachinename -u
    

C.8.3    Tru64 UNIX へのパスワードの入力

KDC からチケットを取得できても,その後の Tru64 UNIX システムへのログイン時にパスワードの入力を求め続けられる場合は,次の手順を実行します。

  1. 次のコマンドを入力して,ターゲットのサービス・チケットを取得できることを確認します。

    #  kinit -S host/targetmachinename.mycompany.com  
     
    

    このコマンドが失敗した場合,アクセスしようとしているホストは Kerberos レルムに含まれていません。これを是正するには,次のコマンドを入力します。

    # /usr/sbin/creacct -h targetmachinename.mycompany.com -u
    

  2. /krb5/krb.conf ファイルの最初の行が,現在のホストとターゲットのホストと同じであることを確認します。

  3. /etc/ldapusers.deny ファイルまたはユーザのホーム・ディレクトリの .k5login ファイルにログインを妨げるエントリがないことを確認します。

  4. /etc/services および /etc/inetd.conf ファイルが正しく設定されており,次のエントリが含まれていることを確認します。

    注意

    • 接続を暗号化する場合は,inetd.conf ファイルの 2 行の行末に -x を追記します。

    • inetd.conf ファイルを変更した場合には,次のコマンドを入力して,ネットワークを再起動する必要があります。

      # rcinet restart
      

C.8.4    TruCluster における SSO の問題

SSO ソフトウェアが TruCluster のクラスタ・メンバで正しく動作しない場合は,次の手順を実行します。

  1. 次のエントリが,それぞれのクラスタ・メンバに対して定義され,/etc/ldapcd.conf ファイルに含まれていることを確認します。

    directory: 
    searchbase: 
    machine_acctname: 
    machine_dn:
    

    対象クラスタ・メンバに対応するエントリがない場合は,そのクラスタ・メンバで /usr/sbin/w2ksetup スクリプトを再実行します。

  2. 次のコマンドを入力し,それぞれのクラスタ・メンバに対応するエントリが表示されることを確認します。

    # /usr/sbin/ktutil
    

    それぞれのクラスタ・メンバのエントリが表示されない場合は,次のコマンドを入力します。

    # /usr/sbin/creacct -h missingmembername -u