Chapter 5. ドメイン管理

John H. Terpstra

Samba Team

Gerald (Jerry) Carter

Samba Team

David Bannon

Samba Team

Guenther Deschner

LDAP updates

Table of Contents

特長と便益
ドメイン管理の基本
ドメイン・コントローラーの種類
ドメイン管理の準備
ドメイン管理の設定例
Samba ADS ドメイン管理
ドメイン・ネットワーク・ログオンの設定
ドメイン・ネットワーク・ログオン・サービス
セキュリティ・モードとマスター・ブラウザ
よくあるエラー
マシン名に $ を入れられない
既存のマシン・アカウントのためにドメインに参加できない
システムはあなたのログオンを許可できません。(C000019B)
マシン信頼アカウントにアクセスできない
アカウントが無効化されている
ドメイン・コントローラーが使えない
ドメインに参加後ドメイン・メンバーであるワークステーションにログオンできない

MS Windows のネットワークの世界に考えられないような誤解をしている人がたくさんいます。 それは私たちが支援を提供できる機会が増えるということですからそれはそれでいいのですが、 この分野で本当にヘルプを必要とする人は、まず、既に一般向けに出されている情報に 親しまれることをお奨めします。

読者の皆様には、ある程度の基本を理解・修得されてからこの章を読み進められるように お奨めします。MS Windows のネットワークでは、誤った設定の影響がはっきりと現れます。 MS Windows ネットワークのユーザーから、ネットワーク設定の誤りに起因すると思われる 細かなトラブルにしつこく悩まされるという苦情が出ることがよくあります。 ところが、多くの人々にとって MS Windows ネットワークの世界というのは ドメイン・コントローラーを知るところから始まり、それはネットワーク・オペレーションの 障害を魔法のように、すべて解決してくれそうに思えるてくるのです。

下図 に、典型的な MS Windows ドメイン・セキュリティ・ネットワーク環境を示します。A、B、及び C のワークステーションは、 実際には多数ある MS Windows ネットワーク・クライアントを代表するものとお考えください。

Figure 5.1. ドメイン例

ドメイン例

Samba のメーリング・リストから、ネットワーキングによくある問題の多くを特定することができます。 以下の話題がよくわからない場合、この説明書のそれらについて触れている項を参照されるとよいでしょう。 以下に、MS Windows ネットワークの問題の最も一般的な原因を挙げます:

がっくりする必要はありません。MS Windows のネットワーク機能は、一見、大変シンプルで 誰でもできそうに見えます。実際には、適切な研修と準備をしないで MS Windows ネットワークを 設定するのは、あまりよい考えとは言えません。とはいえ、私達がなかなか払拭できない思い込みを ちょっと脇にどけましょう: ミスを犯すのもいいことです! 良い時に良い場所でミスを犯すことが学習の本質であると言えます。しかし、生産性のロスを招き、 組織に不可避の財政負担を強いるようなミスを犯してもよいわけではありません。

それでは、ミスを犯してもよい場所とはどこでしょうか? 実害のない場所です。 ミスを犯すなら、テストネットワーク上で、ユーザーから遠く離れた場所で、 他の人に苦痛を与えない状況でやってください。 学習過程をテストネットワーク上で終わらせてください。

特長と便益

Microsoft のドメイン・セキュリティの主要な便益は何か?

これは一言で言うと、シングル・サインオン、またはこれを縮めて SSO と呼ばれるものです。これは多くの人にとって、MS Windows NT 以後のネットワーキングの神器です。 SSO は、ユーザーのユーザー・アカウントが入っているドメインのメンバーであるワークステーション (あるいは、訪問先のドメインとの間に適切な信頼関係があるドメインに属するワークステーション) のいずれからも、ネットワークにログオンできるという優れた設計を可能にします。 ユーザーは、自分のホームの (個人の) ワークステーションの前に座っているかのように、 ネットワークにログオンでき、リソース (共有、ファイル、プリンタ) にアクセスできます。 これはドメイン・セキュリティ・プロトコルの一つの特長です。

Samba PDC を展開するサイトは、ドメイン・セキュリティの便益を享受できます。ドメインは、 固有のネットワーク・セキュリティ識別子 (SID) を提供します。ドメイン・ユーザーと グループ・セキュリティの識別子は、ネットワーク SID に、アカウントに固有の相対 ID (RID) を付け足したものです。ユーザーとグループの SID (ネットワーク SID + RID) は、 ネットワーク・リソースに付けられるアクセス制御リスト (ACL) を作成するのに使用され、 組織内のアクセス制御を可能にします。UNIX のシステムは、ローカル・セキュリティ識別子のみ 認識します。

Note

MS Windows ドメイン・セキュリティ環境のネットワーク・クライアントは、提供されている 上級機能にアクセスできるためには、ドメイン・メンバーでなければなりません。 ドメイン・メンバーシップは、ドメイン名にワークグループ名を設定するだけではありません。 ワークステーションのためのドメイン信頼アカウント (マシン・アカウントと呼ぶ) を作成しなければなりません。詳細は ドメイン・メンバーシップ の章を参照ください。

