Sun N1 Grid Engine 6.1 インストールガイド

付録 A Microsoft Windows Services For UNIX

概要

Microsoft Windows Services for UNIX (SFU) を使用すると、一部の Windows オペレーティングシステムを既存の UNIX 環境に統合することができます。SFU では、UNIX と Windows プラットフォーム間にわたるネットワーク管理およびユーザー管理を容易にするコンポーネントが提供されます。

SFU は、完成された高性能 UNIX 環境である Interix を提供します。Interix では、cshksh などの UNIX シェル、数百種類のツールとユーティリティー、および開発ツールとライブラリ一式が用意され、これによって、使用している UNIX ベースのアプリケーションを Interix サブシステムに移植し、使用することができます。

Windows Services for UNIX の機能は次のとおりです。

以降の節では、SFU のインストールを行うために必要な手順について説明します。このマニュアルで説明する事項は、次のとおりです。

サポートされていない N1GE の機能

UNIX オペレーティングシステムでの N1GE の標準インストールの一部である次の機能およびアプリケーションは、Microsoft Windows 環境ではサポートされていないため、Windows ホスト上では使用できません。

システム要件

Microsoft Services For UNIX のインストールでは、次の要件が適用されます。

SFU 要件の詳細は、http://www.microsoft.com/windows/sfu/default.asp を参照してください。

Services for UNIX のインストール

