ユーザー名マッピング サービス

オペレーティング システム

要約

ユーザー名マッピング サービスは、Microsoft Windows 2000 Services for UNIX のコンポーネントの 1 つです。UNIX ベースの NFS サーバー、NFS クライアント、NFS ゲートウェイ、および Remote Shell Service (rshsvc) は、この ユーザー名マッピング サービスを使って、UNIX ベースのネットワークのユーザー名から Windows ベースのネットワークのユーザー名へのマッピングおよびその逆を行います。このホワイト ペーパーでは、ユーザー名マッピング サービスのアーキテクチャ、必要性、および機能について説明します。

トピック

はじめに はじめに
ユーザー名マッピング の概要 ユーザー名マッピング の概要
ユーザー名マッピング の目的 ユーザー名マッピング の目的
ユーザー名マッピング のアーキテクチャ ユーザー名マッピング のアーキテクチャ
ユーザー名マッピング の利点 ユーザー名マッピング の利点
ユーザー名マッピング の必要性 ユーザー名マッピング の必要性
ユーザー名マッピング の機能 ユーザー名マッピング の機能
UNIX ユーザーと Windows ユーザーの間のマッピング UNIX ユーザーと Windows ユーザーの間のマッピング
NIS と PCNFS の両方のサポート NIS と PCNFS の両方のサポート
UNIX ユーザー名と Windows ユーザー名の自動更新 UNIX ユーザー名と Windows ユーザー名の自動更新
単一の UNIX ユーザーへの複数の Windows ユーザーのマッピング 単一の UNIX ユーザーへの複数の Windows ユーザーのマッピング
マッピングの抑制 マッピングの抑制
グループ マッピング グループ マッピング
管理機構 管理機構
NFS コンポーネントと ユーザー名マッピング NFS コンポーネントと ユーザー名マッピング
NFS クライアント と ユーザー名マッピング NFS クライアント と ユーザー名マッピング
NFS ゲートウェイ と ユーザー名マッピング NFS ゲートウェイ と ユーザー名マッピング
まとめ まとめ
詳細情報 詳細情報

はじめに

Microsoft Windows NT および Windows 2000 には新機能が追加され、信頼性、可用性、およびスケーラビリティが向上したため、多くのビジネス環境において、従来の UNIX ベースの企業ネットワーク内に、Windows ベースのコンピュータが統合化されるようになりました。このような異機種混合ネットワークは、今日の企業では当たり前になってきています。

ユーザー識別、認証、およびリソース アクセス制御の仕組みは、Windows オペレーティング システムと UNIX オペレーティング システムでは異なります。異機種混合ネットワーク内において、ユーザーは UNIX ネットワークと Windows ネットワークに対し、それぞれ別のアカウントを所有します。ユーザー ID とユーザー名は、Windows と UNIX では異なる方法で格納および使用されるため、たとえ両ネットワークにおけるユーザーが同一人物であっても、それらのユーザー情報の間に関連性はありません。

Services for UNIX のコンポーネントの 1 つである ユーザー名マッピング サービスは、Windows ベースのネットワークのユーザー名から UNIX ベースのネットワークのユーザー名へのマッピングおよびその逆を行う機能を提供します。この方法を使えば、Windows ベースのドメイン内と UNIX ベースのドメイン内で異なる ID を持つユーザーに対し、両ネットワーク間のユーザー名を関連付けることができます。

Services for UNIX NFS (Network File Service) のコンポーネント (NFS サーバー、NFS クライアント、および NFS ゲートウェイ) はどれも、ユーザー名マッピング を使って NFS の認証およびアクセス処理を実行します。企業内にインストールされたすべての Services for UNIX NFS コンポーネントが、集中管理型の ユーザー名マッピング を使うことにより、ネットワーク全体で一貫性のある識別および認証処理を実現することができます。ユーザー名マッピング を使えば、UNIX ベースおよび Windows ベースのネットワーク全域における NFS リソースへのアクセス管理作業が簡単になります。Services for UNIX に含まれる Remote Shell Service も同様に、ユーザー名マッピング を使って、rsh 要求発行時に UNIX ユーザー名を Windows ユーザー名にマッピングし、正しいコンテキストの下で rsh 要求を実行します。このホワイト ペーパーでは、ユーザー名マッピング の目的、アーキテクチャ、および機能について説明します。

ページのトップへ ページのトップへ

ユーザー名マッピング の概要

異機種混合ネットワーク環境におけるユーザー名の問題
異なるユーザー名またはユーザー ID および異なる認証方式を持つ複数の名前空間を管理するには、NFS のような、異なる種類のドメインを扱えるファイル共有システムが必要となります。これは、NFS クライアント、NFS サーバー、および NFS ゲートウェイ にとって欠かせない要素です。

NFS におけるユーザーの識別
NFS プロトコルは、既定では UNIX のユーザー識別方式を使ってアクセス制御を行います 1 。 その結果、Windows ベースの NFS サーバーは、ユーザー ID (UID) とグループ ID (GID) から構成される NFS 標準の識別子のみに基づいて、NFS 要求に含まれる要求元ユーザーを識別する必要があります。Windows ベースのコンピュータおよびドメインでは、UID/GID を使ったユーザー識別は行わないため、NFS 要求に含まれる UID/GID を Windows ユーザー名にマッピングする必要があります。Windows ベースの NFS クライアントは、NFS 要求を送出する前に、要求元の Windows ユーザーのユーザー名を UID/GID にマッピングする必要があります。同様に NFS ゲートウェイは、ファイル システム要求を NFS サーバーに転送する前に、Windows ユーザー名を UNIX の UID/GID に変換する必要があります。

メモ : ユーザー名マッピング ではパスワードとの同期は実行されません。ユーザー名マッピング では、Windows のユーザー名と UNIX の UID/GID との間のマッピング情報は格納されますが、マッピング中にパスワードを確認することはありません。