以下の機能が Samba-3 のリリースに新たに入りました:

  • Windows NT4 のドメイン信頼

  • ドメインユーザーマネージャー経由でユーザーを追加する機能。これは、MS Windows クライアント上で Windows 9x/Me のための Nexus.exe ツールキットを 使用するか、あるいは、MS Windows NT4/200x/XP プラットフォームから SRVTOOLS.EXE のパッケージを使用することにより、実行できます。これらのパッケージは Microsoft のウェブサイトで入手できます。

  • 交換可能な複数のユーザー・アカウント (認証) バックエンドを導入。バックエンドが LDAP データベース上に置かれた場合、Samba-3 は、分散可能、複製可能で、拡張性の高い バックエンドの便益を提供します。

  • 完全な Unicode サポートの実現。これにより、地点横断的な国際化のサポートを簡単にします。 また、Unicode を完全にサポートしなければならないという理由で Samba-2.2.x が サポートできなかったプロトコルの活用の道を開きます。

Samba-3 では、以下の機能は提供されません:

  • Windows NT4 ドメイン・コントローラーとの SAM 複製 (つまり、Samba PDC とWindows NT BDC、 あるいは、その逆の組み合わせ)。このことから Samba は、PDC が Microsoft ベースであるときに BDC になれなかったり、Windows BDC に対してアカウント情報を複製できないことになります。

  • Windows 2000 ドメイン・コントローラーとして作動する (つまり、Kerberos と Active Directory)。 実際には、Samba-3 は多少の Active Directory ドメイン管理機能を持っていますが、これは、 純粋に実験的なものであり、今後変更されることは確実です。というのは、Samba-3 (あるいはそれ以後) のライフサイクルのうちには、必ず完全にサポートされることになるはずの 機能だからです。しかし、Active Directory は、単なる SMB 以上の、LDAP、Kerberos、DHCP、 その他のプロトコルも含みます。(もちろん、プロプライエトリな拡張も含みます)

  • Windows 200x/XP MMC (コンピューター管理) コンソールは、Samba-3 サーバー管理に使用できません。 この目的には、MS Windows NT4 ドメイン・サーバー・マネジャーと MS Windows NT4 の ドメイン・ユーザー・マネジャーのみ使用できます。両者とも、後述する SVRTOOLS.EXE パッケージの一部分です。

Windows 9x/Me/XP Home のクライアントは、この章で説明する理由により、真のドメイン・メンバーでは ありません。Windows 9x/Me 式のネットワーク (ドメイン) ログオンのサポートのプロトコルは、 NT4/Windows 200x 式のドメイン・ログオンとは、完全に異なるものであり、しばらくの間、 公式にサポートされてきました。これらのクライアントは、旧 LanMan ネットワーク・ログオン機能を使用し、 Sambaでは、Samba-1.9.15 シリーズの頃からこの機能をサポートしています。

Samba-3 はWindows NT グループとUNIX グループの間のグループ・マッピングを実現しています。 (これは、限られたスペースで説明できないくらい複雑な機能です。) MS Windows と UNIXのグループ・マッピング の章で、詳細に説明しています。

Samba-3 は、MS Windows NT4 PDC あるいはWindows 200x Active Directory と同様、ユーザー情報と マシン信頼アカウント情報を、適切なバックエンド・データベースに格納する必要があります。 MS Windows ワークステーション/サーバーの マシン信頼アカウント の項を参照ください。Samba-3 では、このために、 複数のバックエンドを使用することができます。アカウント・データベース・バックエンドの詳細は、 アカウント情報データベース の章を参照ください。

ドメイン管理の基本

数年の間に、ドメイン管理に関する一般の理解はほとんど神話の世界になってきました。 ドメイン管理の基本を概観する前に、ドメイン・コントローラーの三つの基本的タイプを 知っておきましょう。

ドメイン・コントローラーの種類

  • プライマリ・ドメイン・コントローラー

  • バックアップ・ドメイン・コントローラー

  • ADS ドメイン・コントローラー

プライマリ・ドメイン・コントローラー (PDC) は、MS Windows NT4 で重要な役割を演じます。Windows 200x のドメイン管理アーキテクチャーでは、この役割を ドメイン・コントローラーが担います。言い伝えによれば、MS Windows ネットワークにおける ドメイン・コントローラーの役割は、ドメイン・コントローラーがネットワークの中で 最も強力で最も能力のあるマシンでなければならないことを示す、ということになっています。 ところが、おかしなことを言うと思われるかも知れませんが、ネットワークの全体的な性能を 高めるためには、インフラ全体がバランスの取れたものでなければなりません。 ドメイン・コントローラーに投資するよりも、スタンドアローンの (ドメイン・メンバーの) サーバーに投資する方が賢いと考えられます。

MS Windows NT4 式のドメインの場合、新しいドメイン管理データベースを初期化するのは、 PDCです。これにより、Security Account Manager (SAM) と呼ばれる Windows のレジストリの 一部分が形成されます。これが、NT4 式のドメイン・ユーザー認証と、ドメイン認証データベースと バックアップ・ドメイン・コントローラー間の同期化に関して、鍵となる役割を果たします。

