!==
!== DOMAIN.txt for Samba release 2.0.5a 22 Jul 1999
!==
寄稿者:	Samba Team
更新日:	December 4、1998 (John H Terpstra)

翻訳者:	高橋基信 
更新日: 1999/05/20

題名: ネットワークログオンと移動プロファイル
      (Network Logons and Roaming (Roving) Profiles)
===========================================================================

ドメインとワークグループは、ネットワークブラウジングの観点からすると、
全く同じものである。違いはネットワークへのセキュアなログインアクセスを
提供する分散可能な認証のデータベースがドメインには備わっているところに
ある。同様に、ドメインのログオンサーバから正しく認証されることで、
ユーザに異なったアクセス権を割り当てることも実現されている。(Samba は
まだこれをサポートしていないが、NT Server や NT Server をベースにした
他のシステムでは実現されている。)

Samba 2.0.0 では、この機能を早急に完成させるべく実装中の段階である。
このドキュメントは Samba 2.0.0 に先だって書かれたものであるため、概要
としてはあっているものの、詳細は現在の開発と異なっているかも知れないこ
とを理解しておく必要がある。

ドメインにログオンする SMB クライアントは、ドメイン内のすべてのサーバが
同じ認証情報を受け入れることを前提にしている。一方、ドメインとワーク
グループのネットワークブラウジング的な機能は、全く同一である。このこ
とは BROWSING.txt で述べられている。

シングルログオンのネットワークモデルに関連する事項はこのドキュメント
中で記述されている。Samba は Windows for Workgroups や Windows 9x クラ
イアントに対するドメインログオン、ネットワークのログオンスクリプトやユー
ザプロファイル機能をサポートする。

Windows NT クライアントに対するドメインログオンのサポート計画も進行
中である。これはほとんど完成しているが、新しいコードが安定して使える
ようになるまでには、まだまだ修正が行なわれることだろう。

サポートも完全なものではない。Samba は未だ Windows NT 形式の SAM
データベースを他のシステムと共有することができない。これはユーザデータ
ベースを共有する唯一の方法ではあるが、ドメイン内のすべてのサーバが
分散した NIS や Kerberos の認証データベースを共有すれば、同じ結果に
なるであろう。

ドメイン内の SMB クライアントは、ログオンを行なうときに、ログオンサーバ
にログオン要求をブロードキャストする。最初に返答したサーバがその作業を
行ない、パスワードを Samba 管理者が設定した方式で認証する。かなり奇妙
だが、ユーザデータベースをサーバ間で共有しないドメインを作成することも
可能である。つまり、実質的にはワークグループのサーバが、ドメインに参加
しているとアナウンスしているような状態である。これは、ドメインとワーク
グループとで認証がどのように異なっているのか、また、認証がどのくらい
密接にドメインに依存しているかを実証している。

シングルログオンのドメインに関連する別の機能として、SMB プロトコルを
使った遠隔管理がある。Windows NT の SAM とは異なるユーザ名データベース
をもとにしても、これを実装できないことはない。遠隔管理のプロトコルの
サポートは、Samba の将来のリリースで計画されている。

ドメイン機能のサポートは、Windows for Workgroup、Windows 95 のクライ
アントおよび Windows NT 4.0 と 3.51 で動作する。ただし NT 4.0 と NT
3.51 についてのドメイン機能のサポートは現在実験の初期段階である。
Windows OS/2 クライアントのサポートについては現在実装中であり、まだ実
験段階である。

プロファイルのサポートは、Windows 95、Windows NT 4.0 および 3.51 で
動作することが確認されている。現在は、プロファイルの場所、ログオン時に
実行されるスクリプトファイル、ユーザのホームディレクトリを設定すること
が可能であり、NT については、kick-off time (訳注: なんのことでしょうか)
も簡単にサポートすることができるだろう。

NT Workstation においては、これらすべての機能について NT 4.0 や NT
3.51 のサーバは不要である。Samba は、(例えば、"ドメインユーザマネージャ"
を使っても Samba が作成したドメインを表示することができないなどの)制
限付きで実験段階ではあるが、現在 NT サーバによって提供されるログオン
サービスを置き換えることが可能である。