管理上の問題
異機種混合ネットワーク管理者の多くは、クロス プラットフォームの識別が必要な NFS サービスが実行されているコンピュータ上にそれぞれマッピング情報を作成するという方法を採用しています。これらのマッピング情報を各コンピュータまたはサーバーごとに保守管理するのは、問題が起こりやすく時間もかかります。パスワードの変更を含む日常的なアカウントの追加、削除、および変更作業を行ってなおかつ、これらのマッピングが正しく維持されている必要があります。ネットワーク上にはサーバーがいくつも存在しているため、このような作業は大変な困難を伴います。

ネットワーク全体での一貫性
ネットワーク管理者は、担当の異機種混合ネットワーク内で NFS サーバーまたは NFS ゲートウェイを実行しているコンピュータすべてに対し、ユーザー名マッピング情報を作成する必要があります。一方、Windows ベースの NFS クライアントでも Windows ユーザー名を UID/GID にマッピングする手段が必要となるため、やはりマッピング情報が必要となります。すべてのクライアントおよびサーバーに対して一貫した識別機能を提供するためには、これらのマッピング情報は相互に同期がとれている必要があります。しかし、これらのコンピュータを管理する管理者は一人ではない可能性があるため、これを実現するのが非常に困難になります。

ドメイン内のすべてのコンピュータ上のマッピング情報の同期がとれていないと、特定の NFS サーバー上のファイルへのアクセスや Windows ベースの NFS クライアントからのアクセス時に、誤りが生じる可能性があります。たとえば、NFS クライアント ソフトウェアがインストールされた 2 つの Windows コンピュータのマッピング情報が異なっている場合、2 つのコンピュータから同一ユーザーが NFS リソース要求を発行しても、異なる UID/GID が NFS 要求に挿入されてしまいます。一方、2 つの Windows ベース NFS サーバー間でマッピング情報が異なっている場合、同一の UID/GID に対して、両サーバーは異なる Windows ユーザーのコンテキストで NFS 要求を処理することになります。同様に、ユーザーが異なる NFS ゲートウェイを使ってアクセスした場合、異なるレベルのファイル アクセス許可を取得してしまいます。

複数の認証
Windows ユーザーが Windows のリソースにアクセスしたり UNIX ユーザーが UNIX のリソースにアクセスしたりする (必須条件) 場合、いったんログオンが成功すれば、Windows または UNIX のリソースにアクセスする際のユーザーの識別および認証処理は、透過的に実行されます。ユーザー認証が必要になるのは、ローカルまたはリモートにあるリソースにアクセスする際の 1 回だけです。しかし、Windows ユーザーが UNIX ネットワーク リソースにアクセスする場合やその逆の場合は、透過的には実行されません。アクセス対象のリソースが属するコンピュータやネットワークに対して、再度ユーザー認証が実行される必要があります。当然ながらネットワーク ユーザーは、認証は透過的でありログオンは 1 回だけで済む、という環境を望みます。

たとえば、UNIX ネットワーク上の NFS ファイルに Windows ユーザーがアクセスする場合、Windows ドメインの資格情報を使ってすでに認証済みであったとしても、UNIX のユーザー名とパスワードを使ってもう一度認証される必要があります。

従来の Windows ベースの NFS クライアントでは、UNIX NFS ネットワークへのユーザー認証を行ってから UNIX リソースへのアクセスを許可するという方式を採用しています。たとえ Windows 環境で認証済みのユーザーでもこの認証を通過しないと、ネットワーク上の NFS サーバーへのアクセスが拒否されます。

ページのトップへ ページのトップへ

ユーザー名マッピング の目的

Microsoft は上記の問題点を解決するために、ユーザー名マッピング を設計しました。Microsoft は特に以下の項目を目的としています。

  • Windows ユーザーは 1 回サインオンするだけで、UNIX ベースの NFS リソースにアクセスできるようにします。ユーザーはユーザー名とパスワードの組み合わせを 2 種類記憶したり、2 つのオペレーティング システムに個別にサインオンする必要はありません。

  • ユーザー名マッピングの単一セットをネットワーク全体で共有します。NFS クライアント、NFS サーバー、および NFS ゲートウェイ の複数のインスタンスは、唯一のマッピング情報セットを共有できる必要があります。これにより、ユーザーがどのコンピュータからどの NFS 製品を実行しようとも、一貫性のあるアクセスが保証されます。

  • NFS サービスまたは Remote Shell Service を提供するすべての Windows コンピュータ上のマップ情報を保守する管理作業負荷を軽減します。

ページのトップへ ページのトップへ

ユーザー名マッピング のアーキテクチャ

ユーザー名マッピング は Windows ユーザー名と UNIX ユーザー名の間のマッピング情報を作成します。これらのマッピング情報は、表 1 に示すような 1 つの表として管理されます。

1 Windows ユーザー名と UNIX ユーザー名の間のユーザー名マッピング

Windows ユーザー名

Windows ドメイン

UNIX ユーザー名

UNIX ドメイン

UID/GID

JohnDoe

Indwindows

Johnd

Indunix

1090/201

Maryjane

Indwindows

Maryj

Indunix

1223/201

以下の図 1 は、ネットワーク内での ユーザー名マッピング の使い方を描写したものです。すべての Services for UNIX コンポーネントは、特定の ユーザー名マッピング サーバーを使用するように設定できます。いったん設定が完了すると、NFS コンポーネントが実行されているコンピュータは、指定されたサーバーから必要なマッピング情報を取得します。NFS クライアント は、ユーザー名マッピング を使って認証済みの Windows ベース ネットワーク ユーザーを、対応する UNIX ベース ネットワーク ユーザーにマッピングすることにより UID/GID を取得し、その情報を NFS サーバーに送信する NFS 要求に挿入します。NFS サーバー は、ユーザー名マッピング を使って NFS 要求から取り出した UNIX UID を、対応する Windows ユーザーにマッピングし、得られた Windows ユーザーの ID と資格情報を使ってアクセス許可を決定します。同様に NFS ゲートウェイ は、各ゲートウェイ要求に含まれる Windows 資格情報を、対応する UNIX UID または GID にマッピングしてから NFS サーバーに要求を転送します。