MS Windows 200x サーバーベースの Active Directory ドメインでは、一つの ドメイン・コントローラーが、複数のドメイン・コントローラーの階層関係を初期化し、 一つ一つのコントローラーが管理権限を代行する領域を与えられます。 マスター・ドメイン・コントローラーは、下層のいずれのドメイン・コントローラーの決定をも 覆す権限を持ちますが、下層のドメイン・コントローラーは、自分の下に付くコントローラーの 決定を覆す権限のみ与えられます。Samba-3 では、この機能は、LDAP ベースのユーザー及び マシン・アカウント・バックエンドを使用することにより、実現されます。

Samba-3 には、新たに、NT4 式の SAM データベース (レジストリ・ファイルのもの) と同じタイプの データを保持するバックエンド・データベースを使用する機能が入りました。 [1]

バックアップ・ドメイン・コントローラー もしくは (BDC) は、 ネットワーク認証リクエストの処理に主要な役割を果たします。BDC は、PDC よりも優先的に ログオン・リクエストに回答するようになっています。BDC と PDC を両方持つ ネットワーク・セグメントでは、ネットワークへのログオン・リクエストは、概ね、BDC が処理します。 PDC は、BDC がビジー (高負荷) の時に、ログオン・リクエストに回答します。BDC は、PDC に格上げすることができます。BDC が PDC に格上げされるときに PDC がオンラインの場合、 この PDC は自動的に BDC に格下げされます。Samba-3 では、これは自動的には実行されず、 PDC と BDC は手動で設定、変更を行わなければなりません。

MS Windows NT4 では、インスタレーションの際に、サーバーはどのタイプのマシンになるか決定します。 BDC を PDC に格上げしたり、その逆を行うこともできます。ドメイン・コントローラーを ドメイン・メンバー・サーバーやスタンドアローンのサーバーに変換するには、再インストールする 以外には方法はありません。インストール時の選択肢には以下のものがあります:

  • プライマリ・ドメイン・コントローラー ドメイン SAM を生成するサーバー

  • バックアップ・ドメイン・コントローラー ドメイン SAM のコピーをもらうサーバー

  • ドメイン・メンバー・サーバー ドメイン SAM のコピーを持たず、全てのアクセス制御について、ドメイン・コントローラーから認証をもらうサーバー

  • スタンドアローン・サー SAM 同期化にはまったく関わらず、独自の認証データベースを持ち、ドメイン・セキュリティには関与しないサーバー

MS Windows 2000 では、ドメイン管理の設定は、サーバーのインストール後に行います。Samba-3 は、 Samba-3 は、Windows 200x サーバーの Active Directory ドメインで、ネイティブ・メンバーとして フルに機能することができます。

Samba-3 では、新たに、MS Windows NT4 式のドメイン・コントローラーとして、SAM 複製の機能を除く 全機能を果たす能力が加わりました。ただし、Samba-3 は、MS Windows 200x のドメイン管理プロトコルも サポートすることを知っておいてください。

現行では、Samba-3 がネイティブ ADS モードでの ドメイン・コントローラー として機能できるようにみえる部分がありますが、これは限定的で実験的なものに過ぎません。 この機能は、Samba チームが正式なサポートを提供するようになるまで、使用するべきではありません。 そういう時期になれば、全ての設定上・管理上の要件を反映させるために説明書類を改訂することに なるでしょう。Samba は Windows 2000/XP 環境での NT4 式の DC として機能できます。 しかし、これには、以下のように一定の短所があります:

  • マシン・ポリシー・ファイルがない。
  • グループ・ポリシー・オブジェクトがない。
  • 同期的に実行される AD ログオン・スクリプトがない。
  • ユーザーとマシンの管理に Active Directory 管理ツールを使用できない。
  • レジストリ変更でメイン・レジストリに恒久的な変更が残るが、AD 環境下では残らない。
  • AD なしでは、特定のアプリケーションを特定のユーザーまたはグループにエキスポートできない。

ドメイン管理の準備

MS Windows のマシンが、互いに他のサーバーやドメイン・コントローラーとやり取りするのには、 二つの方法があります: スタンドアローン のシステム (より一般的な呼び方としては Workgroup のメンバー) として、あるいは、 セキュリティ・システムの全面的な参加者として (より一般的な呼び方としては、 ドメイン・メンバー) として、の二つの方法です。

ワークグループのメンバーであるために、特別な設定は必要ないということに 注意してください。ただ、ネットワーク設定に、ワークグループのエントリーについて共通に使う 単一の名前を持つようにマシンを設定するだけです。このとき、WORKGROUP という名前を使用するのが、 よくあるやり方です。この設定モードではマシン信頼アカウントもなく、メンバーシップの概念は 全てのマシンがネットワーク環境の中で、ロジック的には一つのグループにまとめられていると いう以上のものではありません。もう一度言いますが、ワークグループというモードは、 セキュリティの確保されたマシン・アカウントというものは含みません