N1GE を正常にインストールするには、Microsoft SFU がインストールされている必要があります。SFU は http://www.microsoft.com からダウンロードできます。サイトの「Windows Services for Unix」で、最新のダウンロード情報を確認してください。

  1. SFU の配布媒体を入手します。

    SFU をダウンロードした場合は、ファイルをディレクトリに解凍して、アプリケーションを実行します。480M バイト以上の空き領域のあるファイルシステム上のディレクトリを選択してください。

  2. Administrator アカウントで Windows システムにログインします。

  3. 解凍した setup.exe アプリケーションを開始します。

  4. ユーザー名と組織名を入力します。

  5. SFU のライセンス契約に同意します。

  6. ここで、標準インストールまたはカスタムインストールを選択する必要があります。標準インストールをお勧めします。

    ディスク容量が限られている場合は、カスタムインストールを選択することもできますが、その場合は次のコンポーネントを確実にインストールしてください。

    「Utilities」->「Base Utilities」

    「Interix Gnu components」->「Interix GNU utilities」

    「Remote connectivity components」->「Telnet Server and Windows Remote Shell」

    NFS 共有ファイルシステムを使用する場合は、次のコンポーネントも必要です。 

    「Authentication tools for NFS」->「User Mapping and Server for NFS Authentication」

  7. SFU をインストールする Windows オペレーティングシステムによっては、SFU のセキュリティー設定に関する 2 つのオプションが表示されます。次の画面に、推奨する選択内容を示します。

    これらの 2 つのオプションに関する基本的な説明を次に示します。詳細は、Microsoft の SFU のマニュアルを参照してください。

    Enable suid behavior for Interix programs — POSIX 標準に準拠して、実行時に UID (setuid) および GID (setgid) の両方を設定するビットをファイルに含めることができます。いずれかまたは両方のビットがファイルに設定された場合に、プロセスがそのファイルを実行すると、そのプロセスはファイルの UID または GID を取得します。この機構を注意深く使用することにより、特権のないユーザーが、ファイルの所有者またはグループの高度な特権を使用してプログラムを実行できます。ただし、この動作が不正に使用されると、特権のないユーザーが、管理者によってのみ行われるべきアクションを実行できるようになるため、セキュリティー上の問題が発生する可能性があります。このため、Windows Services for UNIX セットアップでは、この機構をデフォルトで使用可能にしていません。

    setuid 動作に対するサポートを有効にしてください。N1GE が実行するプログラムには、このサポートが必要なものがあります。Windows Services for UNIX のインストール時に setuid 動作に対するサポートを有効にしなかった場合でも、あとで有効にすることができます。

    Changing Default Behavior to Case Sensitivity — ファイル名などのオブジェクト名の大文字と小文字を区別するように、デフォルトの動作を変更するかどうかの選択が必要になることがあります。ここでの選択内容は、どのように Windows Services for UNIX が動作するかだけでなく、システムのセキュリティーにも影響します。Microsoft Windows では、ファイルやディレクトリなどのほとんどのオブジェクト名で大文字と小文字が保持されますが、区別はされません。そのため、同じディレクトリ内に sample.txtSample.txt という 2 つのファイルを格納することはできません。Windows では、ファイルの識別のためにこれらの名前が同一とみなされるためです。ただし、UNIX オペレーティングシステムでは、大文字と小文字が完全に区別されます。そのため、UNIX システムは、オブジェクト名の大文字と小文字だけが異なる場合でも、名前を区別します。したがって、sample.txtSample.txt は同じディレクトリに格納できます。UNIX システムはファイルの操作を実行するときに、これらのファイルを区別します。たとえば、コマンド rm S*.txt を実行しても、Sample.txt は削除されますが、sample.txt は削除されません。標準的な UNIX の動作を実現するために、Server for NFS および Interix サブシステムでファイル名を扱う際には、通常、大文字と小文字が区別されます。

    特に、Windows の大文字と小文字を区別しない仕様に慣れているユーザーにとっては、この動作がセキュリティー上の問題になる場合があります。たとえば、edit.exe のトロイの木馬である EDIT.EXE が、edit.exe と同じディレクトリに格納されたとします。ユーザーが Windows のコマンドプロンプトから edit と入力すると、正常なファイルではなくトロイの木馬 (EDIT.EXE) が実行されます。大文字と小文字の区別を有効にする場合、Windows ユーザーにこの可能性を知らせる必要があります。

    Windows XP (Professional) および Windows Server 2003 ファミリの場合、Win32 サブシステムを除くサブシステムのデフォルトの動作では、大文字と小文字は保持されますが区別はされません。以前のバージョンの Windows では、このようなサブシステムのデフォルトで、大文字と小文字が完全に区別されていました。標準の UNIX 動作をサポートするため、Windows Services for UNIX セットアップでは、Interix サブシステムをインストールする基本ユーティリティーまたは Server for NFS をインストールする際に、Win32 以外のサブシステムに対する Windows XP および Windows Server 2003 ファミリのデフォルト動作を変更できます。大文字と小文字の区別を有効にしたあとで Server for NFS および基本ユーティリティーをアンインストールすると、Windows Services for UNIX セットアップは Win32 以外のサブシステムのデフォルトを復元し、大文字と小文字を区別しない動作に戻します。

  8. ユーザー名マッピングを構成します。

    ユーザー名マッピングは、Interix の NFS クライアントに対して集中ユーザーマッピングサービスを提供する単一の情報センターとして動作します。ユーザー名マッピングによって、NFS クライアント上の Window ユーザーおよびグループと、NFS サーバー上のそれに対応する UNIX ユーザーおよびグループとがマッピングされます。原理上、ユーザー名およびグループ名は同じでない可能性がありますが、N1GE を使用するユーザーの名前は同一である必要があります

    ユーザー名マッピングにより、エンタープライズ全体を 1 つのマッピングデータベースで維持できます。この機能により、Windows Services for UNIX が動作する複数のコンピュータに対する認証の構成が容易になります。Windows と UNIX のユーザーおよびグループアカウント間の 1 対 1 のマッピングに加え、ユーザー名マッピングでは、複数の Windows アカウントを 1 つの UNIX アカウントに関連付ける 1 対多のマッピングも可能です。これは、ユーザーごとに別々の UNIX アカウントを維持する必要がなく、代わりに複数のアカウントを使用して異なる種類のアクセス権を提供する必要がある場合などに、便利な機能となります。Windows と UNIX のアカウントに同じ名前を割り当てる簡単なマップを使用できます。また、Windows と UNIX のアカウントに別々の名前を関連付ける高度なマップも作成できます。このマップは簡単なマップとともに使用できます。

    簡単なマップおよび高度なマップの詳細は、「Help for Services for UNIX」の「Simple and advanced maps」を参照してください。


    注 –

    インストールの完了後、「Help for Services for UNIX」は次の場所から参照できます。

    「スタート」->「プログラム」->「Services for UNIX」->「Help for Services for UNIX」


    ユーザー名マッピングでは、UNIX のユーザー、パスワード、およびグループ情報を、1 つ以上のネットワーク情報サービス (NIS) サーバーまたはローカルのハードドライブ内のパスワードおよびグループファイルから取得できます。パスワードまたはグループファイルは、UNIX ホストまたは Server for PCNFS が動作している Windows ベースのシステムからコピーできます。


    注 –

    ユーザーマッピングは N1GE でなく、SFU の一部です。ユーザーマッピングの正しい設定方法については、Microsoft のマニュアルまたはサポート (あるいはその両方) を参照してください。


    このダイアログでの選択内容は、Windows 環境および UNIX 環境で現在提供されているホストおよびサービスによって異なります。使用している環境にそのようなサーバーが存在しない場合は、「Local User Name Mapping Server」を選択してください。


    注 –

    Windows 環境のドメインコントローラとして動作するホストでは、SFU をインストールし、ユーザー名マッピングサービスを有効にする必要があります。その他すべてのホストでは、「Remote User Name Mapping Server」を選択してそのユーザー名マッピングサーバーを参照します。

    Local User Name Mapping Server」を選択した場合、passwd および group の NIS マップにアクセスするには、「Network Information Services (NIS)」を選択します。自分でファイルを提供する場合は、「Password and group files」を選択する必要があります。


  9. ここまでの手順で選択した内容に応じて、NIS ドメイン名および NIS サーバー名か、passwd および group ファイルのパスを入力します。

    標準の UNIX 形式で記述されたファイルの例を次に示します。使用している UNIX 環境から /etc/passwd および etc/group ファイルを使用することもできます。

     C:\Unix\etc\passwd
             
                root:x:0:0:UNIX root user:/home/root:/bin/tcsh
                user1:x:1002:100:Full name of user1:/home/user1:/bin/tcsh
    
             C:\Unix\etc\group
    
                root::0:

    注 –

    NIS マップに root ユーザーエントリが含まれていないことがあります。この場合は、Administrator <-> root のマッピングを作成します。

    このエントリは、次の手順に従って作成します。


    1. まず、このインストール手順の実行中に root エントリを含むパスワードファイルを作成します。

    2. SFU インストールが完了している場合は、Services for UNIX Administration アプリケーションを起動して、Administrator <-> root のマッピングを作成します。

    3. NIS マッピングに切り替えます。

    4. 簡単なマッピングを使用するか、手動マッピングを追加します。

    5. この時点で、コンポーネントのインストールが開始されます。コンポーネントのインストールが完了するまで待機します。

  10. インストールプロセスの完了後、使用している Windos のバージョンによってはマシンの再起動が必要になります。

  11. ブート時間中に Interix サブシステム起動プロセスが開始されることを確認します。NFS 共有およびユーザーマッピングを使用する場合は、Client for NFS およびユーザー名マッピングも開始します。

    インストールオプションおよび Windows オペレーティングシステムのバージョンによっては、これらのサービスのうち 1 つ以上がデフォルトで使用不可になっています。