Windows 95 においては、プロファイルの保存と、ユーザ認証の両方につい
て NT サーバのメリットが得られる(訳注: この部分の訳は、根本的に違っ
ているかもしれない)。ユーザ認証についての詳細は、security_level.txt を
参照のこと。プロファイルの保存についての詳細は以下を参照のこと。

これらの機能を使うには、クライアントが Samba に対してログオン認証
を行なうように設定する必要がある。同様に、ネットワークにログオンした時
に、バッチファイルを実行し、お気に入りの設定や、デスクトップ、スタート
メニューなどの設定をダウンロードするように設定する必要がある。


設定の手引き: ネットワークログオン
==================================

ドメインへのログオンとプロファイルを用いるためには、以下の手順を行な
うこと

1) smb.conf を編集して、Samba がマスタブラウザとして機能するように
  nmbd と smb を設定する。詳細は _INSTALL.txt と BROWSING.txt を
  参照のこと。

2) WINS サーバを設定し(NetBIOS.txt を参照のこと)、すべてのクライアント
  が WINS を用いるように設定する。

3) [netlogon] という共有を smb.conf 中に作成する。この共有はすべてのク
  ライアントから読み込み可能である必要があり、おそらく書き込み不能であ
  るべきだろう。この共有には、ネットワークログオンスクリプトと
  CONFIG.POL ファイルがおかれる。(CONFIG.POL ファイルをどう使うべきか、
  そもそもこれは何かなどのの詳細は、Microsoft の Windows NT 管理に関す
  るドキュメントを参照のこと。このファイルのフォーマットは不明である。
  従って、Microsoft のツールを使うことになるだろう。)

私が使っているものは

   [netlogon]
    path = /data/dos/netlogon
    writeable = no
    guest ok = no

この共有は、一般ユーザからは書き込み禁止になっていることに注意。セキュア
な環境において、別のユーザのコンピュータがログイン時にダウンロードする
ファイルを一般ユーザが修正したり追加したりすることは許可すべきではない。

4) smb.conf の [global] セクションに以下を追加する。

   domain logons = yes
   logon script = %U.bat

バッチファイルの記述形式は、もちろん好きにできる。上記は %U が個々
のユーザ名に自動的に変換されるため、ユーザ毎に別のバッチファイルを提供
することになる。その他の標準的なマクロも利用可能である。以下のように記
述することでサブディレクトリにバッチファイルを置くことも可能である。

   logon script = scripts\%U.bat

5) ユーザがログインした時に実行するバッチファイルを作成する。バッチファ
  イルが存在しない場合、バッチファイルは実行されない。

バッチファイルにおいては DOS 形式の CR/LF の改行コードを使うことに注
意すること。もしこれを怠ると、DOS は正しく解釈できないかも知れない。
UNIX 環境で、DOS 形式のファイルを作成する方法がわからないのであれば、
DOS のエディタを使って、リモートからファイルを編集することを推奨する。

6) smbclient を -U オプションで実行し、\\server\NETLOGON 共有が利用可
 能であり、バッチファイルが見え、ユーザから読み込み可能であることを確
 認する。

7) ログオン時にクライアントが自動的に \\SERVER\NETLOGON 共有を Z ドラ
  イブとしてマウントするだろう。バッチファイルから実行させるために、有
  用なプログラムをそこに置いておくことができる。

注意: ドメインログオンが正しく動作するには、security = user か
security = server に設定されている必要がある。共有レベルのセキュリティ
では正しく動作しないだろう。


設定の手引き: 移動ユーザプロファイルの設定
==========================================

smb.conf の [global] セクション中に(たとえば)以下のように設定すること:

  logon path = \\profileserver\profileshare\profilepath\%U\moreprofilepath

このオプションのデフォルトは、\\%N\%U\profile 、すなわち
\\sambaserver\username\profile である。\\%N\%U サービスは、[homes] サー
ビスによって自動的に作成される。