ユーザー名マッピング は、Windows ベース ドメインの Windows ユーザー名と、NIS (Network Information System) サーバーまたは PCNFS (Personal Computer NFS) 2 サーバーの UNIX ユーザー名を使用します。ユーザー名マッピング を使えば、管理者は Windows ユーザー名と UNIX ユーザー名からユーザー名マッピング情報を作成し、マッピング情報を要求するサーバーに提供することができます。

ページのトップへ ページのトップへ

ユーザー名マッピング の利点

ここでは、Windows と UNIX が共存するネットワーク環境における ユーザー名マッピング の機能と利点について説明します。

集中管理マッピング サーバー
ユーザー名マッピング を組織内の単一ノード上に配置することにより、NFS コンピュータ上のすべての NFS クライアント、NFS ゲートウェイ、および NFS サーバー からこのサーバーにアクセスし、マッピング情報を取得することができます。

NFS クライアント または NFS ゲートウェイ を使用する Windows ベースの NFS ユーザーは、単一の認証だけを使って任意の Windows コンピュータからアクセスすることができます。どのマシンからアクセスしても、同一の UNIX 識別子 (UID または GID) が NFS サーバーに送信されるため、一貫性のあるアクセスが実現できます。

マッピング サーバーを集中管理することにより管理コストを削減し、異機種混合ネットワークの管理コストの低減が図れます。

すべての Windows NFS サーバーは単一のマッピング情報を共有するため、すべての UNIX NFS ユーザーから見て同一のファイル アクセス機能が提供できます。

UNIX ネットワークとの親和性
ユーザー名マッピング は、yp 互換モードで動作する UNIX NIS または NIS+ サーバーから、UNIX ユーザー名を取得することができます。また、Service for UNIX PCNFS サーバーから UNIX ユーザー名を取得することもできます。

このため、ユーザー名マッピング などの Windows ベースの NFS コンポーネントを導入する際の混乱が最小限に抑えられます。ユーザー名マッピング を導入しても、既存の UNIX 認証情報を変更する必要はありません。

簡易マッピングおよび詳細マッピングの利用
Windows ネットワークと UNIX ネットワークで同じユーザー名を持つユーザーの場合、ユーザー名マッピング によって簡易マッピングが実行されます。簡易マッピングの場合、UNIX と Windows の両ネットワークで同じユーザー名を持つユーザーについては自動的にマッピング処理が実行されるため、管理者が処理に介入する必要はありません。異なるユーザー名を持つユーザーの場合でも、ユーザー名マッピング の "詳細" オプションを使えば、マッピング処理を実行することができます。

ユーザー名マッピング を作成しても、UNIX ベース ドメインまたは Windows ベース ドメインの既存ユーザー名は変更せずに済みます。

簡易マッピングのサポートにより、2 つのドメインで同一の名前を持つユーザーの既定のマッピング情報を作成する作業が非常に楽になります。詳細マッピングのサポートにより、2 つのネットワークで異なる名前を持つユーザーに対し、2 つの名前のマッピング情報を作成して一貫した正しいファイル アクセスを提供することができます。

複数の Windows ベース ドメインおよび NIS ベース ドメインのサポート
ユーザー名マッピング は、任意の NIS ドメインで作成された複数のユーザー名と任意の Windows ドメインの単一のユーザー名の間に、詳細マッピングを確立することができます。

このため、複数のドメイン間でマッピング サーバーを共有することが可能になります。さらに ユーザー名マッピング は、ユーザー名がどのドメインで作成されたかに関係なく、ユーザー情報のマッピングを行えます。NFS ファイル共有が、異なるドメインのユーザーによるファイル アクセスを許可する場合、マッピング サーバーによるマッピングも可能となります。この機能は、移動ユーザーを扱う場合には特に便利です。

ユーザーとグループのマッピング

ユーザー名マッピング サービスには、2 つの名前空間の間のユーザー名をマッピングする機能だけでなく、グループ名をマッピングする機能も含まれています。

このサービスを使えば、Windows NFS ファイル サーバーは、UNIX NFS サーバーと同じセマンティックスを提供することができます。グループ マッピングを使用すると、ファイルのグループ許可ビットを使った UNIX NFS リソースへのアクセスは、Windows ベースのユーザーに対しても尊重されます。

NIS PCNFS 、および Windows のユーザー名の定期的な更新
ユーザー名マッピング は、Windows ベースのドメイン コントローラから取得した Windows ユーザー名と、NIS サーバーまたは PCNFS サーバーから取得した UNIX ユーザー名を、定期的に更新します。UNIX ドメインまたは Windows ドメインに対してユーザーの追加または削除が発生すると、ユーザー名マッピング の対応するマッピング情報も自動的に追加または削除されます。特定のユーザーが、Windows ドメインと UNIX NIS ドメインの両方に同じユーザー名で追加された場合、簡易マッピングが実行され、マッピング情報が自動的に作成されます。同様に、2 つのドメインの片方から特定のユーザーが削除された場合、対応するマッピング情報も自動的に削除されます。

この機能の便利な点は、UNIX および Windows の名前空間でユーザー情報を追加、削除、または変更する際に、管理者が介入しなくてよい点です。ユーザー アカウントを追加または削除すると、対応する NFS アクセスも自動的に有効化または無効化されます。

コマンド ラインまたはグラフィカルによる管理機能およびリモート管理機能の提供
ユーザー名マップを作成、保守、および管理するために、GUI (graphical user interface) ユーティリティまたはコマンド ライン ユーティリティのいずれかを使用することができます。どちらのユーティリティを使っても、リモートのマッピング サーバーの管理が行えます。