ドメイン・メンバーであるマシンは、ドメイン・アカウント・データベースに、マシン・アカウントを 持ちます。ドメイン・メンバーシップを有効にするには、マシン一つ一つについて特別な手順を 辿らなければなりません。この手順はローカル・マシン管理者アカウントのみが実行することができ、 これにより、(すでに存在していなければ) ドメイン・マシン・アカウントを作成し、 そのアカウントを初期化します。クライアントが最初にドメインにログオンすると、 それがマシン・パスワード変更のトリガーとなります。

Note

Samba がドメイン・コントローラーとして設定されたとき、ネットワーク運用のセキュリティを 確保するには、全ての MS Windows NT4/200x/XP Professional クライアントをドメイン・メンバーとして 設定しなければなりません。マシンがドメインのメンバーになっていないと、そのマシンは ワークグループ (スタンドアローン) のマシンのように動作します。ドメイン・メンバーシップに関しては、 ドメイン・メンバーシップ の章を参照ください。

Samba-3 を MS Windows NT4/200x/XP クライアントのための MS Windows NT4 式 PDC として設定するには、 下記が必要です:

  • 基本的なTCP/IP と MS Windows ネットワーク機能の設定

  • サーバーの役割の正しい指定 (security = user).

  • 一貫性のある名前解決の設定 [2].

  • Windows NT4/200x/XP Professional クライアントのためのドメイン・ログオン

  • 移動プロファイルの設定または、ローカル・プロファイルの強制的使用を確実にする設定

  • ネットワーク/システム・ポリシーの設定

  • ドメイン・ユーザー・アカウントの追加と管理

  • MS Windows クライアント・マシンをドメイン・メンバーとする設定

MS Windows 9x/Me クライアントにサーバー機能を提供するためには、以下の項目が必要です:

  • 基本的なTCP/IP と MS Windows ネットワーク機能の設定

  • サーバーの役割の正しい指定 (security = user).

  • ネットワーク・ログオンの設定 (Windows 9x/Me/XP Home は、技術的にはドメイン・メンバーではないので、 ドメイン・ログオンのセキュリティ部分には、実際には参加しない。)

  • 移動プロファイルの設定

  • システム・ポリシーの取り扱いの設定

  • MS Windows ネットワーククライアント” のネットワーク・ドライバのインストールと、ドメインにログオンするための設定

  • 全てのクライアントの共有アクセスがドメイン・ユーザー/グループの ID により制御されることを可能にするのが望ましい場合は、 Windows 9x/Me クライアントを user レベルのセキュリティにする

  • ドメイン・ユーザー・アカウントの追加と管理

Note

移動プロファイルと、システム/ネットワーク・ポリシーは、上級のネットワーク管理の話題で、本説明書の デスクトップ・プロファイル管理システムとアカウント・ポリシー の各章で説明しています。 ただし、これらは、Windows NT のネットワーク機能のコンセプトに関係のあるもので、必ずしも Samba PDC に特有の説明ではありません。

ドメイン・コントローラーは SMB/CIFS サーバーであって、以下を行います:

  • 自分をドメイン・コントローラーとして登録し、そのことを周知する。(NetBIOS ブロードキャストに加え、 UDP ブロードキャストでの Mailslot ブロードキャスト、WINS サーバーへの UDP ユニキャスト、 または DNS 及び Active Directory 経由による名前登録によって行う。)

  • NETLOGON サービスを提供する。(これは、複数のプロトコルに跨る一連のサービスの総称。LanMan ログオン・サービス、Netlogon サービス、ローカル・セキュリティ・アカウント・サービス、 及びそれらのバリエーションを含む。)

  • NETLOGON と呼ばれる共有を提供する。

これらのサービスを Samba が提供するように設定するのは簡単です。Samba のドメイン・コントローラーの 一台一台が、Samba が (smb.conf ファイル内のパラメーターの名前から取って) domain logons 機能と呼ぶ、NETLOGON サービスを 提供しなければなりません。また、Samba-3 ドメインの中の一台のサーバーが、ドメイン・マスター・ブラウザ [3] となり、そのことを周知しなければなりません。これにより、プライマリ・ドメイン・コントローラーが、 そのドメインまたはワークグループのドメイン・マスター・ブラウザであることを特定するような、 ドメインに固有の NetBIOS 名を取得することになります。次に、ブロードキャストから隔離された サブネット上の同じドメインまたはワークグループのローカル・マスター・ブラウザが、 WAN 全体のブラウズ・リストの完全なコピーを要求します。次に、ブラウザ・クライアントが、 ローカル・マスター・ブラウザに連絡し、ブロードキャストから隔離されたサブネットのみのリストではなく、 ドメイン全体のブラウズ・リストを受け取ります。

ドメイン管理の設定例

正しく稼動する Samba PDC を作成するための第一歩は、smb.conf の中の必要なパラメーターを理解することです。 PDCとして機能するための smb.conf の設定例を 以下 に示します。

Example 5.1. smb.conf for being a PDC