プロファイル用に Samba を利用する場合、logon path で指定した共有は、
*必ず* ブラウズ可能 (browseable = yes) にしておくこと。Windows 95 は、
logon path オプションで指定された共有に素直に接続せずに、共有とその中の
サブディレクトリが見えるかどうかをチェックしているようだ。また、指定
されたフルパスにプロファイルを作成しようとする。もし何らかの作成が
失敗するか、パスが見つからなかった場合、プロファイルの作成や読み込みは
失敗する。

[lkcl 1996年8月26日 - Windows クライアントが各ログオンをまたいで
[homes] 共有への接続を維持してしまう問題があることを発見した。そのため、
[homes] 共有は、プロファイルパスに使用しては*いけない*。]


Windows 95
----------

ユーザが最初に Windows 95 にログオンすると、user.DAT というファイル
が作成され、"スタートメニュー"、"デスクトップ"、"プログラム"、"ネット
ワークコンピュータ" というフォルダも同様に作成される。これらのディレク
トリとその内容は、以降のログオンする度に c:\windows\profiles\username
に保存されているローカルな情報とマージされて、各々のファイルについて、
より新しい方の内容が残される。なおプロファイルフォルダに置かれたショー
トカットの大文字を維持するために、[global] セクションには、preserve
case = yes と short preserve case = yes が必要になるだろう。

user.DAT ファイルはユーザの設定がすべてが含まれている。もしこの設定
を強制したいのであれば、ファイル名を user.MAN に変更して、ファイルの書
き込みアクセスを拒否すること。

2) Windows 95 マシン上で [コントロールパネル] - [パスワード] を開き、
  "ユーザ別の設定" タブを選択する。"ユーザ別の設定" を適宜設定する。
  設定後に OK ボタンを押すが、まだリブートしないこと。

3) Windows 95 マシン上で [コントロールパネル] - [ネットワーク] - [
   Microsoft ネットワーククライアント] を開き、"Windows NT のドメイン
   にログオンする" をチェックする。また "優先的にログオンするネットワー
   ク" は "Microsoft ネットワーククライアント" にしなければならない。
   OK を押して、ここでそのままコンピュータをリブートさせること。

Windows 95 においては、プロファイルは "優先的にログオンするネットワー
ク" からダウンロードされる。"優先的にログオンするネットワーク" を
"Novell Netware クライアント" にしていると、プロファイルとログオンスク
リプトは、Novell サーバからダウンロードされる。"優先的にログオンするネッ
トワーク" を "Windows ログオン" にしていると、プロファイルはローカルマ
シンから読み込まれる。これは移動プロファイルの概念と矛盾する。

上記の設定を行なうと、"Microsoft ネットワークログイン" のボックスが、
[ユーザ名、パスワード] ではなく、[ユーザ名、パスワード、ドメイン] と表
示されるようになる。Samba サーバのドメイン名とユーザ名およびパスワード
を入力する。(ここで他の存在するドメイン名を入力してもよい。ここで入力
したドメインで認証され、ログオンサーバが提供していれば、プロファイルが
ダウンロードされることに注意すること。)

ユーザが正常に認証されると、Windows 95 マシンは "このコンピュータに
初めてログオンするユーザです" と表示し、"ユーザ個別の設定をこのコンピュー
タに保存しますか" と聞いてくる。"はい" を選択すること。

Windows 95 クライアントのデスクトップが表示されたら、Samba サーバの
"logon path" で指定したディレクトリに "デスクトップ"、"スタートメニュー"
"プログラム" および "Nethood" フォルダが作成されていることを確認できる。

これらのフォルダはクライアントのローカルディスクにキャッシュされてお
り、ユーザがログオフした時に更新される。(もちろん読み込み専用にしてい
なかった場合である) ユーザが自分でフォルダやショートカットを作成してい
た場合、クライアントはローカルディスクに存在するプロファイルディレクト
リの内容と、ダウンロードしてきたプロファイルの内容とをマージし、各々新
しい方のフォルダやショートカットの内容を残すのが確認できる。

Samba サーバ上に読み込み専用のファイルやフォルダを作っていた場合、
Windows 95 マシンにログオンやログオフを行なう度に行なう、ローカルなプ
ロファイルとリモートのプロファイルのマージ作業でエラーが発生する。基本
的に Windows 95 マシンがエラーを報告したら、Samba サーバ上のプロファイ
ルディレクトリのファイルに対する UNIX のファイルアクセス権や、所有者の
権限をチェックすること。