このため、ユーザー名マッピングの管理作業が単純化できます。これらのユーティリティを使うと、マップへの追加、削除、変更が行えるとともに、ローカルおよびリモートのマッピング サーバーの問題分析を行うこともできます。

マッピング情報のバックアップおよび復元のサポート
ユーザー名マッピング では、作成済みのマッピング情報をファイルに保存したり、マッピング情報をファイルからロードしてマッピング サーバーに格納することができます。

この機能は、ユーザー名マッピング サーバーの障害に備えて、マッピング情報をバックアップしておく場合に特に便利です。

単一の UNIX ユーザーへの複数の Windows ユーザーのマッピング
ユーザー名マッピング には、複数の Windows ユーザー名を単一の UNIX ユーザー名にマッピングするための仕組みが備わっています。

UNIX ユーザーと Windows ユーザーが 1 対 1 に対応していない場合に、この仕組みを使うと便利です。また、複数の Windows ユーザーをいくつかの UNIX ユーザーにマッピングすることもできます。異なるクラスのアクセス特権に従って UNIX ベースのファイル サーバーへのアクセス機能を提供する必要がある場合に、この機能を使うと便利です。これにより、権利/許可を作成/管理するための管理作業の低減が図れます。

セキュリティ
ユーザー名マッピング は、管理者グループのメンバのみが管理作業を実行できることを保証します。

また、悪質なユーザーが、ユーザー名マッピング 上に勝手なマッピング情報を設定したり、許可されていない NFS リソースへのアクセスを設定したりできないようになっています。

UNIX ユーザー名とパスワードの認証
ユーザー名マッピング は、UNIX 暗号アルゴリズムを使って UNIX ユーザー名とパスワードを認証し、UNIX の識別機能を提供します。

ユーザー名マッピング は、NIS または PCNFS ファイルから取得した UNIX ユーザー名とパスワードの情報を使って、ユーザー認証を行います。Windows ユーザーが、マッピングされていない UNIX アカウントを使って UNIX リソースにアクセスする必要がある場合に、この機能を使うと便利です。

ページのトップへ ページのトップへ

ユーザー名マッピング の必要性

NFS (UNIX) および Windows の認証の紹介
NFS の標準インプリメンテーション 3 では、NFS リソースへのアクセス時に認証は行われません。NFS ファイル サーバーは、クライアント コンピュータが実施する認証を信頼します。次にサーバーは、UNIX 標準の識別機構 (UID と GID) を使って、ユーザーの識別を行います。アクセス制御は、ネイティブのファイル システムによって決定されます。UNIX の場合であれば、ファイル単位の許可ビットがアクセス制御として機能します。さらに NFS サーバーは、クライアント コンピュータと許可されるアクセス権のリストに基づいて、"読み取り" または "書き込み" のアクセス権を制限します。

これに対して、リモートの Windows 共有にアクセスする Windows ユーザーは、UID ではなくセキュリティ識別子 (SID) を使って識別されます。各コンピュータは個別にユーザーを認証します。いったんユーザーが認証されると、ユーザーの SID によってリソースへのアクセス権が決定されます。

異なる識別 / 認証機構
Windows ベースのコンピュータにログオンする際、ユーザーは Windows SID (Security Identifier) によって識別されます。このユーザーが NFS リソースにアクセスするには、UID と GID から構成される UNIX 識別子を取得する必要があります。このためユーザーは、PCNFS サーバーまたは NIS サーバーを使って UNIX ベースのネットワークの認証を得る必要があります。逆の場合も同じ問題が発生します。つまり、ユーザーが UNIX ベースのコンピュータにログオンする際、ユーザーは UID と GID しか割り当てられません。Windows コンピュータのファイルにアクセスする際には、SID を取得する方法を見つけ、その Windows コンピュータにアクセス権を持つユーザーとして認識させる必要があります。

ユーザー名マッピング を使えば、UNIX ベースのネットワーク内の Windows ユーザーおよび Windows ベースのネットワーク内の UNIX ユーザーの識別の問題を解決することができます。また ユーザー名マッピング は、UNIX ベースのネットワーク内の NFS リソースにアクセスする Windows ユーザーを、UNIX ユーザー名とパスワードを使って認証することもできます。ユーザー名マッピング は、Windows ユーザーを UNIX ユーザーにマッピングするだけでなく、Windows の認証とマップを信用することにより、UID と GID を提供します。ただし逆方向については、ユーザー名マッピング は、UNIX の UID/GID を Windows ベースのユーザーにマッピングするだけであり、Windows SID 4 を提供することはできません。

ページのトップへ ページのトップへ

ユーザー名マッピング の機能

集中管理マッピング サーバー
他社の Windows ベースの NFS サーバーまたは NFS ゲートウェイでは、Windows ユーザーと UNIX ユーザーの間のマッピングを行うために、マッピング情報をローカルに置く必要があります。また、Windows ベースの NFS クライアントでは、ユーザーは NIS または PCNFS サーバーの認証を得る必要があります。

これに対し、ユーザー名マッピング は 1 つの集中管理サーバーとして配置することが可能です。ユーザー名マッピング を 1 台のサーバー上にインストールし、すべての Services for UNIX NFS コンポーネントからアクセスすることができます。

集中管理方式の ユーザー名マッピング サーバーは、集中管理的なポリシーをセットアップする場合にも便利です。企業のポリシーが反映されるように、ユーザーを集中的にマッピングすることができます。たとえば、特定のファイルの読み取り専用アクセス権を持つ Windows ベースのユーザーを、同じファイルの読み取り許可を持つ UNIX ベースのユーザーにマッピングすることができます。Windows ユーザーが NFS クライアントを使ってアクセスする場合は必ず、そのユーザーはマッピングされた UNIX ユーザーとして識別されます。

