Windows マシンの N1GE 実行環境のすべてのユーザーは、UNIX ホスト上と同じ名前のユーザーアカウントを持っている必要があります。ユーザーアカウントには、名前、パスワード、およびユーザーのログイン時期と方法を決定する各種オプションのエントリや、デスクトップ設定の格納方法など、ユーザーに関する情報が含まれています。
次の項では、Windows のユーザー管理を使用して N1GE をサポートする方法について説明します。ここでは、Windows マシンを 3 つの用語で表します。次の表に、その用語と、対応する各ホストで実行されるオペレーティングシステムを示します。
Windows ホスト |
Microsoft Windows 2000、Microsoft Windows XP、Microsoft Windows 2000 Server、Microsoft Windows Server 2003 |
Windows サーバー |
Microsoft Windows 2000 Server、Microsoft Windows Server 2003 |
Windows ワークステーション |
Microsoft Windows 2000、Microsoft Windows XP |
すべての Widows ホストで、個別にユーザーアカウントを管理できます。各 Windows ホストには認証センターがあり、ユーザー名とそれに対応するユーザー権限を検証します。ここでは、Windows ワークステーションで定義されたユーザーアカウントを、ローカルユーザーアカウントまたはローカルユーザーと呼びます。
各 Windows ホストは独自のローカルドメインを持ち、各 Windows サーバーはそのドメインをほかのホストから利用可能にできます。ローカルドメイン内のアカウント名と、サーバードメイン内のアカウント名が衝突する可能性もあります。そのような衝突を回避するために、ユーザーアカウント名にドメイン名と「+」を接頭辞として付け、正しいユーザーアカウントを指定する必要があります。
次に、Windows ドメインアカウントと相互作用する、Windows ホストアカウントに潜む複雑さの例を説明します。Windows ワークステーションの CRUNCH という名前のホストに、 Peter という名前のローカルユーザーアカウントがあるとします。この Windows ワークステーションは、ENGINEERING という名前のドメインに含まれています。このドメインは、Windows サーバーが提供しており、この Windows サーバーにも Peter という名前のユーザーアカウントがあります。この例で、ENGINEERING ドメインは CRUNCH という名前のホストのデフォルトドメインです。次の表は、CRUNCH にログインしようとしたときに発生する可能性のある結果を示しています。
表 B–1 ドメインアカウントの使用
ログイン名 |
結果 |
---|---|
CRUNCH+Peter |
Peter は、 CRUNCH マシンのローカルユーザーとして、自身のアカウントでログインします。 |
ENGINEERING+Peter |
Peter は、ENGINEERING ドメインのホストである Windows サーバーが提供するアカウントでログインします。 |
Peter |
CRUNCH は、デフォルトドメインとして ENGINEERING を持っているため、この方法は ENGINEERING+Peter を使用した場合と同じになります。これ以外の場合は、ローカルアカウントが使用されます。 |
各ドメインには、スーパーユーザーアクセスを行うための特殊なユーザーアカウントがあります。英語のシステムでは、そのアカウントのデフォルト名は Administrator です。ネイティブの Windows では、Administrators グループのメンバー、およびサーバードメインの Domain Admins グループのメンバーもスーパーユーザーアクセスが可能です。ただし Interix では、ローカルドメインのユーザー Administrator だけがローカルホストのスーパーユーザーになります。
ローカルの Administrator は、ほかのユーザーのパスワードを知らなくても、そのユーザーアカウント下のアプリケーションを起動できます。ただし、UNIX のスーパーユーザー「root」とは異なり、ローカル Administrator はネットワークから完全には信頼されていないため、そのアプリケーションはネットワークリソースにアクセスできません。これが、「Microsoft Windows 環境での N1GE の使用」で説明している、ユーザーパスワードを登録するための sgepasswd ツールがある理由です。
UNIX には、Windows のドメインに相当する概念がありません。UNIX では、各ユーザーがローカルアカウントを持ち、基礎となるアカウント情報が LDAP や NIS サーバーに存在しても、ローカルアカウントとして認証されます。UNIX のスーパーユーザー (root) は、ローカルの Windows スーパーユーザー (Administrator) に似ています。UNIX のスーパーユーザーは、各アカウントのパスワードを知らなくても、その UNIX アカウントに代わってアプリケーションとプロセスを起動できます。
N1GE の実行環境は、要求したユーザーの代わりにジョブを起動する必要があります。UNIX ホストの実行デーモン (sge_execd) はユーザー root で実行されるため、すべてのユーザーに代わってジョブを起動することができます。
Windows ホストでは、実行デーモンがローカルの Administrator ユーザーで実行されるため、ユーザーのパスワードを知らなくてもそのユーザーに代わってジョブを起動できますが、そのジョブにはネットワークリソースのアクセス権がありません。ネットワークリソースにアクセスできるのは完全に認証されたユーザーだけであり、ユーザーパスワードの完全な認証が必要です。したがって、Windows 実行ホストにジョブを発行するすべてのユーザーは、そのパスワードを N1GE に登録する必要があります。それでも、実行デーモンはいくつかの管理作業を行うため、ローカルの Administrator で実行される必要があります。
Windows 実行ホストで N1GE ジョブを起動するユーザーは、sgepasswd クライアントアプリケーションを使用して、自分の Windows パスワードを N1GE に登録する必要があります。次に、ドメイン ENGINEERING にユーザーアカウントを持つ Peter の例を示します。ENGINEERING は Windows 実行ホスト CRUNCH のプリンシパルドメインであるため、Peter は各ドメインのパスワードを個別に登録する必要がありません。正しく設定された単一ドメイン環境では、これがデフォルトになります。sgepasswd は Windows 以外のホストで実行する必要があります。
> sgepasswd Changing password for Peter New password: Re-enter new password: Password changed |
複数ドメイン環境に限り、各ドメインのパスワードを明示的に登録する必要があります。
sgepasswd は、Grid Engine のパスワードファイル (sgepasswd(5)) を変更します。このファイルには、ユーザー名とその Windows パスワードのリストが暗号化された形式で格納されています。sgepasswd を使用すると、ユーザーアカウントの新しいエントリを追加することや、既存のパスワードを変更することができます。また、root ユーザーはほかのユーザーアカウントのパスワードエントリを、変更または削除できます。sgepasswd は、Windows 以外のホストだけで使用できます。この構文を次に示します。
sgepasswd [[ -D domain ] -d user ] sgepasswd [ -D domain ] [ user ]
このコマンドには、次のオプションがあります。
-D domain |
デフォルトでは、sgepasswd はドメイン指定を持たない現在の UNIX ユーザー名を追加または変更します。このスイッチを使用すると、現在のユーザー名の前にドメイン指定を追加できます。ドメインユーザーの詳細については、Microsoft Windows のマニュアルを参照してください。 |
-d user |
このパラメータは root だけが使用し、sgepasswd(5) ファイルからエントリを削除できます。 |
-help |
すべてのオプションの一覧を表示します。 |
次の環境変数は、このコマンドの動作に影響を与えます。
SGE_CERTFILE |
公開鍵ファイルの場所を指定します。デフォルトでは、sgepasswd はファイル $SGE_ROOT/$SGE_CELL/common/sgeCA/certs/cert.pem を使用します。 |
SGE_KEYFILE |
設定されていると、非公開鍵の場所を指定します。デフォルトのファイルは /var/sgeCA/port${SGE_QMASTER_PORT}/$SGE_CELL/private/key.pem です。 |
SGE_RANDFILE |
設定されていると、rand.seed ファイルの場所を指定します。デフォルトのファイルは /var/sgeCA/port${SGE_QMASTER_PORT}/$SGE_CELL/private/rand.seed です。 |
稼動中の N1 Grid Engine システムで Windows サポートが有効でない場合、手動でサポートを有効にできます。次の手順に従って N1 Grid Engine システムを Windows 対応にすると、Windows 実行ホストを追加できます。
Windows のバイナリを <sge-root > ディレクトリにコピーします。
次のコマンドを入力します。
qconf -mconf
execd_params を「enable_windomacc=true」に設定します。
次のコマンドを入力します。
qconf -am <win_admin_name>
次のコマンドを実行します。
$SGE_ROOT/util/sgeCA/sge_ca -init -days 365
CSP インストールでは、次のコマンドを実行します。
$SGE_ROOT/util/sgeCA/sge_ca -user <win_admin_name >
次のコマンドを入力します。
qconf -ah <new_win_hosts>
証明書を、各 Windows ホストにコピーします。
証明書の所有者を ADMINUSER に設定します。
次の例のようなコマンドを使用します。
chown -R foo:bar /var/sgeCA/port<SGE_QMASTER_PORT> |
各実行ホストで、通常の実行デーモンのインストールを行います。