SFU インストール後の作業

SFU ソフトウェアのインストール後に、いくつかの作業を行う必要があります。

  1. SFU の使用を開始する前および N1GE を実際にインストールする前に、次の手順に従って、ユーザーマッピングが正しく動作していることを確認します。

    1. Interix ホストで Interix シェルをローカルに開きます。

    2. login コマンドを使用して、Administrator 以外の既知のユーザーに切り替えます。

    3. この既知のユーザーがアクセス可能な NFS 共有のアクセス権を検証します。

    4. これらのネットワークリソースにアクセスを試みます。ユーザーがネットワークドライブにアクセスできない場合、おそらくユーザー名マッピングが正しく動作していないことが原因です。

  2. ユーザーのホームディレクトリを確認します。ユーザーのホームディレクトリの自動マウントを有効にするには、次の一連のメニューを選択します。


    「コントロールパネル」->「管理ツール」->「コンピュータの管理」->「ユーザー」->「プロパティ」->「プロファイル」

    connect to」をクリックして、ドライブ文字を選択し、ユーザーのホームディレクトリのパスを UNC 表記 (\\<server>\<share>\<user home>) で入力します。

    Interix サブシステム内では、特殊ディレクトリ (/net/<server>/<share>) を介してすべての NFS 共有にアクセスできます。

    共有ディレクトリに直接アクセスするために、これらのディレクトリへのリンク (例: ln -s /net/myserver/export/share00/home /home) を作成することもできます。

  3. マシン上で管理者の名前を使用可能にします。

    N1GE の実行ホストは同じアカウント名 (Administrator など) を使用するため、すべてのマシン上で管理者アカウントを使用可能にする必要があります。

    また、このユーザーに N1GE クラスタの管理者特権があることを確認してください。管理者特権が与えられていない場合は、実行デーモンをインストールする前に、コマンド qconf -am <Administrator> を使用して特権を追加してください。

  4. エディタを起動する CLI コマンドを設定します。UNIX コマンドの使用を開始する前に、EDITOR 環境変数を vi か、または使用する Interix サブシステム内の UNIX エディタに設定してください。

  5. NFS 共有をマウントします。

    NFS 共有を Interix ホストにマウントする方法は 2 種類あります。

    • 推奨する方法は、Interix の自動マウント機能を使用する方法です。Windows のコンピュータブラウザサービスで検出可能なすべてのネットワーク共有は、Interix の「/net」ディレクトリに自動的にマウントされます。共有には「ls /net」で表示されるものと、表示されないものがありますが、どちらもアクセス可能です。自動マウントの構文は「/net/<server>/<share>」で、たとえば「/net/myserver/home」となります。自動マウントされた共有へのリンクを作成することができ、UNIX ホスト上とまったく同一の名前でアクセスできるようになります。たとえば、「ln -s /net/myserver/home /home」を実行すると、ユーザーは「/home/username」で UNIX のホームディレクトリをアクセスできます。自動マウントされた共有は起動時に使用可能になり、すべてのユーザー (一般的に、その共有へのアクセス権を持つユーザー) が使用可能で、構成の誤りによってアクセス不能になることがありません。

    • ネットワーク共有も、ドライブ文字でマッピングできます。これは、「nfsmount」コマンドで行います。構文は「/usr/sbin/nfsmount -u: \\computername\sharename devicename」で、たとえば「/usr/sbin/nfsmount -u: \\\\myserver\\home Z:」となります (単独のバックスラッシュはシェルでエスケープ文字として解釈されるため、すべてのバックスラッシュを 2 重にする必要があります)。これで、このドライブは「/def/fs/Z」でアクセスできます。このドライブへのリンクを作成し、UNIX ホスト上と同じパスにすることもできます。

  6. Interix の inet デーモンを有効にします。

    ホストで Windows のリモートシェルサービスおよび Windows の telnet サービスが実行されていることがありますが、Windows のデーモンを無効にし、代わりに Interix のデーモンを使用する必要があります。Windows のサービスを無効にするには、「コントロールパネル」の「サービス」でサービスを停止し、起動の種類を「無効」にします。Interix のデーモンを有効にするには、/etc/inetd.conf ファイルを編集します。デーモンに対する行が含まれていますが、コメントアウトされています。コメント文字 (#) を削除し、ファイルを保存してください。次に、「/etc/init.d/inet start」を実行し、デーモンを起動します。これらのデーモンは、N1GE のコマンド qrsh および qlogin の動作に必要です。

    ユーザーがパスワードなしでホストに rlogin 接続し、ネットワークリソースにアクセスするには、パスワードを Interix のコマンド「regpwd」で登録しておく必要があります。Windows のネットワークコンポーネントはパスワードなしのログインを信頼しないため、登録されたパスワードがあれば、rlogind がパスワードのあるログインをシミュレートできるからです。

  7. ユーザーのホームディレクトリを構成します。

    ユーザーのホームディレクトリが NFS サーバー上にある場合は、Windows で構成する必要があります。ユーザーのプロパティーダイアログの「プロファイル」タブで、「接続ドライブ」と空いているドライブ文字を選択し、ユーザーのホームディレクトリへのパスを UNC 表記法 \\server\share\directory (たとえば「\\myserver\home\Peter」) で入力します。

SFU の障害追跡

この節では、Windows システム上の Services for UNIX 環境で N1GE をインストールしたり使用したりする際に、ユーザーが遭遇する可能性のあるいくつかの一般的な問題について説明します。