社内共通の集中管理マッピング サーバーをただ 1 つだけ配置することにより、マッピングにかかる管理コストは大幅に減少します。各 NFS サーバーまたは NFS ゲートウェイごとにユーザー名マッピング情報をセットアップする従来の方法はコストがかかりすぎます。というのも、マッピング情報の作成/管理作業がマシンの数だけ必要となるからです。これに対し、ただ 1 つの集中管理サーバー上でマップを管理すれば、コストをずっと少なく抑えることができます。

ページのトップへ ページのトップへ

UNIX ユーザーと Windows ユーザーの間のマッピング

"簡易マッピング" を使えば、Windows ベースの名前空間と UNIX ベースの名前空間で同じユーザー名を持つユーザーをマッピングすることができます。簡易マッピングが有効になると、2 つの名前空間で同一のユーザー名を持つユーザーのマッピングが実行されます。管理者はこの簡易マッピングを使って、Windows ドメインを UNIX の NIS ドメインまたは PCNFS サーバーに関連付けることができます。

usrmap01

図 1: 簡易マッピングによる UNIX NIS ドメインと Windows ドメインにおけるユーザー名のマッピング
拡大表示する

簡易マッピングを使えば、大量のユーザー情報を非常に簡単に設定することができます。ネットワーク上のユーザーのほとんどは、Windows ネットワークと UNIX ネットワークで同一のユーザー名を所有しています。そのようなユーザーは、簡易マッピングを使ってマッピングすることができます。

"詳細マッピング" を使えば、管理者は任意の Windows ユーザー名と UNIX ユーザー名の間のマッピング情報を明示的に作成することができます。

詳細マッピングは以下の機能を提供します。

  • 詳細マッピングは、簡易マッピングを使ってマッピングされる Windows または UNIX ベースのドメインとは異なるドメインに属するユーザーをマッピングします。たとえば、NFS リソースにアクセスする必要があるほかのドメインのユーザーなどです。図 2 では、簡易マッピング対象の NIS ドメイン "ind-unix-dev" に加えて、NIS ドメイン "maths" の UNIX ユーザーをマッピングしています。

  • 詳細マッピングは、Windows ベースのユーザーを UNIX 名前空間で異なるユーザー名を持つユーザーに (そしてその逆方向にも) 明示的に関連付けることにより、簡易マッピングによって作成されたマッピング情報を上書きします。図 2 は、ユーザー "yench" が UNIX ユーザー "tdshy" に明示的に関連付けられている様子を示したものです。このとき、簡易マッピングによる Windows ドメインの "yench" と UNIX ドメインの "yench" の関連付けは上書きされています。

  • 詳細マッピングは、Windows と UNIX で同じユーザー名を持つことのできないユーザーをマッピングします。ユーザーによっては、歴史的な理由や管理上の理由により、異なるユーザー名を持つ場合があります。これらのユーザー名が実際の一人のユーザーを参照するように、これらのユーザー名をマッピングすることができます。以下の例では、一人のユーザーが Windows ドメインと UNIX ドメインで異なる 2 つのユーザー名 "john" と "johnaz" を所有しています。これらのユーザー名は、詳細マッピングを使って相互にマッピングすることができます。

  • NFS リソースへのアクセスを禁止されているユーザーをマッピングします。これらのユーザーは未割り当てのユーザーにマッピングされる結果、一切のアクセス権を持たなくなります。ユーザー "i-malrao" と "sjahn" がこの場合に相当しており、マッピングから明示的に除外されます。

  • 複数の Windows ユーザーを単一の UNIX ユーザーにマッピングします。この方法は、NFS リソースへのアクセス クラスを表現している一連の少数の UNIX ユーザーが存在している場合に使用されます。この場合の例として、Windows ユーザーの "john" と "peterj" の両方が同じ UNIX ユーザー "johnaz" にマッピングされている様子が示されています。2 つの Windows ユーザーのうちの 1 つがプライマリ マッピングを使ってマッピングされます。この例の場合、UNIX ユーザー "johnaz" の Windows ユーザーへのマッピング先は、"peterj" ではなく "john" になります。

usrmap02

図 2
拡大表示する

ユーザー名マッピング クライアントから、マッピングを解決して Windows または UNIX のユーザー名を返すように要求するメッセージが送信されると、マッピング サーバーは以下のアルゴリズムに従って処理を行います。

  1. 目的のユーザーに対して詳細マッピングが設定されている場合、サーバーはその詳細マッピング情報を返します。1 つの Windows ユーザー名はただ 1 つの UNIX ユーザー名に関連付けられており、サーバーはこの UNIX ユーザー名を Windows ユーザーに対して返します。一方、1 つの UNIX ユーザーはいくつかの Windows ユーザーに関連付けられる可能性があります。1 つの UNIX ユーザー名がいくつかの Windows ユーザー名に関連付けられている場合、サーバーはプライマリとして指定されている Windows ユーザー名を返します。

  2. Windows ユーザー名または UNIX ユーザー名がマッピングされていないユーザーに明示的に関連付けられている場合、サーバーは目的のユーザーがマッピングされていないことを通知します。これは、簡易マッピングによって既定でマッピングされるユーザーを上書きする場合に特に便利です。また、匿名の UID または GID を割り当てる場合にも便利です。

  3. 目的のユーザーに対して明示的に作成されたマッピング情報が存在しない場合、サーバーは Windows と UNIX のユーザー名が同じであるような暗示的マッピングの有無を検索します。そのようなマッピングが存在した場合、サーバーはそのマッピング情報を返します。

  4. 目的のユーザーに対するマッピングが暗示的にも明示的にも存在しない場合、サーバーは目的のサーバーがマッピングされていないことを通知します。

上記手順により、Windows ユーザーと UNIX ユーザーの間で、詳細マッピングは簡易マッピングを上書きします。

ページのトップへ ページのトップへ

NIS と PCNFS の両方のサポート

ユーザー名マッピング は、NIS と PCNFS 5 の両方から UNIX ユーザー名を取得することができます。UNIX ベースのネットワークが NIS を使用している場合、ユーザー名マッピング を導入しても、ネットワーク内の既存インフラストラクチャを変更する必要はありません。NIS に基づく既存の UNIX ベースのネットワークは、導入前と同じように運用を続けることができます。