[global]
netbios name = BELERIAND
workgroup = MIDEARTH
passdb backend = tdbsam
os level = 33
preferred master = yes
domain master = yes
local master = yes
security = user
domain logons = yes
logon path = \\%N\profiles\%u
logon drive = H:
logon home = \\homeserver\%u\winprofile
logon script = logon.cmd
[netlogon]
path = /var/lib/samba/netlogon
read only = yes
write list = ntadmin
[profiles]
path = /var/lib/samba/profiles
read only = no
create mask = 0600
directory mask = 0700

この で示した基本的オプションの内容を以下に説明します。

passdb backend (パスワード・データベース・バックエンド)

これは、全てのユーザー・アカウント及びグループ・アカウントの情報を持ちます。 PDC に使える値は smbpasswd、tdbsam、及び ldapsam です。 “guest” のエントリーは、デフォルトのアカウントを提供するもので、 デフォルトで含まれていますので、特に追加する必要はありません。

バックアップ・ドメイン・コントローラー (BDC) の使用を意図している場合、 パスワード・データベース・バックエンドの分散を可能にする唯一の論理的な選択は LDAP を使用することです。tdbsam 及び smbpasswd のファイルは、効果的に分散できないので、 使用するべきではありません。

ドメイン管理のパラメーター

os level、preferred master、domain master、security、encrypt passwords、 及び domain logons の各パラメーターは ドメイン管理とネットワーク・ログオンの サポートを確実なものにするために中心的な役割を果たします。

os level の値は、32 以上に設定しなければなりません。 ドメイン・コントローラーは、ドメイン・マスター・ブラウザでなければならず、 user モードのセキュリティに設定し、Microsoft 対応の暗号化パスワードを サポートし、ネットワーク・ログオン・サービス (domain logons) を提供しなければなりません。 暗号化パスワードを有効化しなければなりません。この方法の詳細については、 アカウント情報データベース を参照ください。

環境パラメーター

logon path、logon home、logon drive、及び logon script のパラメーターは、 環境サポートの設定であり、クライアントのログオン操作を支援し、また、 ネットワーク管理の間接費用を軽減するために自動管理機能を提供するためのものです。 これらのパラメーターに関しては man ページの情報を参照ください。

NETLOGON 共有

The NETLOGON 共有は、ドメイン・ログオンとドメイン・メンバーシップをサポートする上で、 中心的な役割を果たします。この共有は全ての Microsoft ドメイン・コントローラー上で与えられます。 ログオン・スクリプトを提供し、グループ・ポリシー・ファイル (NTConfig.POL) を格納し、 ログオン処理に必要な他の共通ツールを見つけるのに使用します。 これはドメイン・コントローラー上で必須の共有です。

PROFILE 共有

この共有はユーザー・デスクトップ・プロファイルを格納するために使用します。各ユーザーが、 ディレクトリをこの共有のルートに持たなければなりません。このディレクトリは当該ユーザーが書き込み可能で、 グローバルには読み込み可能でなければなりません。Samba-3 には “fake_permissions” と呼ばれる VFS モジュールを持っており、これをこの共有上にインストールできます。 これにより、Samba 管理者が、ディレクトリを全員にとって読み込み専用にすることができるようになります。 これはもちろん、プロファイルが適切に作成された後に行ってこそ有用です。

Note

上記パラメーターが、サーバーの運用モードを定義するパラメーターの一式と思ってよいでしょう。 下記に、smb.conf パラメーターのうち必須のもののみを一覧します:

netbios name = BELERIAND
workgroup = MIDEARTH
domain logons = Yes
domain master = Yes
security = User

上記の例のパラメーターの長いリストは、より充実した説明をするために、 追加的なパラメーターも含めたものです。

Samba ADS ドメイン管理

Samba-3 は、Active Directory サーバーとして機能することはできません。真の Active Directory プライマリ・ドメイン・コントローラーとして機能することもできません。一部の Active Directory ドメイン・コントローラーの機能用のプロトコルが、実験的、部分的に実現されていますが、Samba-3 がこれらのプロトコルをサポートするとは期待しないでください。現在においても将来についても、 これらの機能に依存しないでください。Samba チームは、これらの実験的機能を将来取り外すかも知れませんし、 その動作を変更するかもしれません。このことをここに言及するのは、これらの秘密の機能をすでに発見し、 この機能が完成されるのはいつかという質問を寄せられた方々のためです。そして、質問への答は、 「完成されるかも知れないし、されないかも知れません」です!

Samba-3 が Microsoft Windows NT4 式ドメイン・コントローラーが持つ機能の大半を提供するように 設計されているというのは、本当です。Samba-3 は、Windows NT4 の機能を全て持ってはいませんが、 Windows NT4 のドメイン・コントローラーが持たない多くの機能を持っています。一言で言えば、Samba-3 は NT4 ではなく、Windows Server 200x でもなく、Active Directory サーバーでもありません。 この言い方で全ての人に簡単にシンプルに理解していただけると期待します。

ドメイン・ネットワーク・ログオンの設定

ネットワークとドメインのログオンについて、ここで言及するのは、ドメイン・コントローラーが 提供する本質的な機能の欠かせない部分だからです。