もしユーザプロファイルの作成時に問題が発生したら、ユーザのローカルな
デスクトップのキャッシュを以下に示すようにして初期化できる。ユーザが次
にログオンする時には、"初めてのログオン" であるといわれるだろう。

1) [ユーザ、パスワード、ドメイン] ダイアログボックスで、ログオンを行な
  わず、エスケープキーを押す。

2) rededit.exe を実行して、以下のキーを見つける。

     HKEY_LOCAL_MACHINE\Windows\CurrentVersion\ProfileList
    (訳注: Windows 98 では
     HKLM\Software\Microsoft\Windows\CurrentVersion\ProfileList)
    
  各々のユーザの ProfilePath (Windows 98 では ProfileImagePath) のエン
  トリがある。このキーの値 (c:\windows\profiles\usrname のようになって
  いる)に着目し、問題のユーザの ProfilePath のキーを削除する。

  [レジストリエディタを終了する]

3) 警告 - ProfilePath で表示されているディレクトリ(これは
  c:\windows\profiles\username のようなパスになっている)の内容を消す前
  に、デスクトップやスタートメニューに重要なファイルを置いていないこと
  を確認しよう。その後 ProfilePath ディレクトリの内容を削除する。(必要
  なファイルがあれば、バックアップをとっておくこと)

  これは、ローカルな "デスクトップ"、"nethood"、"スタートメニュー"、
 "プログラム" フォルダと同様に、プロファイルのディレクトリ中にある(読
  み込み専用、隠しファイル、システムファイルの) ローカルな user.DAT を
  削除するという効果がある。

4) c:\windows ディレクトリにある パスワードキャッシュファイルである、
  該当ユーザの .PWL ファイルを探して削除する。

5) Windows 95 クライアントからログオフする。

6) プロファイルパスの設定をチェックして、(前述の "logon path" を参照の
  こと) 該当ユーザの user.DAT もしくは user.MAN ファイルを削除する。必
  要であれば、バックアップをとること。

もし何らかの失敗が発生する場合は、samba のデバッグログのレベルを 3
から 10 の間で増加させるか、同時に tcpdump や netmon.exe のようなパケッ
トトレースプログラムを実行させて、エラーの箇所を探すこと。

NT サーバにアクセスした場合、最初に移動プロファイルが作成されるとと
もに NT サーバにネットワークログオンが行なわれる。パケットトレースを行
ない、NT サーバにアクセスした時のパケットトレースのサンプルと比較し、
何か違いがないかを確認すること。

Windows NT Workstation 4.0
--------------------------

ユーザが Windows NT Workstation に始めてログオンすると、プロファイル
である NTuser.DAT が作成される。プロファイルの場所は、Windows 95 と全
く同様に "logon path" パラメータで指定できる。[lkcl 97年8月10日 - 私は
\\samba-server\homes\profile というパスを設定していて、バックグラウン
ドのプロセスが、[homes]共有への接続をユーザがログインしていない間もク
ローズせずに保持しているため、上記の設定が失敗することを発見した。
ユーザのホームディレクトリを [homes] 共有で指定している場合は、
\\samba-server\%L\profile のように指定しなければならない。]

NT のプロファイルで有効になるパラメータとして "logon drive" がある。
これは h: もしくは他のドライブに設定でき、"logon home" パラメータとと
もに用いられる。

NT 4.0 のプロファイルのエントリはディレクトリであって、ファイルでは
ない。NT のプロファイルに関するヘルプを見ると、.PDS という拡張子を持つ
ディレクトリが作成されるとある。ユーザがログオンしている間、プロファイ
ルパスへの書き込み権限が必要である。(.PDS 拡張子のついたフォルダ)