ページのトップへ ページのトップへ

UNIX ユーザー名と Windows ユーザー名の自動更新

ユーザー名マッピング は、ドメイン コントローラから取得した Windows ユーザー名と、NIS サーバーまたは PCNFS サーバーから取得した UNIX ユーザー名を定期的に更新します。ユーザーの追加、削除など名前空間への変更内容は、すべてマッピング情報に自動的に反映されます。これにより、すべての名前空間への変更が正しくマッピング情報に反映されることが保証されます。図 1 は更新間隔が 24 時間の場合を示します。すべてのユーザー名とその結果であるマッピング情報は、24 時間ごとに更新されます。その結果、組織に追加されたユーザーは必ず 24 時間以内にマッピング情報を持ち、適切な NFS アクセス権を手に入れることになります。管理者は要求に合うように、この時間間隔を変更することができます。

ページのトップへ ページのトップへ

単一の UNIX ユーザーへの複数の Windows ユーザーのマッピング

マッピング サーバーでは、複数の Windows ユーザーを単一の UNIX ユーザーにマッピングし、マッピング先の UNIX ユーザーのアクセス特権に応じたアクセス特権を受け取ることができます。たとえば、これらの Windows ユーザーから発行された NFS 要求は、マッピング先の UNIX ユーザーの UID および GID とともに送信されます。この方法は、UNIX のユーザー アカウントのほうが Windows よりも少ない場合に便利です。UNIX ユーザーは、データベース アクセス権の複数のクラスを表現している場合があります。そのような場合、管理者はいくつかの Windows ユーザーをそのような UNIX ユーザーに関連付けたいはずです。

たとえば上の例では、"john" と "peterj" の両方が UNIX ユーザー "johnaz" に関連付けられています。"john" と "peterj" の NFS クライアント からの NFS 要求には UID 137 が含まれます。一方、UID 137 が含まれた NFS サーバー への NFS 要求は、"vivekntest\john" が "johnaz" のプライマリ マッピングであるというコンテキストの下で解決されます。

ページのトップへ ページのトップへ

マッピングの抑制

ユーザー名マッピング は、ユーザーをマッピングされていないユーザーへマッピングする機能をサポートします。これは、UNIX ユーザーから Windows マッピングされていないユーザーへマッピングするか、Windows ユーザーから UNIX マッピング対象外ユーザーへマッピングするかのいずれかです。

マッピングされていないユーザーにマッピングされている Windows ユーザーの場合、認証要求を送信すると匿名の UID および GID (通常はそれぞれ ?2 と ?1) が得られます。これらの ID は NFS 要求のユーザーとして使用されます。同様に、NFS サーバー 上のそのような Windows ユーザーによって作成されたファイルは、UID が ?2、GID が ?1 であるユーザーによって所有されているものとしてレポートされます。一方、Windows マッピング対象外ユーザーにマッピングされている UNIX ユーザーの場合、そのようなユーザーによって作成されたファイルは、Windows 匿名ユーザーによって所有されているものとして表示されます。同様に、Windows マッピング対象外ユーザーにマッピングされている UNIX ユーザーが発行した NFS 要求は、Windows 匿名ユーザーのコンテキストの下で解決されます。通常そのような UNIX ユーザーは、フル コントロールの特権を持つファイルのみに、NFS 経由でアクセスすることが可能です。

この機能は、簡易マッピングによって間違って作成されたマッピングを無効にする場合に便利です。この機能を使えば、Windows ネットワークと UNIX ネットワークで偶然同一のユーザー名を割り当てられた別のユーザーどうしを関連付けてしまうのを回避できます。同様にこの機能は、何人かの特定のユーザーに匿名の NFS アクセス特権を確実に割り当てる場合にも便利です。

ページのトップへ ページのトップへ

グループ マッピング

ユーザー名マッピング は、ユーザー名をマッピングするだけでなく、Windows ベースのグループ名を UNIX ベースのグループ名に (そしてその逆にも) マッピングします。

Windows ユーザーを UNIX ユーザーにマッピングすると、マッピングされた UNIX ユーザーの GID が NFS 要求に挿入されます。このため、Windows ユーザーは UNIX ファイル上のグループ許可ビットに従って適切なアクセス権を取得できます。一方、UNIX ユーザーを Windows ユーザーにマッピングして NFS サーバー にアクセスする場合、ユーザー名マッピング はグループ マッピングを使って、GID を Windows グループにマッピングします。このため、Windows ベースの NFS サーバー上のファイルへのアクセス権は、Windows ユーザー名およびマッピングされた Windows グループの ACL によって決定されます。

ページのトップへ ページのトップへ

管理機構

ユーザー名マッピング は、ユーザー名マッピング サーバーおよびマッピング情報そのものの管理用として、コマンド ライン ツールと MMC (Microsoft Management Console) に基づく GUI ツールの両方を提供します。この 2 つのツールは、以下の機能を提供します。

  • ユーザー名マッピング サーバーを起動および停止します。

  • マッピング情報 (簡易、詳細の両方) の作成、削除、および変更を行います。

  • 更新間隔を設定し、簡易マッピング情報を定期的に更新します。Windows ドメイン コントローラと NIS マスタ サーバーから Windows ユーザー名と UNIX ユーザー名をそれぞれダウンロードし、簡易マッピング情報を更新します。

  • 複数の Windows ユーザーを単一の UNIX ユーザーにマッピングします。Windows と UNIX の間のユーザー名のマッピング情報にプライマリ マッピングを設定します。

  • ユーザー名のマッピング情報を一覧表示または表示します。ユーザー名の詳細マッピング情報のみを一覧表示したり、簡易マッピング情報を一覧表示したりします。

  • ユーザーのマッピング情報を復元およびバックアップします。