ドメイン・ネットワーク・ログオン・サービス

全てのドメイン・コントローラーが、netlogon サービス (Samba では domain logons と呼ぶ) を実行しなければなりません。一つのドメイン・コントローラーが、 domain master = Yes の設定 (プライマリ・ドメイン・コントローラー) になっていなければならず、全てのバックアップ・ドメイン・コントローラーは、 domain master = No の設定でなければなりません。

設定例

Example 5.2. PDC になるための smb.conf

[global]
domain logons = Yes
domain master = (Yes on PDC, No on BDCs)
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = Yes
browseable = No

MS Windows XP Home Edition の特例

次のことを明確に理解してください: MS Windows XP Home Edition を MS Windows NT4 または Active Directory のドメイン・セキュリティに統合したくても、それは不可能です。 これを可能にする唯一の方法は、MS Windows XP Home Edition から MS Windows XP Professional へのアップグレードを購入することです。

Note

MS Windows XP Home Edition は、いずれのタイプのドメイン・セキュリティ機能にも参加する能力が ありません。MS Windows 9x/Me とは異なり、MS Windows XP Home Editionは、 ネットワークにログオンする能力を完全に欠いています。

これをはっきり言いましたから、メーリングリストや Samba チームへのメールで、 これをどうやったら実現できるかという質問は、もうしないでください。答は、「できません」です。 もしできる方法があったら、それは、Microsoft 社とのソフトウェア・ライセンスアグリーメントに 抵触するような方法しかなく、そのようなことはしないように勧告いたします。

Windows 9x/Me の特例

ネットワーク・ブラウジングに関しては、ドメインとワークグループは全く同義語です。 この二つの差は、ネットワークへの安全なログイン・アクセスのための分散可能な認証データベースは ドメインの方に関連するということです。また、ドメイン・ログオン・サーバーからの 認証が得られたユーザーに対して異なるアクセス権限を付与できます。Samba-3 は、この機能を MS Windows NT/200x と同様に実行できるようになりました。

ドメインにログオンしようとする SMB クライアントは、同ドメイン内の全てのサーバーが同じ認証情報を 受け付けると期待します。ドメインとワークグループのネットワーク・ブラウジング機能は全く同じで、 この説明書の中のブラウジングに関する項の中で説明されています。ブラウジングはログオン・サポートとは 直交する (互いに他方への影響を考慮する必要のない) 機能であることを覚えておいてください。

シングル・ログオンのネットワーク・モデルに関する課題は、この章で扱っています。Samba は domain logons の他、本章で注目したとおり、MS Windows のために、ワークグループとMS Windows 9X/ME クライアントのためのネットワーク・ログオン・スクリプトとユーザー・プロファイルをサポートします。

ドメイン内の SMB クライアントがログオンしたいとき、このクライアントは、ログオン・サーバーを 探すリクエストをブロードキャストします。最初に回答するサーバーがこの機能を果たすことになり、 クライアントのパスワードを、Samba 管理者がインストールした機構を用いて認証します。 ユーザー・データベースがサーバー間で共有されないようなドメイン、(つまり、サーバーが、 本質的にはワークグループ・サーバーでありながら、しかも自分はドメインに参加していると他に 周知するようなドメイン) を作成することは可能ですが、お奨めはできません。このことは、 認証機能がドメインとはかなり異なるものでありながら、ドメインと密接に関連するものであることを 示しています。

これらの特長を用いて、Samba サーバー経由でクライアントにログオンを確認させることができます。 即ち、クライアントがネットワークにログオンする際に、クライアント側でバッチファイルを走らせて、 クライアントの個人設定、デスクトップ、及びスタートメニューをダウンロードさせます。

MS Windows XP Home Edition は、ドメインに参加できず、ドメイン・ログオンの使用を許可しません。

設定の説明に入る前に、Windows 9x/Me クライアントはどのようにログオンを実行するのか見ておきましょう。

  1. クライアントは、NetLogonリクエストを (そのクライアントが入っているサブネットの IP ブロードキャスト・アドレスに) ブロードキャストします。これが、NetBIOS レイヤーの NetBIOS 名である DOMAIN<#1c> へ送られます。クライアントは、最初に受け取った回答を選びます。 回答には、\\SERVER のフォーマットで使用する、ログオン・サーバーの NetBIOS 名が含まれます。

  2. クライアントは、そのサーバーに接続し、ログオンし (SMBsessetupX を実行し)、次に (SMBtconX を使用して) IPC$ 共有に接続します。

  3. クライアントは NetWkstaUserLogon リクエストをし、これにより、ユーザーの ログオン・スクリプトが取り出されます。

  4. 次にクライアントは NetLogon 共有に接続し、上記スクリプトを検索します。これが見つかり読み込めれば、 クライアントはこれを取り出し実行します。その後、クライアントは NetLogon 共有との接続を切ります。

  5. クライアントはサーバーに NetUserGetInfo リクエストを送り、プロファイルの検索に使用される ユーザーのホーム共有を取り出します。NetUserGetInfo リクエストへの回答は、 ユーザーのホーム共有以上のものはほとんど含まないので、Windows 9x クライアントのプロファイルは、 ユーザーのホーム・ディレクトリ内に常時なければなりません。

  6. クライアントは、ユーザーのホーム共有に接続し、ユーザーのプロファイルを検索します。 そのとき、ユーザーのホーム共有をシェアネームとパスとして指定できます。たとえば、 \\server\fred\.winprofile などになります。 プロファイルが見つかれば、実行します。

  7. 次にクライアントは、ユーザーのホーム共有との接続を切り、NetLogon 共有に再接続して、 ポリシー・ファイルである CONFIG.POL を探します。 これが見つかれば、読み込み、実行します。