[lkcl 97年8月10日 - 私は .PDS ディレクトリの作成が失敗し、ユーザ毎に個
別にシェルスクリプトを使って、手作業で作成するしかないという状況に遭遇
した。試験した訳ではないが、プロファイルのフルパスは、Windows 95 の場
合と同様に、browseable である必要があるようだ。これはプロファイルのフ
ルパスの作成を試み、存在を確認してから各々のプロファイルの内容を作成す
ると言う方式に起因する。(訳注: ここらへんの訳はちょっといい加減であり、
厳密には誤っている可能性がある)

プロファイルディレクトリの下に、NT は 95 よりも多くのフォルダを作成
する。"デスクトップ"、"Nethood"、"スタートメニュ"、"プログラム" と同様
に "Application Data" なども作成されるのである。プロファイル自身は
NTuser.DAT というファイルに格納される。.PDS ディレクトリの中にはなにも
格納されず、このディレクトリの目的は現在は不明である。

ローカルプロファイルを samba サーバにコピーするのに、コントロールパ
ネルを使うことができる。(NT のプロファイルに関するヘルプを参照のこと。
そこには、システムのコントロールパネルの該当箇所を指示する機能も備わっ
ている) NT のヘルプでは、NTuser.DAT を NTuser.MAN にりネームすることで、
プロファイルを固定にできるという記述もある。

[lkcl 97年8月10日 - NT Workstation がプロファイルを遅い回線経由でダウ
ンロードしていると報告していることに気づいた。これが実際そうであるか、
単なる設定の問題で、不明な理由により、NT Workstation に回線が細いと判
断させてしまうものなのかに関わらず、これは解決すべき問題である。

[lkcl 97年8月20日 - samba のダイジェスト通信の後で、プロファイルは、
"security = user" で "encrypt passwords = yes" (ENCRYPTION.txt を参照)か、
"security = server" で "password server = NTサーバのIPアドレス" 以外の
時は、ダウンロードできないということをあるユーザが発見し、別のユーザに
よっても確認された。これらのオプションは、NT ワークステーションが、
samba サーバに LAN Manager の暗号化パスワードを用いて接続することを可
能にする設定であるが、特に設定しなければ通常は NT  ワークステーション
はクリアテキストパスワードの使用を要求する。]

[lkcl 97年8月25日 - NT のプロファイルについては、多くのコメントを受け
とっている。プロファイルの大文字小文字の区別は重要である。ファイル名は
NTuser.DAT でなければならない。また固定プロファイルの場合は、
NTuser.MAN でなければならない。]


Windows NT Server (訳注: ドメイン構成の場合)
-----------------
ユーザプロファイルの保存場所には、好きなパスを指定することが可能である。
それゆえ、暗号化パスワードをサポートしているのであれば、samba や他の
SMB サーバ上にプロファイルを保存するように指定することが可能である。


Windows 95 と NT Workstation 4.0 でのプロファイルの共有
---------------------------------------------------
デフォルトのログオンパスは \\%N\%U である。NT Workstation は、NT のユー
ザマネージャでログオンパスを \\samba-server\username に指定していれば、
\\samba-server\username.PDS というディレクトリを作成しようとする。
そのため、(例えば) \\samba-server\username\profile のようなパスを指定
する必要があるだろう。この場合、NT 4.0 は
\\samba-server\username\profile.PDS というディレクトリを作成しようとす
る。これは普通成功するだろう。

スタートメニューやデスクトップを Windows 95 と共有したいのであれば、
logon path - \\samba-server\username\profile のように指定する必要があ
る。[lkcl 97年8月10日 - これには問題がある。c:\winnt\system32 をワーキ
ングディレクトリとして実行する telnet.exe へのショートカットを作成した
が、このディレクトリは、Windows 95 のみのホストでは、明らかに存在しな
いであろう。]

この設定がうまく行けば、同じプロファイルのディレクトリに、user.DAT と
NTuser.DAT が存在することになる。

[lkcl 97年8月25日 - NT のプロファイルのダウンロードについて、解決すべ
き問題がある。それはおそらくタイムスタンプと関係がある。ワークステーショ
ン上の NTuser.DAT は、最初にローカルなワークステーションのプロファイル
ディレクトリにコピーされてから、全く更新されない。これは、正しくプロファ
イルの更新や転送が行なわれる Windows 95 とは対象的である。]

訳注: 「lkcl」の節は、Samba Term の一人、Luke Kenneth Casson Leighton 氏
による加筆である。