また管理者ツールを使えば、ローカルまたはリモートにある ユーザー名マッピング を管理することもできます。

ページのトップへ ページのトップへ

NFS コンポーネントと ユーザー名マッピング

NFS サーバー ユーザー名マッピング
NFS サーバー は ユーザー名マッピング を使って、NFS 要求に含まれる UNIX UID を Windows ユーザー名にマッピングします。この Windows ユーザー名はファイル システム要求を識別するために使用されます。次に NFS サーバー は、NFS サーバー 認証 6 コンポーネントを使って、ファイルにアクセスするための Windows 認証を行います。

図 3 は、NFS サーバー が UNIX ベースの NFS クライアントから受け取った NFS 要求を処理する間のイベント順序を示したものです。

usrmap03

図 3

イベント フロー

  1. NFS サーバー は、ユーザー名マッピング情報を ユーザー名マッピング サーバーから定期的にダウンロード 7 します。ダウンロードしたマッピング情報は NFS サーバー によって格納されます。

  2. NFS サーバー は、UID/GID が埋め込まれた NFS 要求を受信します。

  3. NFS サーバー は、ユーザー名マッピング サーバーから取得したマッピング データを使って、UID/GID を、対応する Windows ユーザー名にマッピングします。

  4. NFS サーバー は、NFS サーバー 認証 パッケージを使って Windows ユーザーを認証します。通常このパッケージは、対象ドメインのドメイン コントローラ上で実行されています。マッピング先のユーザーがローカルである場合、ローカルにインストールされた NFS サーバー 認証 が使用されます。

  5. NFS サーバー は、マッピング先の Windows ユーザーとして資格情報を利用することによりファイルにアクセスし、取得したデータを要求元の NFS クライアントに返します。

  6. NFS サーバー は、すべてのマッピング情報を定期的にダウンロードして ACL を UNIX の UID/GID に変換し、NFS クライアントに返します。この情報は、getFileAttributes などのようなファイル属性を要求する NFS 呼び出しを実行する場合に必要となります。

ページのトップへ ページのトップへ

NFS クライアント と ユーザー名マッピング

NFS クライアント を使うと、ユーザーの Windows 資格情報または UNIX 資格情報のいずれかを使って、NFS リソースにアクセスすることができます。

usrmap04

図 4

イベント フロー

  1. ユーザーは NFS クライアント に対し、NFS 共有のマッピング要求または NFS 共有へのアクセス要求を送ります。ユーザーは、Windows ネットワーク内で使用している資格情報を入力します。

  2. 要求が現行 Windows ユーザーからのものである場合、NFS クライアント は、そのユーザーの Windows 資格情報を ユーザー名マッピング サーバーに送信します。ユーザー名マッピング サーバーは、Windows 資格情報を UNIX ユーザー名にマッピングし、UID/GID を返します。要求が別のユーザーからのものである場合、NFS クライアント は、通常の Windows 認証機構を使ってそのユーザーを認証し、生成された資格情報を ユーザー名マッピング サーバーに送信します。

  3. NFS クライアント は受け取った UID/GID を保存し、目的の NFS 共有をマウントします。

  4. 同じ NFS 共有に対する NFS 呼び出しが続く場合、NFS クライアント は取得済みの UID/GID を使って NFS サーバーに要求を送信します。

  5. NFS サーバーは目的のデータを要求元 UID/GID に送信します。

Microsoft Internet Explorer などの Windows ベースのユーザー インターフェイス、net コマンド、または mount コマンドを使って NFS リソースにアクセスする場合は、上記のフローが適用できます。

UNIX 資格情報を使って NFS リソースにアクセスする場合は、以下のように、イベント フローが上記とは少し異なります。

  1. ユーザーは NFS クライアント に対し、NFS 共有のマッピング要求または NFS 共有へのアクセス要求を送ります。

  2. NFS クライアント は、そのユーザーの UNIX ユーザー名と暗号化された UNIX パスワードを、ユーザー名マッピング サーバーに送信します。

  3. ユーザー名マッピング は PCNFS または NIS から取得したデータを使って UNIX ユーザー名とパスワードを認証し、UID/GID を NFS クライアントに返します。

  4. NFS クライアント は受け取った UID/GID を保存し、目的の NFS 共有をマウントします。

  5. 同じ NFS 共有に対する NFS 呼び出しが続く場合、NFS クライアント は取得済みの UID/GID を使って NFS サーバーに NFS 要求を送信します。

UNIX 資格情報を使って NFS リソースにアクセスするには、mount コマンドを使用します。ユーザーは以下のコマンドを使って NFS 共有をマウントします。

"mount * \\server\share -u:user -p:passwd"

ここで、user は UNIX ユーザー名、passwd は UNIX パスワードを表します。

ページのトップへ ページのトップへ

NFS ゲートウェイ と ユーザー名マッピング

NFS ゲートウェイ と ユーザー名マッピング のやりとりは、NFS クライアント と ユーザー名マッピング のやりとりと非常によく似ています。NFS クライアントがインストールされていない Windows 95、Windows 98、Windows NT、または Windows 2000 ベースのクライアントからの要求はすべて、NFS ゲートウェイ によって処理されます。

イベント フロー

  1. NFS ゲートウェイ はルート アカウントを使って UNIX 共有をマウントし、マップされたドライブを Windows 共有としてエクスポートします。

  2. ユーザーは NFS ゲートウェイ に対し、NFS ゲートウェイ がマップされた NFS 共有へのアクセス要求を送ります。この Windows ベースの要求は、Windows 資格情報を使って送信されます。

  3. NFS ゲートウェイ は、そのユーザーの Windows 資格情報を ユーザー名マッピング サーバーに送信します。ユーザー名マッピング サーバーは、Windows 資格情報を UNIX ユーザー名にマッピングし、UID/GID を返します。

  4. NFS ゲートウェイ は、ユーザーからのゲートウェイ要求に UID/GID を関連付けることにより、UID/GID の情報を保存します。

  5. 同じ NFS 共有に対する NFS 呼び出しが続く場合、NFS ゲートウェイ は取得済みの UID/GID を使って NFS サーバーに NFS 要求を送信します。