PDC と Windows 9x/Me ログオン・サーバーの設定の主な相違点は以下のとおりです:

  • Windows 9x/Me ログオン・サーバーでは、パスワード暗号化は要求されません。しかし、 MS Windows 98 以降、プレーンテキストのパスワードのサポートはデフォルト設定で 無効化されていることに注意してください。 システムとアカウント・ポリシー の章に説明する方法で レジストリを変更すれば、再度有効化することはできます。

  • Windows 9x/Me クライアントは、マシン信頼アカウントを要求せず、使用しません。

Samba PDC は、Windows 9x/Me ログオン・サーバーとして機能します、つまり、MS Windows 9x/Me 側が期待するネットワーク・ログオン・サービスを、結局提供するということです。

Note

プレーンテキストのパスワードの使用は極力避けるよう、強く勧告します。 ネットワークのトラフィック調査に使うようなスニファーのツールで簡単に見られてしまいます。

セキュリティ・モードとマスター・ブラウザ

わかりにくい点が残らないように、最後に幾つかコメントを入れます。user モード以外の セキュリティ・モードの時に、Samba をドメイン・コントローラーとして設定しても よいかどうかについては、さまざまな議論が戦われてきました。 技術的な理由でうまくいかないセキュリティ・モードは、share モードのセキュリティのみです。 domain モードと server モードのセキュリティは、実際には SMB の user レベルのセキュリティの 変形のようなものです。

この問題は、Samba が DC として機能しているときに、そのワークグループの ドメイン・マスター・ブラウザでなければならないかという議論と密接に関連しています。 サーバーをこのように設定することは技術的には可能です (つまるところ、 ブラウジングとドメイン・ログオンは二つの全く別の機能です) が、 これをすることは良い考えとは言えません。DC は DOMAIN<#1b> という NetBIOS 名を登録しなければならないことを思い出してください。これは、Windows クライアントが DC を見つけるのに使用する名前です。Windows クライアントは DC と DMB を区別しません。 DMB は、ドメイン・マスター・ブラウザです。 (WORKGROUPブラウジングの設定 を参照ください。) この理由により、Samba DC は DMB として設定するのが賢いのです。

Samba DC を security = user 以外のモードで設定する問題に話を戻しましょう。ユーザーの接続リクエストを確認するために Samba ホストが別の SMB サーバーまたは DC を使用するように設定されているとき、Samba ホストよりも、 ネットワーク上の別のマシン (password server) の方が、ユーザーについてより良く知っているという状況になります。99% のケースで、 この別のホストはドメイン・コントローラーです。domain モードのセキュリティで運用する場合、 workgroup のパラメーターは (既にドメイン・コントローラーを持つ)Windows NT ドメインの名前に設定しなければなりません。 そのドメインがまだドメイン・コントローラーを持っていない場合、それはドメイン自体がないのと同じです。

定義上、既に PDC を持つドメインに、Samba マシンを DC として設定すると問題を招きます。 従って、Samba DC は常にそのドメインの DMB として設定し、セキュリティは security = user に設定するべきです。 このやり方が公式にサポートされている唯一の運用モードです。

よくあるエラー

マシン名に “$” を入れられない

通常 /etc/passwd に格納されているマシン・アカウントは、マシン名に “$” を付けた形式です。FreeBSD (と他の BSD システム) では、“$” を含めたユーザー名を 作成することができません。

この問題は、エントリーを作成するプログラムの中だけのことです。一旦作成してしまえば、 後は完璧に動きます。そこで、ユーザーを “$” なしで作成してください。次に、 vipw を使ってエントリーを編集し、“$” を付けます。または、 はじめから vipw を使用してエントリーを作成してもよいです。その際は、 固有のユーザー・ログイン ID を使用するように気をつけてください。

Note

マシン・アカウントはワークステーションの持つ名前と全く同じ名前を持たなければなりません。

Note

UNIX のツールである vipw は、/etc/passwd ファイルを直接編集するための共通ツールです。

既存のマシン・アカウントのためにドメインに参加できない

マシン信頼アカウントを作成する際に、You already have a connection to the Domain.... (既にドメインへの接続があります。) または Cannot join domain, the credentials supplied conflict with an existing set... (ドメインに参加できません。 信用情報が既存のものと一致しません) と言われます。

これは、マシン自体からマシン信頼アカウントを作成しようとし、Samba PDC 上の共有 (あるいはIPC$) に既に接続 (つまりマッピングされたドライブ) があると起こります。以下のコマンドが全ての ネットワーク・ドライブの接続を外します:

C:\> net use * /d

更に、マシンが既に参加しようとしているドメインと同名の “ワークグループのメンバー” である (これはやってはいけません) ときにも、このメッセージが出ます。ワークグループ名を、 何でもいいですから他の名前に変えて再起動し、再試行してください。

システムはあなたのログオンを許可できません。(C000019B)

ドメインには参加できましたが、Samba コードのより新しいバージョンにアップグレードした後、 『The system cannot log you on (C000019B), Please try again or consult your system administrator when attempting to logon. (システムはあなたのログオンを許可できません (C000019B) 。 後ほど再試行するか、システム管理者に相談してログオンしてください) 』というメッセージが出ます。

これは、secrets.tdb データベースに格納されているドメイン SID が変更されたときに起こります。 ドメイン SID の変更の最もよくある原因は、ドメイン名、かつまたは、サーバー名 (NetBIOS名) の変更です。 この問題を修正する唯一の方法は、元のドメイン SID に戻すか、ドメイン・クライアントを 一旦ドメインから外した後、再度参加させることです。ドメイン SID は net または rpcclient のユーティリティを使用してリセットできます。

ドメインSID をリセットまたは変更するには、以下のコマンドが使えます:

root# net getlocalsid 'OLDNAME'
root# net setlocalsid 'SID'

ワークステーションのマシン信頼アカウントは、ドメイン (またはネットワーク) SID でのみ動きます。 この SID が変更されると、ドメイン・メンバー (ワークステーション) は、 ドメインにログオンできなくなります。元のドメイン SID は secrets.tdb ファイルから取り戻すことができます。 もう一つのやり方としては、一つ一つのワークステーションに行って、それぞれをドメインに再参加させることです。

マシン信頼アカウントにアクセスできない

ドメインに参加しようとすると、The machine account for this computer either does not exist or is not accessible (このコンピューターのマシン・アカウントは存在しないか、 アクセスできません) というメッセージが出ます。何がいけないのですか?

この問題は、PDC が適切なマシン信頼アカウントを持たないことに起因します。 add machine script を使用してアカウントを作成している場合、 このメッセージはアカウント作成に失敗したということを示します。 ドメイン管理ユーザーのシステムが作動していることを確認してください。

または、手動でアカウントのエントリーを作成している場合、正しく作成されなかったということです。 Samba PDC 上の smbpasswd ファイル内に、マシン信頼アカウントのための 正しいエントリーを作成できたかどうか確認してください。アカウントを smbpasswd ユーティリティではなく エディターを使用して追加したなら、アカウント名がマシンの NetBIOS 名に “$” を加えたもの (つまり computer_name$) であることを確認してください。エントリーが /etc/passwd ファイルと smbpasswd ファイルの両方にできていなければなりません。

Samba サーバーと NT クライアントの間のサブネット・マスクの不一致により、 この問題が起こるという報告も一部からいただいています。クライアントとサーバー間で、 サブネット・マスクが一致していることも確認してください。

アカウントが無効化されている

NT4/W200x ワークステーションから Samba ドメインにログインしようとすると、 アカウントが無効化されているというメッセージが出ます。

ユーザー・アカウントを smbpasswd -e username で有効化してください。これは通常はアカウントが作成されるときに実行されます。

ドメイン・コントローラーが使えない

Samba が起動してから数分間、クライアント側に「Domain Controller Unavailable (ドメイン・コントローラーが使えません。) 」のメッセージが出ます。

ドメイン・コントローラーは自分の役割をネットワーク上で周知しなければなりません。これには、 一定の時間がかかります。最大 15 分待ってみて、再試行してください。

ドメインに参加後ドメイン・メンバーであるワークステーションにログオンできない

ドメインへの参加に成功した後、以下の二つのどちらかのメッセージが出て、ユーザー・ログオンに 失敗するという問題です。一つは、ドメイン・コントローラーが見つからないという内容のメッセージで、 もう一つはアカウントがドメイン内に存在しないか、パスワードが不正であるという内容です。 これは、Windows クライアントと Samba-3 サーバー間の schannel (セキュア・チャネル) 設定または smb signing (SMB 署名) 設定の不一致に よるものと考えられます。以下を実行することにより、client schannel、server schannel、 client signing、server signing に関する Samba の設定を確認してください:

testparm -v | more

上記のコマンドを実行して、これらのパラメータの値を探してください。

また、Microsoft 管理コンソールのローカル・セキュリティ設定を使用してください。このツールは、 コントロール・パネルからアクセスできます。ポリシーの設定は、ローカル・ポリシー/セキュリティ・オプションの ドメインメンバのカテゴリーの中で、セキュリティチャネルデジタル的に署名という言葉を含んだ項目で設定しています。

これらが Samba-3 サーバー設定と一致した設定になっていることが大切です。



[1] アカウント情報データベース
[3] ネットワーク・ブラウジング