ページのトップへ ページのトップへ

まとめ

Services for UNIX のコンポーネントの 1 つである ユーザー名マッピング サービスは、MicrosoftR WindowsR ベースのネットワークのユーザー名から UNIX ベースのネットワークのユーザー名へのマッピングおよびその逆を行う機能を提供します。この方法を使えば、Windows ベースのドメイン内と UNIX ベースのドメイン内で異なる ID を持つユーザーに対し、両ネットワーク間のユーザー名を関連付けることができます。

このホワイト ペーパーでは、以下のような ユーザー名マッピング サービスの利点について説明しました。

  • ユーザー名マッピング サービスを組織内の単一ノード上に配置することにより、NFS コンピュータ上のすべての NFS クライアント、NFS ゲートウェイ、および NFS サーバー からこのサーバーにアクセスし、マッピング情報を取得することができます。マッピング サーバーを集中管理することにより管理コストを削減し、異機種混合ネットワークの管理コストの低減が図れます。

  • ユーザー名マッピング サービスは、yp 互換モードで動作する UNIX NIS または NIS+ サーバーから、UNIX ユーザー名を取得することができます。また、Service for UNIX PCNFS サーバーから UNIX ユーザー名を取得することもできます。このため、ユーザー名マッピング などの Windows ベースの NFS コンポーネントを導入する際の混乱が最小限に抑えられます。

  • 簡易マッピングと詳細マッピングが利用できます。簡易マッピングのサポートにより、2 つのドメインで同一の名前を持つユーザーの既定のマッピング情報を作成する作業が非常に楽になります。詳細マッピングのサポートにより、2 つのネットワークで異なる名前を持つユーザー対し、2 つの名前のマッピング情報を作成して一貫した正しいファイル アクセスを提供することができます。

  • 複数の Windows ベースのドメインおよび UNIX ベースのドメインをサポートします。このため、複数のドメイン間でマッピング サーバーを共有することが可能になります。さらに ユーザー名マッピング は、ユーザー名がどのドメインで作成されたかに関係なく、ユーザー情報のマッピングを行えます。

  • ユーザー マッピングとグループ マッピングを提供します。このサービスを使えば、Windows NFS ファイル サーバーは、UNIX NFS サーバーと同じセマンティックスを提供することができます。グループ マッピングを使用すると、ファイルのグループ許可ビットを使った UNIX NFS リソースへのアクセスは、Windows ベースのユーザーに対しても尊重されます。

  • NIS、PCNFS、および Windows の各ユーザー名を定期的に更新します。この機能の便利な点は、UNIX および Windows の名前空間でユーザー情報を追加、削除、または変更する際に、管理者が介入しなくてよい点です。

  • コマンド ラインまたはグラフィックによる管理機能およびリモート管理機能を提供します。このため、ユーザー名マッピングの管理作業が単純化できます。

  • マッピング情報のバックアップおよび復元をサポートします。

  • 複数の Windows ユーザーを単一の UNIX ユーザーにマッピングすることができます。これにより、権利/許可を作成/管理するための管理作業の低減が図れます。

  • ユーザー名マッピング は、管理者グループのメンバのみが管理作業を実行できることを保証します。

  • ユーザー名マッピング は、UNIX 暗号アルゴリズムを使って UNIX ユーザー名とパスワードを認証し、UNIX の識別機能を提供します。Windows ユーザーが、マッピングされていない UNIX アカウントを使って UNIX リソースにアクセスする必要がある場合に、この機能を使うと便利です。

ページのトップへ ページのトップへ

詳細情報

Windows 2000 Server の最新情報については、『Microsoft TechNet』および弊社 Web サイト https://www.microsoft.com/japan/windows2000を参照してください。

© 2000 Microsoft Corporation. All rights reserved.

本書に記載されている情報は、発行時点で議論されている問題点に関する Microsoft Corporation の最新の見解を示しています。Microsoft は変化する市場状況に対処しなければならないため、本書の内容を Microsoft の確約事項として解釈してはならず、Microsoft は発行日以降に提示された情報の精度についてはいかなるものであれ保証いたしません。

本書は、情報の通知のみを目的としており、Microsoft は本書に記載されている情報について明示的にも暗黙的にも一切の保証をいたしません。

Microsoft、Active Directory、Windows、および Windows NT は米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。

その他、記載されている会社名および製品名は、各社の商標および登録商標です。

Microsoft Corporation. One Microsoft Way. Redmond, WA 98052-6399 USA

  1. 標準の NFS では、リモート UNIX NFS サーバーはユーザーの認証を行いません。要求元のクライアント コンピュータが実施する認証を信頼します。
  2. Services for UNIX v. 2.0 では、ユーザー名マッピング は Windows ベースの PCNFS サーバーのみサポートします。
  3. Secure NFS または Kerberos ベースの NFS を使用している場合は、明示的に認証が行われます。
  4. NFS サーバー は ユーザー名マッピング サーバーを使って UID/GID と Windows ユーザー名の間のマッピング情報を取得します。また NFS サーバー は、NFS サーバー 認証 と呼ばれる別のコンポーネントを使って、ファイル アクセス制御機能を提供するための SID を取得します。このコンポーネントは Windows のサブ認証パッケージとしてインストールされます。
  5. 現行バージョンの Server for NIS は、Windows ベースの PCNFS サーバーのみをサポートします。PCNFS ファイル (passwd と group) から ユーザー名マッピング にアクセスできる必要があります。
  6. このコンポーネントは、NFS サーバー 認証時に Windows サブ認証パッケージとしてインストールされます。
  7. マップは、最後のダウンロード以降変更があった場合にのみダウンロードされます。

ページのトップへ