システム奮闘記:その91

SambaでPDC設定



Tweet
(2011年3月13日に掲載)

はじめに  2004年、Sambaを使ってWINSサーバーやPDCコントローラーを構築したり ファイルサーバーを構築した。
2004年にSambaを使って構築した話
(1) SambaでWINSサーバーとマスターブラウザー、PDCコントローラー
(2) Sambaでファイルサーバーの構築

 本の丸写しの設定だったのだが、それでも支障がなかったので
そのまま

 Sambaを放置!!

 だった。


 だが、2009年に仮想化ソフトVMwareESXiを導入した時
Sambaを仮想化環境で構築するため、既存のSambaサーバーの
データを引越しさせる事になった。

 Sambaの設定は、前回と同じにすれば良いと安直に考えていたが

 秘密の花園が設定できへん (--;;

 だった。

秘密の花園とは
Sambaでは共有フォルダー以外に、個別のユーザー専用の
フォルダーを設ける事ができる。他人には見れないため
「秘密の花園」と呼んでいる。(あくまでも、うちの会社のみ)

 原因がわからず・・・

 なんでやねん (TT)

 だった。

 のんびりSambaの本を読んでいる余裕はなかったので
忍法「先送りの術」と忍法「ごまかしの術」を使う事にした。

各人のフォルダーにアクセス制限を設けない
[dsp0133]
   map to guest = Bad User
   comment = DSP0133
   browseable = no
   path = /home/dsp0133
   valid users = dsp0133 nobody
   public = no
   writable = yes
   printable = no
   guest ok = yes
赤い部分はLinuxマシンに登録されていないユーザーは
全てゲストユーザーに置き換える設定

青い部分はブラウザに表示させないようにする設定。

桃色はゲストの接続許可の設定。

そして各人のパソコンには、該当のフォルダーの
ショートカットを作って、見せかけだけの
秘密の花園を作ったのだ。

当時、本の丸写しで適当に行なったのだが
まともな(?)設定になっている。

 ちょっと細工したら、簡単に他人のフォルダーが覗けるので
セキュリティー上、良くないが、うちの会社では
これでも大丈夫なのだ。なので・・・

 これで良いのだ (^^)

 と開き直ってバカボンのパパの台詞を言う私だった。


 ところで、仮想化ソフトのVMwareESXiについては
「システム奮闘記:その77」(VMwareESXiインストールと設定入門)
をご覧ください。


重い腰をあげる  2009年から、仮想化ソフトの導入のお蔭で仮想環境での Linuxサーバーが増える。  LDAPを使ったら、アカウントの一元管理ができる事を知る。
LDAPサーバーでLinuxユーザーアカウントを一元管理
LDAPサーバーでLinuxのユーザーアカウントを一元管理
OpenLDAPを使ってLDAPサーバーを構築すると、複数のLinuxマシンの
ユーザーアカウントを一元管理できるため、パスワードの変更があっても
1ヶ所変えるだけで良いので便利だ。

もし、バラバラにユーザーアカウントを管理していると、全てのマシンに
変更処理が必要な上、変更忘れが起こると整合性が取れなくなるのだ。

 OpenLDAPについては詳しくは「システム奮闘記:その90」
(LDAP入門 OpenLDAPのインストールと設定)をご覧ください。

 同様に、Windowsパソコンの台数も年々増えている。
 そこで、Linuxと同様、Windowsのユーザーアカウントも
OpenLDAPを使って、一元管理できないかと考えた。

Windowsのユーザーアカウントを
OpenLDAPサーバーで一元管理はできないのか?
LDAPサーバーでWindowsのユーザーアカウントを一元管理できないのか?
個々のWindows端末にユーザーアカウント情報を登録するのではなく
上図のように、LDAPサーバーに保管する方式ができないかと思ってみた。

 OpenLDAPを使ってユーザーアカウントを一元管理する事を考えた。
 だが、Windowsのユーザーアカウント管理を行なうには・・・

 Sambaが必須なのらー!!

 を知った。

Windowsのユーザーアカウントを
OpenLDAPサーバーで一元管理するためには
LDAPサーバーでWindowsのユーザーアカウントを一元管理する方法
OepnLDAPを使ってWindowsのユーザーアカウントの一元管理を行なうには
途中で、Sambaサーバーを中継する必要があります。
Sambaを使い、NTドメインとPDCの構築が必要になる。

他にも有償ソフトを使えば、LDAPでWindowsのユーザーアカウントの
一元管理ができるらしいが、私は知らないので何とも言えない・・・。

 Samba + OpenLDAPのネタが書ける!

 と思った。

 だが、いきなりSamba+OpenLDAPを設定しようとしても

 ホップ・ステップ・肉離れ (--;;;

 になってしまう。

 そこで、Sambaを使ってPDCの構築から考えた。

SambaでPDCを構築して
Windowsのユーザーアカウントを一元管理
SambaでPDCを構築してWindowsのユーザーアカウントを一元管理
Samba + OpenLDAPの一歩手前の段階として
SambaでPDCを構築して、Windowsのユーザーアカウントの
一元管理できる事を目指す事にした。

 長い前置きになりましたが、要するに、Samba +OpenLDAPを
いきなり構築するのではなく、まずはSambaでPDCの設定方法を
習得する事から始めたのだ。


Samba入門

 いきなりPDCの構築する前にSambaについて勉強する事にした。  本の丸写しで設定して、ドツボにハマっては大変だからだ。  そこで以下の本を取り出す。  『サーバ構築の実例がわかる Samba「実践」入門』(高橋基信:技術評論社)

Sambaユーザーとは

 まずはLinux(UNIX)ユーザーとSambaユーザーという概念がある事を知る。  Samba独自にユーザーアカウントを持ち、ユーザー管理しているのだ。  それについて書きます。  WindowsがSambaに接続する際の認証の仕組みなのだが 以下の図のような方法ではないのだ。
こんな仕組みではない
こんな認証は行なわない
Windows側からSambaに接続する場合、Windows側から
ユーザーIDと暗号化パスワードをSambaに送信して
Sambaサーバーに登録されているユーザーIDと暗号化パスワードを
突き合わせて認証をすると思いたくなるが、そうではないのだ。

 上のような仕組みにならないのはWindowsのパスワードの暗号化と
Linux側のパスワードの暗号化の方法が異なるため
/etc/shadowに格納されている暗号化パスワードが活用できないからだ。

 そこで以下の仕組みをとっている。

Sambaのユーザー認証の概略
Sambaのユーザー認証の概略
Linuxのユーザーとは独立した形で、Samba独自でユーザー管理をしている。
Sambaの独自データベースに、Windowsの方法で暗号化したパスワードを
保管しているのだ。

WindowsがSambaサーバーへ接続認証する際、/etc/passwdファイルを使って
該当のユーザーの有無の確認だけ行なわれる。
登録されているユーザーであれば、Sambaユーザーのデータベースを見に行き
暗号化パスワードの突き合わせを行なうのだ。

 この事を知った時、2004年にSambaでファイルサーバーと
簡単にPDCを構築した時に、放置したままの謎が解けた。
 その時の謎とは、Linuxの/etc/passwdにユーザー登録しているのに
わざわざ・・・

 smbpasswdでユーザー登録するねん!!

 だった。

 でも、今回、Sambaを触って、パスワードの暗号化の違いによって
Linuxのデータベースが使えないので、Sambaユーザーという
独立したデータベースを設けて、Windowsの暗号化パスワードを
管理していたのだ。

 6年以上の時を経て謎が解けたのだ (^^)

 smbpasswdコマンドでSambaユーザーを登録する理由を調べず
放置している様子については「システム奮闘記:その28」
(Sambaでマスターブラウザ、WINSサーバー構築)をご覧ください。

パスワード格納のデータベース

 Sambaは独自ユーザー管理をしていて、暗号化パスワードは データベースに格納している。  データベースだが、4種類あるのを知る。
Sambaユーザーを管理するデータベース
smbpasswd smbpasswdファイル
以前のSambaで使われたデータベース形式
ただ、基本的な情報しか登録する事ができないため
現在では、あまり使われなくなった。
tdbsam TDBファイル
拡張型データベースで、これが主流になっている。
ldapsam LDAPディレクトリ
LDAPと連動させる時に使われる。
拡張型データベースでLDAPと連動の場合の
主流になっている。
ldapsam_compat LDAPディレクトリ(Samba2.2系列互換)
LDAPと連動させる時に使われる。
Samba2.2系列互換で基本情報しか登録できない。

 2004年にSambaを導入した時、Samba2.2系を使っていた。
 smbpasswdファイルが主流だったようだ。

 でも、今ではTDBを使うのが主流だ。

 ちなみにSambaの初期設定ではSamba3.4以降ではTDBになっているので
TDBを使うのが無難だろう。

セクション

 Sambaの設定ファイルのsmb.confに関する話だ。  設定を行なう上で大事な概念  セクション  がある。  2004年にSambaの設定を行なった時、素通りに近い感じだったので 復習をする事にした。  セクションの綴りは「section」なのだ。  「章」と訳したら、いささか違和感があるものの 部門とか班といった各部分の意味合いなのだ。  Sambaでのセクションの意味は各設定の単位になる。  どういう事かを、図式化すると、以下のようになる。
設定ファイル(smb.conf)

[global] 共通パラメーターの設定

[printers] プリンタ関連の設定

[home] ファイル共有に関するの設定

枠で囲んだのがセクションなのだ。
設定分野別に分割し、個別に設定を行なう形になっている。
[global]の部分が共通部分になる。

 要するに、セクションとは、個々の役割の区分けであり
Sambaでは、個々の役割別に設定を行なうという事なのだ。

NTドメインとワークグループ

 ワークグループとNTドメインの違いなのだが  何が違うのか、わからへん (^^;;  だった。  なので調べてみる事にした。
ワークグループとNTドメインの違い
NT
ドメイン
NT系のネットワークで、1グループのコンピューターの範囲。
共通したユーザーアカウントとセキュリティー方針を持っている。
ワーク
グループ
NTドメインを小規模にした物。
ファイルとプリンタの共有ぐらいで
認証などの共有管理は不可能

 同じグループ分けでも、ワークグループの方は
単なるグループ名をつけた程度の物だが、NTドメインになると
共通認証が行なえたりするのだ。
 NTドメインの方がセキュリティーの度合などが、
より強くなっているのだ。

 ところで・・・

 ドメインの意味は?

 と思ってしまった。

 そこで辞書を調べてみる事にした。

ドメインの意味
ドメインとは英語の綴りでは「domain」の事だ
辞書の意味では「領地」、「領域」、「分野」の意味がある
特定の範囲を示す意味を持つ言葉なのだ。

NTドメインとは、WindowsNTで組んだネットワークの領域で
その領域内のパソコンのみが使える資源やサービスと考えれば
見通しが良くなるのだ。

 今回は、Sambaで疑似NTドメインを構築するのだ。

 NTドメインとSambaで構築する疑似NTドメインは
類似性は高いが完全に同じ物でないため区別する意味で

 Sambaドメイン

 と呼ぶ事もある。

SambaでPDC構築

 SambaでPDCの構築を行なう事にした。

Sambaのインストール:RPM編

 CentOS5.4を使っているため、RPMさえあれば簡単にインストールできる。  なので、早速インストールするが
いきなりコケる
[root@pdc]# rpm -ihv samba-3.0.33-3.14.el5.i386.rpm
警告: samba-3.0.33-3.14.el5.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID e8562897
エラー: 依存性の欠如:
        perl(Convert::ASN1) は samba-3.0.33-3.14.el5.i386 に必要とされています
[root@pdc]# 
Sambaのバージョンを見ると「3.0.33」なので古い事がわかる。
PDCを構築した場合、Windows7との相性で合わないので
今では使えないバージョンになる。詳しくは後述しています。

 でも、この程度は何とも思わないので、ライブラリをインストールする。

気を取りなおしてSambaのインストール
[root@pdc]# rpm -ihv perl-Convert-ASN1-0.20-1.1.noarch.rpm 
警告: perl-Convert-ASN1-0.20-1.1.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID e8562897
準備中...                ########################################### [100%]
   1:perl-Convert-ASN1      ########################################### [100%]
[root@pdc]# 
[root@pdc]# rpm -ihv samba-3.0.33-3.14.el5.i386.rpm 
警告: samba-3.0.33-3.14.el5.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID e8562897
準備中...                ########################################### [100%]
   1:samba                  ########################################### [100%]
[root@pdc]# 
軽く問題を乗り越える。
でも、あくまでも序曲であって、この先、苦難が来るとは
この時は知る由もなかった (^^;;

 早速、本の丸写しでPDCの構築をする。
 詳しい設定方法は後から勉強して、とりあえずは
「システム奮闘記:その28」(Sambaでマスターブラウザ、WINSサーバー構築)を
真似して設定を行なってみる事にした。

 設定内容については詳しくは後述しています。

 まずはデーモンを起動させる。

デーモンの起動
[root@pdc]# /etc/rc.d/init.d/smb start
SMB サービスを起動中:                                      [  OK  ]
NMB サービスを起動中:                                      [  OK  ]
[root@pdc]#

 次に、Sambaを動かしているのLinuxマシンにユーザーを登録する。

Linuxマシンにユーザー名とパスワードの登録
[root@pdc]# useradd user01
[root@pdc]# 
まずはLinuxマシンのユーザーアカウントを登録する。
Linuxにログインしない限り、特にパスワードを設ける必要もない。

 そしてSambaのユーザー名とパスワードの登録を行なう。

Sambaのユーザー名とパスワードの登録
[root@pdc]# smbpasswd -U user01
New SMB password:
Retype new SMB password:
[root@pdc]# 
この時のSambaの認証データベースは古い方の
smbpasswdファイルを使った。

(注意)
この時は、無我夢中でやっていたため
データベースの種類に気に掛けていませんでしたが
実際に認証データベースを作る時は
smbpasswdを使うのはお薦めしません (^^;;

 これで準備は整ったと思った。
 そして、WindowsXPマシンをドメイン参加させるのだが・・・

 認証すらさせてもらえへん (TT)

 原因がわからないだけに頭が痛い・・・。

 「システム奮闘記:その28」(Sambaでマスターブラウザ、WINSサーバー構築)では

 設定内容の詳しい説明が書かれてへん (--;;

 書いたのは私自身なので、文句の言いようがない。
 6年以上前に書いたものだ。当時は、本の内容を理解できるだけの
実力なんぞなかったので、概略しか書いていなかった。

 つまり・・・

 自分のサイトが備忘録にすらなってへん!!

 そこで思った。
 接続するクライアント

 そこで、sambaの設定ファイルのsmb.confを書き換える事にした。

smb.confの書き換え
書き換え前
;	hosts allow = 127. 192.168.1. 192.168.13.
書き換え後
	hosts allow = 127. 192.168.X.
自分自身と、192.168.X.の範囲のIPアドレスを持ったホストからの
接続を許可する設定にした。
基本的な部分なのだが、見落としていた。

 そしてドメイン参加に挑戦してみる。
 接続拒否はなくなったのだが・・・

 ドメイン参加を拒否される!! (TT)

 こんな時は、ネット検索して、人の設定例を真似する事が一番なのだ。
 そこで以下のサイトを見たりした。
 PDCなsamba設定!


 もちろん、設定の意味は理解できなかったのだが、ここは適当に触った。


 まずはコンピューター名の登録を行なった。

コンピューター名の登録
[root@pdc]# /usr/sbin/useradd client$
[root@pdc]# smbpasswd -a -m client$
Added user client$.
[root@pdc]# 
UNIXユーザーと、Sambaユーザーにコンピューター名の「client」を登録。
なぜかコンピューター名の後ろに「$」を付ける。

 なぜ、コンピューター名をユーザー登録をするのか
全く知らなかったのだが、サイトの丸写しで登録した。
 なぜ登録するかについては後述しています。

 そしてLinuxユーザーとSambaユーザー登録に、
管理者ユーザー「administrator」の登録も行なった。

管理者ユーザーの登録
[root@pdc]# /usr/sbin/useradd administrator
[root@pdc]# smbpasswd -a administrator
New SMB password:
Retype new SMB password:
Added user administrator.
[root@pdc]# 
管理者ユーザーIDの「administrator」をLinuxユーザー登録と
Sambaユーザー登録を行なった。

 そして、色々、触っている間に、なんとか・・・・

 WindowsXPをドメイン参加できた!!

 だった。

ドメイン参加に成功した画面
ドメイン参加に成功した画面
WindowsXPで、ドメイン参加ができた様子。

 でも、突貫工事で成功した物の、PDCの設定方法を理解したわけではない。
そこでSambaの設定について、整理していく事にした。

WinNT系をドメイン参加のための必要な事

 でも、このままだと再びWindowsXPをドメインに参加するための設定を Sambaに施したくても、正しい設定法や知識がないため 同じ事の繰り返しになる。  そこでSambaの本を取り出して勉強して、知識の整理を行なう事にした。  Windows9xをドメインに参加させる場合と、WindowsNT/2000/XP/Vista/7を ドメインに参加させる場合では設定が異なる事を知った。  まずはドメイン参加のための接続認証の違いを見てみる。
win9x系の場合
win9xの場合の接続認証の仕組み
Win9x系がドメインに参加する時の接続認証には
ユーザーIDとパスワードを使って認証を行なわれる。

 だが、WindowsNT系は少し異なる。

WindowsNT系 (NT/2000/XP/Vista/7等)
Win2000/XP/Vista/7のドメイン参加の接続認証
認証に必要な物が、ユーザーID、パスワード以外に
コンピューター名も加わる。

接続許可するコンピューターかどうかの確認のためだという。

 クライアントがWin9xのみの場合と、WinNT系がある場合とでは
Sambaの設定も異なってくる事がわかった。

PDC構築時に必要な設定
(1) コンピューター名をLinuxとSambaの両方に
ユーザー登録する事
(2) Samba側に管理者ユーザーとして
LinuxとSamba側にadministratorを登録する事


PDC構築に必要な設定項目

 Win9xとWinNT系での設定が異なる部分はわかった。  だが、SambaでPDC構築の際、クライアントの WindowsのOSの違いに関係なく必要な項目もある。  そこでSambaを勉強しながら、項目を見つけていく事にした。  Sambaをドメインコントローラーにするためには Samba自身が  俺はドメインコントローラーだ!  と主張させる必要がある。  そこで以下の設定を行なう必要がある。
設定ファイル(smb.conf)
	domain logons = yes
Sambaがドメインコントローラーにするための設定だ。
sambaが「俺がPDCだ」という宣言になる。

 もし、これが「Yes」となれば、以下の部分も必然的に
「Yes」の設定になる。

設定ファイル(smb.conf)
	domain master = auto
	preferred master = auto
「domain master」はドメインマスターになるかどうかの設定。
「preferred master」は優先マスターブラウザになるかどうかの設定

この2つの初期設定は「auto」で、自動判断になる。
なので「auto」にしておく。

「domain logons = yes」にする事によって
2つとも自動的に「Yes」(有効)になる。

ドメインコントローラーになると、必然的にドメインマスターと
優先マスターブラウザになる必要があるからだ。

 そして優先マスターブラウザになるからには
Samba自身、ブラウザの選定を行なう事を表明させる必要がある。

設定ファイル(smb.conf)
	local master = yes
ブラウザ選定を行なうためには「yes」にする。
ここの初期設定は「yes」なのだ。

 ブラウザ選定に必要なのは、強さの値だ。
 Sambaが「俺が優先マスターブラウザ」と主張するためには
以下の設定も必要になる。

設定ファイル(smb.conf)
	os level = 33
ブラウジング機能の優先度の指定する部分だ。
Windowsの場合「32」なので、Windowsよりも強くするため
「33」にして、事実上、Sambaをマスターブラウザーにする。

 そして、Samba自身がブラウザ選定に参加するかどうかの
設定も必要になるので、以下の設定も行なう。


 次にクライアントが認証するための、認証方式の設定だ。

設定ファイル(smb.conf)
	security = user
「user」はSamba独自の認証データベースを使うという意味だ。

今回の話では踏み込んでいませんが、OpenLDAPとの連動の場合
OpenLDAP内のデータベースを利用するのだが、「user」になる。

 securityパラメーターには、いくつかの設定がある。

securityパラメーターの値
share Samba独自のデータベースを使い
共有単位での認証を行なう。
user Samba独自のデータベースを使い
ユーザー単位での認証を行なう。
server 任意のSMBに認証を委託する。
任意のSMBは相手がWindowsでもSambaでも良い。
domain NTドメインに参加。
Samba自身では認証を行なわない。
ad ActiveDirectoryに参加。
Keroberos認証を使う。Samba自身では認証を行なわない。
ちなみに、samba3系ではADのコントローラーにはなれない。
samba4系からになる。

 SambaをPDCにする場合、ユーザー単位での認証になる上
Samba独自のデータベースを使うため、securityパラメーターは
必然的に「user」になるのだ。


 認証する際、暗号化パスワードを使うため以下の設定を行なう。

設定ファイル(smb.conf)
	encrypt passwords = yes
暗号化パスワードにするための設定だ。
初期設定では「yes」になっているので明示的に行なわなくても良い。
赤く「s」を強調したのは、綴り誤りが起こりやすい部分だ。
ここを単数形にしてしまいがちだが、正解は複数形の「s」が必要だ。

ここを「no」にすれば平文パスワードでも認証できるようになるが
絶対にお薦めできません。

 そして認証のためのデータベースの指定だが、これは説明しましたが
再度、書きます。TDBを使います。

設定ファイル(smb.conf)
	passdb backend = tdbsam
拡張型データベースのTDBを選びます。

 あと、Sambaに「administrator」を管理者ユーザーである事を
認識させるために、以下の設定が必要になる。

設定ファイル(smb.conf)
	admin users = administrator
「amin users」のパラメーターは、特定のユーザーに
root権限でのアクセスを認める設定だ。

この場合は、「administrator」のユーザ名を
root権限(Linuxの管理者権限)のアクセスを認める意味になる。

ちなみに、NT系ではadministratorが管理者のアカウントなのだ。



SambaでPDC構築の手順

 ここではCentOS5.4でRPMを使ってSambaをインストールした環境で 話をします。
CentOS5.4のSambaを使う際の注意点
CentOS5.4のCD/DVDに付属しているSambaのRPMファイルの場合
Windows7に対応していないため、異なるバージョンで
設定を行なう必要があります。
私の場合は、ソースコンパイルで対応しました。
ソースコンパイルの話は後述しています。


 さて、本の丸写しから脱却して、自力でSambaでPDCを
構築できる必要がある。

 Sambaユーザーにドメインに登録するコンピューター名の登録と
管理者ユーザーの登録を行なう必要がある。

 smbpasswdコマンドがあるが、これは拡張性がないので
Sambaユーザーの登録にはpdbeditコマンドを使う。

コンピューター名の登録
[root@pdc]# /usr/sbin/useradd client$
[root@pdc]# pdbedit -a -m -u client$
Unix username:        client$
NT username:          
Account Flags:        [W          ]
User SID:             S-1-5-21-210459926-4137304654-1939796370-2008
Primary Group SID:    S-1-5-21-210459926-4137304654-1939796370-513
Full Name:            
Home Directory:       
HomeDir Drive:        (null)
Logon Script:         
Profile Path:         
Domain:               EBISU
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    日, 06  2月 2011 19:15:15 JST
Password can change:  日, 06  2月 2011 19:15:15 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@pdc]# 
コンピューター名として、LinuxユーザーとSambaユーザーを登録した。
2つにユーザー名を登録するのは手間になる。
pdbeditコマンドだけでLinuxユーザーも登録できる方法があります。
詳細については後述しています。

 そしてLinuxユーザーとSambaユーザー登録に、
管理者ユーザー「administrator」の登録も行なった。

管理者ユーザーの登録
[root@pdc]# /usr/sbin/useradd administrator
[root@pdc]# pdbedit -a -u administrator
new password:
retype new password:
Unix username:        administrator
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-210459926-4137304654-1939796370-2004
Primary Group SID:    S-1-5-21-210459926-4137304654-1939796370-513
Full Name:            
Home Directory:       \\pdc\administrator
HomeDir Drive:        
Logon Script:         
Profile Path:         
Domain:               EBISU
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    日, 06  2月 2011 19:23:14 JST
Password can change:  日, 06  2月 2011 19:23:14 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@pdc]# 
管理者ユーザーIDの「administrator」をLinuxユーザー登録と
Sambaユーザー登録を行なった。

 ドメインに参加するコンピューター名と、管理者ユーザー登録を行なった。


 次にSambaの設定ファイルのsmb.confの記述だ。

PDC構築のための記述 (smb.conf)
[global]

   dos charset = CP932
   unix charset = UTF-8

   netbios name = HIROTA
   workgroup = EBISU

   security = user
   passdb backend = tdbsam
   encrypt passwords = yes

   os level = 33

   domain master = yes 

   local master = yes
   preferred master = yes

   domain logons = yes

   wins server = <WINSサーバーのIP>

   admin users = administrator
PDCを構築するのに最低限必要な設定だ。
WINSで名前解決し、かつ自分自身が
プライマリマスターブラウザである事が望ましい。

 一通りの設定が終わったので、WindowsXPを使って
ドメインの参加を行なってみる。

システムのプロパティーの画面
システムのプロパティーの画面
赤く囲んだ変更ボタンを押す。

 ドメイン名の記述を行なう。

コンピューター名変更の画面
コンピューター名変更の画面
赤く囲んだ部分でドメイン名を記述する。
ここでは「EBISU」を記述し、「OK」ボタンを押す。

 すると認証画面が出てくる。

ドメイン参加のための認証
ドメイン参加のための認証画面
ユーザーIDとパスワードの入力を行なう。

 早速、ドメイン参加をしてみるのだが・・・

 認証拒否された!!

 だった。

認証拒否画面
アクセス拒否の画面
接続拒否をされてしまった。

 この時、なぜ、このエラーが出てのか、わからなかった。
 適当に触っていると、問題が解決した。

上のエラーの原因について
名前解決ができてない時に出るエラーだというのが
後になって、わかった。

だが、その原因がDNSに登録されていなかったのか
それともマスターブラウザにクライアントの
コンピューター名が登録されていなかったのかは
今となってはわからない。

何度か、このエラーの再現を試みたが出てこないため
なぜ、エラーが出たのか、不明としか言えないのだ。

 さて、気を取り直して、再度、ドメイン参加を行なってみる。

ドメイン参加のための認証
ドメイン参加のための認証画面
ユーザーIDとパスワードの入力を行なう。

 だが・・・

 認証拒否された!!

認証拒否画面
アクセス拒否の画面
接続拒否をされてしまった。

 なぜ認証ができなかったのか、わからなかった。
 だが、色々なサイトを見て気がついた。

 管理者IDで認証してへん・・・ (--;;

 私の「suga」のIDでドメイン参加をしようとしたため
拒否されていたのだ。

 そこで管理者IDのadministratorで認証を行なってみる事にした。

管理者でドメイン参加の認証画面
ドメイン参加の認証画面
管理者IDのadministratorで認証を行なってみる事にした。

 すると・・・

 ドメイン参加に成功したのだ!!


ドメイン参加に成功した画面
ドメイン参加に成功した画面
これでドメイン参加ができた。

 そしてドメイン参加を反映させるため、再起動を行なう。

再起動を促す画面
再起動を促す画面


 再起動をしたらログオン画面ではなく

 始めてみる画面!

 が出てきたのだ。

WindowsXPを起動したら出てきた画面
WindowsXPを起動したら出てきた画面
拡大図
拡大図
「ctrl」+「alt」+「delete」を同時に押す。

 するとログオン画面が出てきた。

ログオン画面
ログオン画面
ユーザー名、パスワード、ドメイン名を入力する。

 WindiowsXPの画面が出てきた。

ログオンした画面
ログオンした画面

 ログオンした際、デスクトップのファイルは、Samba上に置かれるようになる。
 各ユーザーの設置ファイルもSamba上の各ユーザーの領域にに置かれるため
個別の設定が可能になる。
 それを実現させているのが移動プロファイルです!

 移動プロファイルに関しては後述しています。


ソースコンパイルでSambaのインストール

 さて、RPMを使ってSambaをインストールすると非常に楽なのだが CentOS5.4の場合だと問題もある。  Windows7の場合、Sambaドメインに参加するには  Samba3.3.1以降からなのらー!!  ここで厄介な問題が起こる。  CentOS5.4の場合、Sambaのバージョンが低いのだ。  インストール時にも説明しましたが  CentOS5.4ではSamba-3.0.33なのらー (TT)  CentOS5.5ではWindows7対応という事で SambaのバージョンもSamba3.3系を使っているらしい。  こんな時、CentOS5.5を入れたくなるのだが CentOS5.5をインストールしたくても・・・  インストール中にコケるのらー!! (--;;  CentOS5.5のインストールができない以上、CentOS5.4を使うしかないのだ。  インストールはRPMが使えない。  でも、大丈夫。こんな時は・・・  ソースコンパイルなのらー!!  そうなのです。  ソースコンパイルがある限り、RPMのバージョンの古さのために 前に進まない事は起こりません!!

ソースコンパイルでインストールの方法

 まずはSambaをソースをダウンロードを行なう。  最新バージョンはSamba-3.5.6だった(2011/2/3現在)  ダウンロードした物を展開する。
ソースを展開する
[root@pdc]# tar xvfz samba-3.5.6.tar.gz 
samba-3.5.6/
samba-3.5.6/howto-ol-backend-s4.txt
samba-3.5.6/Roadmap
samba-3.5.6/COPYING
samba-3.5.6/libcli/
samba-3.5.6/libcli/netlogon_proto.h
samba-3.5.6/libcli/netlogon.c

(途中、省略)

samba-3.5.6/pidl/tests/typelist.pl
samba-3.5.6/pidl/tests/ndr_refptr.pl
samba-3.5.6/pidl/config.m4
samba-3.5.6/pidl/pidl
[root@pdc]# 

 そして展開した先のディレクトリに移動する。

展開した先のディレクトリ
[root@pdc]# cd samba-3.5.6
[root@pdc]# ls
COPYING            codepages                m4                   source3
MAINTAINERS        docs                     merged-branches.txt  source4
Manifest           docs-xml                 nsswitch             swat
PFIF.txt           examples                 packaging            swat2
README             howto-ol-backend-s4.txt  packaging4           swat2.txt
README.Coding      howto4.txt               pcp                  testdata
Read-Manifest-Now  lib                      pidl                 testprogs
Roadmap            libcli                   prog_guide4.txt      tests
WHATSNEW.txt       libds                    release-scripts      testsuite
WHATSNEW4.txt      libgpo                   script
client             librpc                   selftest
[root@pdc]# 

 だが、困った。
 このディレクトリに

 configureファイルがないのらー!!

 どうやってコンパイルをするのか悩んでしまう。

 本の丸写しでソースコンパイルの方法を見ると
source3ディレクトリ上で、コンパイルを行なう事が書かれている。
 なので、本の丸写しを行なう事にした。

source3ディレクトリに移動。そしてconfigure
[root@pdcldap source3]# pwd
/usr/local/src/samba-3.5.6/source3
[root@pdcldap source3]# ./configure --with-libiconv=/usr --with-ldap --with-pam 
SAMBA VERSION: 3.5.6
-
-
#    define SAMBA_VERSION_STRING SAMBA_VERSION_OFFICIAL_STRING
LIBREPLACE_LOCATION_CHECKS: START
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu

(途中、省略)

config.status: creating include/config.h
config.status: executing rm-stdint.h commands
config.status: executing rm-stdbool.h commands
[root@pdcldap source3]# 
configureを使って、コンパイル方法の記述ファイルの
Makefileの生成を行なう。

赤い部分は「iconv」という文字コード変換のヘッダーファイルと
ライブラリがあるディレクトリを指定。
CentOS5系の場合、iconvのヘッダーは「/usr/include」にあり
ライブラリは「/usr/lib」に存在するため、「/usr」のディレクトリを
指定する。

青い部分はLDAPを使う事を指定するオプション。

桃色はPAMを使う事を指定するオプション。
PAMについては「システム奮闘記:その47」をご覧ください
(PAM入門 LinuxのPAMの設定)

 これでMakefileが生成される。
 そしてコンパイルを行なうため、makeコマンドを実行する。

makeコマンドを実行
[root@pdc]# make
Using CFLAGS     = -O -I. -I/usr/local/src/samba-3.5.6/source3 
                   -I/usr/local/src/samba-3.5.6/source3/iniparser/src -Iinclude -I./include  
                   -I. -I. -I./../lib/replace -I./../lib/tevent -I./libaddns -I./librpc -I./.. 
                   -I./../lib/talloc -I../lib/tdb/include -DHAVE_CONFIG_H  -D_LARGEFILE64_SOURCE 
                   -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Iinclude -I./include -I. -I. -I./../lib/replace 
                   -I./../lib/tevent -I./libaddns -I./librpc -I./.. -I./../lib/popt -DLDAP_DEPRECATED  
                   -I/usr/local/src/samba-3.5.6/source3/lib -I.. -I../source4 -D_SAMBA_BUILD_=3 -D_SAMBA_BUILD_=3
      PICFLAG    = -fPIC

(途中、省略)

Linking bin/cifs.upcall
Compiling ../nsswitch/winbind_krb5_locator.c
Linking bin/winbind_krb5_locator.so
[root@pdc]# 
無事、コンパイルが終了。

 そしてインストールを行なう。

make installでインストールを行なう
[root@pdc]# make install
Using CFLAGS     = -O -I. -I/usr/local/src/samba-3.5.6/source3 -I/usr/local/src/samba-3.5.6/source3/iniparser/src 
                   -Iinclude -I./include  -I. -I. -I./../lib/replace -I./../lib/tevent -I./libaddns -I./librpc -I./.. 
                   -I./../lib/talloc -I../lib/tdb/include -DHAVE_CONFIG_H  -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 
                   -D_GNU_SOURCE -Iinclude -I./include -I. -I. -I./../lib/replace -I./../lib/tevent -I./libaddns 
                   -I./librpc -I./.. -I./../lib/popt -DLDAP_DEPRECATED  -I/usr/local/src/samba-3.5.6/source3/lib 
                   -I.. -I../source4 -D_SAMBA_BUILD_=3 -D_SAMBA_BUILD_=3
      PICFLAG    = -fPIC
      LIBS       = -lcap -lresolv -lresolv -lnsl -ldl
      LDFLAGS    = -pie -Wl,-z,relro -L./bin

(途中、省略)

==============================================================
All MO files for Samba are installed. You can use "make uninstall"
or "make uninstallmo" to remove them.
==============================================================
[root@pdc]# 

 これでインストール作業が終わるのが、忘れてはならないのが
設定ファイルのsmb.confを、所定のディレクトリに置く事だ。

/usr/local/samba/libにsmb.confを置く
[root@pdc]# cd /usr/local/samba/lib
[root@pdc]# 
[root@pdc]# cp /usr/local/src/samba-3.5.6/examples/smb.conf.default smb.conf
[root@pdc]# 
赤いのが設定ファイルのサンプルファイルなのだ。
これを所定のディレクトリ「/usr/local/samba/lib」に置く。
なぜ、そのディレクトリなのかはわからない (--;;

別のディレクトリに置きたい方は、configureの時のオプションで
置きたいディレクトリの場所を指定できます。

 Sambaの設定ファイル(smb.conf)を触る。
 さて、WindowsXPをドメイン参加させてみる。

ドメイン参加に成功した画面
ドメイン参加に成功した画面
これでドメイン参加ができた。

 問題なくドメイン参加できたのだ (^^)

Windows7のドメイン参加

 Samba3.3.1以降からwindows7をドメイン参加させる事ができるが Windows7側の設定を少し触る必要がある。  ここではSamba3.3.5以降の設定を紹介します。  ちなみに、私が触っていますのはSamba3.5.6になります。  レジストリの追加を行なう必要がある。  早速、regeditコマンドを使って、レジストリ編集画面を出す事にした。
レジスタ編集画面(Windows7)
Windows7のレジスタ編集画面

 そしてレジストリを追加する場所は以下の所だ。

 \\HKLM\System\CurrentControlSet\Services\Services\LanManWorkStation\Parameters

 ところで・・・

 HKLMって、どこにあるねん!!

 調べてみると「HKEY_LOCAL_MACHINE」の略語だという。

 (参考URL)
 @IT:コマンド・プロンプトでレジストリを操作する
 マイクロソフト:上級ユーザー向けの Windows レジストリ情報

 HKLMの意味がわかった上、コンピューター固有の構成情報が
格納される場所だというのもわかった。

 それにしても、Windowsの知識がないと、こういう時は大変だ (--;;
 さて、レジストリを追加する場所へ進める。

レジストリを追加する場所
追加したいレジストリを格納する場所
この場所に以下の2つのレジストリの登録を行なう。

(1)DNSNameResolutionRequired
(2)DomainCompatibilityMode

共にDWORD32ビット形式だ。

 早速、レジストリの追加作業を行なう。

レジストリ追加作業
レジストリ追加の作業
「編集」→「新規」→「DWORD(32ビット)値(D)」を選択する。

 そしてレジストリの追加を行なう。

DNSNameResolutionRequiredの値を代入
レジストリの値を代入
DNSNameResolutionRequiredの値は「0」を入れる。

 もう1個のレジストリも追加する。

DomainCompatibilityMode
レジストリの値を代入
DomainCompatibilityModeの値は「1」を入れる。

 2つのレジストリが追加された。

追加したレジストリ
追加したレジストリ
追加したレジストリだ。

 これで準備が整った。

 ところで、もし、レジストリの追加を行なわずにドメイン参加した場合は
以下のエラーが出る。

レジストリ追加を行なわずにドメイン参加した時に出るエラー
Windows7のドメイン参加失敗の様子



 レジストリの追加ができた所で、Windows7をドメイン参加させる。
 方法は、WindiowsXPと同じだ。

システムのプロパティの画面(Windows7)
Windows7のシステムのプロパティの画面
赤く囲んだ「変更(C)」を押す。

 次の画面が出てくる。

コンピューター名/ドメイン名変更の画面
コンピューター名/ドメイン名変更の画面
赤く囲んだ部分にドメイン名を記入する。
今回はドメイン名が「EBISU」なので「EBISU」を入力する。

 ドメイン参加のための認証を行なう。

ドメイン参加のための認証
ドメイン参加のための認証画面
管理者ユーザーのadministratorで認証を行なう。

 認証に成功すれば以下の画面が出てくる。

認証成功の画面
認証成功の画面
「OK」を押す。

 すると、再起動を促す画面が出てくる。

再起動を促す画面
再起動を促す画面
「OK」を押して、再起動させる。

 再起動させると、WindowsXPの時と同様、ログオン画面の前に
「Ctrl」+「Alt」+「Delete」を押してくださいの画面が出てくる。

「Ctrl」+「Alt」+「Delete」を押す画面
「Ctrl」+「alt」+「delete」を押す画面

 「Ctrl」+「Alt」+「Delete」を押すと、ログオン画面が出てくる。 

ログオン画面
ログオン画面
認証を行なう。

 認証に成功するとWindows7の画面が出てくる。

Windows7にログオン
Windows7にログオンした様子

 Windows7の場合も、デスクトップ上のファイルは、Samba上に保存される。
 移動プロファイルのためだ。移動プロファイルについては後述しています。


Windows9xのドメイン参加について

 2004年にWindows98でドメイン参加を行なったのだが、 今もWin98を使っているため、win98もドメイン参加ができないかと考え 復習を兼ねて、ドメイン参加を行なってみる事にした。  まずは、RPMでインストールしたSamba3.0.33でドメイン参加を行なってみる。
Windows98の画面
Windows98の画面

 ネットワークの設定画面を開く。

ネットワーク設定の画面
ネットワーク設定の画面
赤く囲んだ「Microsoft ネットワーク クライアント」を選ぶ。

 すると次の画面が出てくる。

「Microsoft ネットワーク クライアント」のプロパティ画面
「Microsoft ネットワーク クライアント」のプロパティ画面
Windowsドメインにログオンするに印をつけて
ログオン先のドメイン名を記入する。

 そして再起動させる。

ログオン画面
ログオンの画面
拡大図
ユーザーID、パスワード、ドメイン名を入力する

 問題なくドメイン参加できた!!

 これでWindows98は問題ないだろうと思った。
 だが、世の中、そんなに甘くはなかった。

Win9xとSamba-3.2以降について

 次に、ソースコンパイルでインストールしたSamba-3.5.6で ドメイン参加を行なってみる。  すると・・・  ドメイン参加ができへん (TT)
ログオンが拒否された画面
ログオンが拒否された画面
Samba-3.5.6の場合、なぜかこの画面が出てきた。

 早速、原因はどこにあるのか調べる事になった。
 しかし、何が原因なのか、全く検討がつかない。

 設定ファイルを何度も見直すが・・・

 どこもおかしい所があらへん (--;;


 何が何だかわからない。途方に暮れていた時、偶然に発見した
「Server OS Cafe」の2007-11-14の記事にヒントがあった。
 Server OS Cafe

 こういう事だった。

Win9xとNT系ではパスワードの認証方式が異なる
Win9x系 Lanmanパスワードハッシュを使っている。
NT系 NTパスワードハッシュを使っている。

 認証方式が、ちゃうのか!

 Win9x系とNT系では、認証方式が異なる事を初めて知ったのだ。


 そこで「Lanman」の語句を使って調べていくと、次のサイトを発見。
@IT:第5章 内部ネットワークレイヤの保護 (Windows Server 2003の認証システム)

 LMとNTLMの名称を見る。どっかで見た事がある。

 Sambaの本でもLMとNTLMを見た事があるぞ!

 そこでSambaの本を見ると、案の定、載っていた。
 でも、Sambaでは、両方の暗号化方式もSambaではサポートされている。

Samba3.0以降がサポートする認証プロトコル
平文認証 文字どおり、パスワードを暗号化せずに認証を行なう。
危険なので絶対に行なってはならないのだ。
LANMAN認証 チャレンジレスポンス認証が行なわれるが
認証方式は脆弱
NTLM認証 WinNT系の標準認証だ。
チャレンジアンドレスポンス認証が行なわれる。
NTLMv2認証 より強い認証方式

 ここで初めて

 LANMANとNTLMの用語の意味を知った!!

 Windowsサーバーを触っていないだけに、この手の知識がない事が
見事に露呈されてしまう (^^;;

 でも、私は事務員なので気にしない (^^)V

 ところでSambaで暗号化パスワードを有効にするには
以下の設定を行なうのだった。

暗号化パスワードを有効にする設定(smb.conf)
	encrypt passwords = yes
この場合、LANMAN認証もNTLM認証も有効になる。

 では、一体、何が原因なのか?
 引き続き、調べていくと、以下のサイトにたどり着いた。
 ITpro:[Sambaウォッチ]第11回 Samba3.2の特徴とレジストリ設定バックエンドの紹介

 Samba3.2以降、LANMAN認証は初期状態では禁止になっている。
 そのため、Samba-3.5.6の場合だと、設定ファイルを触って
LANMAN認証を有効にする必要があるのだ。

LANMAN認証を有効にする設定(smb.conf)
  lanman auth = yes
  client lanman auth = yes
Samba-3.2以降で、LANMAN認証を行なうには
この設定が必要になる。

 LANMAN認証を有効にして、Windows98をドメイン参加させると

 見事に成功した!!

 だった。


 Sambaのバージョンによって初期設定での違いが引き起こした
七転八倒だった (^^;;

平文認証の方法

 ところで平文認証もSambaでは可能なので 平文認証を有効にする方法も紹介します。
平文認証を有効にする設定(smb.conf)
  client plaintext auth = yes
平文認証を行なうための設定。

 ただ、クライアントのWindows9x側のレジストリも変更しないと
平文認証は行なえないのだが、割愛します。

 あと平文認証の場合、パケットが盗聴されるとパスワードが丸見えなので
絶対に、お薦めしません。なので、良い子は真似しないように (^^)


移動プロファイル機能

 Sambaの場合、初期設定で移動プロファイル機能が有効になっている。  と言われても、そもそも・・・  移動プロファイルとは何やねん!!  なのだ。  その前に・・・  ユーザープロファイルとは何やねん!!  そこで、ユーザープロファイルと移動プロファイルが何なのかを 調べてみる事にした。  こんなサイトを発見。  WindowsServer管理者への道  Windows Vista のユーザプロファイル(1)  ユーザー プロファイルに保存される設定
ユーザープロファイルとは
ローカル・ユーザープロファイル
上図のようにユーザーごとの環境を記録したファイルを保存している
フォルダーの事だという。
デスクトップの上のファイル、マイドキュメントの中身
画面の解像度やフォント、壁紙などのデスクトップ環境。
IEのお気に入りなど、アプリケーションとは独立した
ユーザー環境が格納されているのだ。

ところで、OSによってユーザープロファイルの保存先が異なる。
OS 保存先のフォルダー
Win95/98/Me C:windows\Profiles\<ログオン名>
WinNT C:Winnt\Profiles\<ログオン名>
2000/XP/2003
C:Documents and Settings\<ログオン名>
Vista/7/2008
C:Users\<ログオン名>

 Windowsを何気なく触っているのだが

 こんな話は知らへんかった!!

 なのだ。

 UNIX(Linux)でも、各人のディレクトリに環境設定ができるのと
同じなのだが、Windowsを踏み込んで勉強していなかったので
今になって、ユーザープロファイルの存在を知ったのだ。



 そして次に移動プロファイルを調べてみる。

移動プロファイルとは
プロファイルをサーバー上に保管し、ログオンの度にサーバー上の
プロファイルを読み込む。

そしてログオフの際、サーバー上にプロファイルを更新して
次のログオン時に最新のユーザー環境を使えるようにする。

 文章ではわかりづらいので、図にすると以下の通りだ。

移動プロファイル(ログイン時)
移動プロファイル(ログイン時)
ログオン時に、サーバー上に保管している該当ユーザーの
ユーザープロファイルをダウンロードするのだ。

プロファイルが移動するので、移動プロファイルというのだ。

 そしてログオフ時は以下のようになる。

移動プロファイル(ログオフ時)
移動プロファイル(ログオフ時)
ログオフ時に、Windows端末で変更されたプロファイルの内容を
サーバーに反映させるため、サーバーに更新作業する。

これによって、次にログオンする際には、最新のプロファイルが
使える事になる。

 移動プロファイルを導入する利点は以下の通りだ。

移動プロファイルの利点
移動プロファイルの利点
ユーザーごとの環境がサーバーに保管されているため
どの端末を使っても、自分が設定した環境が使える事になる。

しかも、端末が故障しても、ユーザーデーターは
サーバーにあるため、データ保全にも使える。

 こんな便利な機能なのだが、問題点もある。
 そのため使われるのは限定的なのだが、それは後述します。


 移動プロファイルの設定方法から説明します。

 クライアントがWin9x系とWindowsNT系とでは
設定方法が異なる。

WinNT系(2000/XP/Vista/7)の場合

 WinNT系の場合、元々、ユーザー別にログオンできる設計なのだ。 そのため、クライアント側の設定は不要で、サーバー側の設定だけになる。
WindowsXP/Vista/7の
移動プロファイルの保存先の設定 (smb.conf)
	logon path = \\%L\%U\Profile
ユーザープロファイルの保管場所の設定だ。
Samba変数が入っているので、わかりづらい。

 Samba変数を見てみる事にした。

Samba変数について
%L サーバー(Samba)のNetBIOS名
%U Sambaに接続しているユーザー名
%N NISのホームディレクトリ名
ただし、NISをしていない時は「%L」と同じ
%m クライアントマシンのNetBIOS名
%G 「%U」のプライマリーグループ名

 なのだ。

 もう一度、設定ファイルを見る。

WindowsXP/Vista/7の
移動プロファイルの保存先の設定 (smb.conf)
	logon path = \\%L\%U\Profile
もし、SambaのNetBIOS名が「PDC」でユーザー名が「suga」なら
移動プロファイルの格納場所は \\PDC\suga\Profile になる。


 さて、Win9x系の場合の移動プロファイルの設定は
次のようになる。

Win9x系の
移動プロファイルの保存先の設定 (smb.conf)
        logon home = \\%L\%U\win9x
Win9x系のユーザープロファイルの格納先だ。
Win9x系とNT系では仕様の違いのため
ユーザープロファイルの設定が異なるのだ。

(注意)

この設定は、ドメインログオンした時の
ホームディレクトリの設定のため
Win9xとNT系が混在する環境で、下手に使うと
ファイルがごっちゃになる可能性があります。

 そしてWin98の場合、各ユーザーごとにプロファイルを作成する場合は
Win98側で以下の設定を行なう必要がある。

Win98側の設定
Win98のプロファイルの設定
個々のユーザーごとにプロファイルを作成するための設定だ。
赤い部分に印をつける。

 これでWin98で移動プロファイルの設定が完了だ。

移動プロファイルの問題点

 移動プロファイルは、どのパソコンを使っても 自分が設定した環境が使えるので、良い事ばかりに思えるが 問題点あり、導入には慎重さが求められるというのだ。
移動プロファイルの問題点
(1) デスクトップの解像度まで記録される。

画面解像度の違うマシンを使った場合、アイコン表示などが乱れる
(2) デスクトップのショートカットなども記録される。

ショートカットのパスがローカルパスで記述すると
マシンによって動作しないものが出てくる。
(3) プログラムメニューの設定も記録される

マシンによってインストールされているソフトが異なる場合や
異なるWindows(2000やXPの混在)だと、インストールされていない
プログラムがメニューに表示されてしまう。

(注意)
WindowsXPとWindows7の場合は問題が置きません。
後述しています。

 そのため、端末側のOSやインストールするソフトの統一は必要になる。
 それだけでなく、サーバーと端末の間でデータのやりとりがあるので
以下の問題が出てくる。結構、大きな問題だと思う。

移動プロファイルの問題点(データ通信面)
移動プロファイルの問題点(データ通信面)
移動プロファイルの場合、ユーザープロファイルはサーバーにある。
そのため、ログオンの度にサーバーからデータを読み込み
ログオフの際に、サーバーにデータ更新をかける。

ユーザープロファイルの一部であるデスクトップのファイルなどの
データ量が増えれば、結果的に、サーバー上にデータが増える。
ユーザー数が多いと、サーバーのディスクの消費量が問題になってくる。
サーバーと端末とのデータのやりとりでネットワークの通信量も増える。

データ量が増え、ログオン時も、ログオフ時も、
数分かかるようになっては、不便さが際立ってくるのだ。

 なので、移動プロファイルの導入には、慎重になる必要があるというわけだ。


 ところでWindowsXPとWindows7の場合は、移動プロファイルが
同じディレクトリに保存されないため、混在した環境でログインしても
何ら影響がないようだ。

 論より証拠で移動プロファイルの保存ディレクトリを見てみる。

WindowsXPとWindows7の移動プロファイル
[root@pdc]# ls
Profile  Profile.V2
[root@pdc]#
赤い部分がWindows7の移動プロファイルが格納される場所だ。
ディレクトリ名が異なるため、双方の移動プロファイルの中身が
混ざる心配がないのだ。

profilesセクションと移動プロファイル

 Sambaの設定でProfilesセクションがある。    移動プロファイルを格納する共有  と書かれているが・・・  よくわからへん!!  だった。  共有プロファイルの置き場なのかと考えたりしたが いくら調べても、わからなかった。  だが、あるサイトを見て思った。  こういう事だったのか!
移動プロファイルの設置場所の設定(smb.conf)
(WindowsXP/Vista/7の場合)
[global]

	logon path = \\%L\Profiles\%U

[Profiles]
    path = /usr/local/samba/lib/profiles
    browseable = no
    read only = no
    guest ok = yes
    writeable = yes
    profile acls = yes 
    create mask = 0600
    directory mask = 0700
globalセクションで移動プロファイルのフォルダーの指定を行なう。

Profilesセクションでは、Profilesフォルダーを作り
その中に各人の移動プロファイルを入れる仕組みなのだ。

ブラウジングでは見えないようにしているのがミソで
普通のユーザーが見えないようにしているのだ。

 上の設定では、移動プロファイルを、各人のディレクトリではなく、
移動プロファイル専用のフォルダーを作成して、そこに保管するというのだ。


 移動プロファイル用のセッション上で作った

各人の移動プロファイルの置き場
(/usr/local/samba/lib/profilesディレクトリ)
[root@pdc]# ls -l
合計 32
drwxrwx---+ 13 root  administrator 4096  3月  4 11:15 administrator
drwx------+  2 suga  suga          4096  3月  8 11:26 suga
[root@pdc]#
移動プロファイルのみが入るディレクトリだ。
ホームディレクトリと独立している上、普通に使っていると
見えない領域だけに、誤って、ファイルを触る危険もないようだ。

 ところで、WindowsXPとWindows7が混在した環境だと
移動プロファイルが同じディレクトリ内に入ってしまう問題を
考えてしまいそうだが、その心配はないようだ。

各人の移動プロファイルの置き場
(/usr/local/samba/lib/profilesディレクトリ)
[root@pdc]# ls -l
合計 32
drwxrwx---+ 13 root  administrator 4096  3月  4 11:15 administrator
drwx------+  2 suga  suga          4096  3月  8 11:26 suga
drwx------+  2 suga  suga          4096  3月  8 11:38 suga.V2
[root@pdc]#
赤い部分がWindowsXPの移動プロファイルが格納される場所だ。
青い部分がWindows7だ。

WindowsVista/7の場合、ユーザー名の後ろに「V2」がつくため
WindowsXPとの共存は可能だ。

固定プロファイル

 移動プロファイルの中には、ユーザーがログオフの際に プロファイルの更新が不可能なプロファイルがある。  それを固定プロファイルと呼ぶ。  図にすると以下のようになる。
固定プロファイルとは
固定プロファイルとは
ユーザーがログオフ時に更新できないプロファイルの事だ。
共用端末に使われる事が多い。

そのためログインしたユーザーがいくら設定を変えても
その変更が反映されないため、いつも同じ環境で使えるのだ。

公共施設などの共用パソコンには使える設定だ。

 固定プロファイルにするための設定は簡単だ。

固定プロファイルにする設定
[root@pdc]# ls
Application Data  My Documents    NetHood    SendTo      スタート メニュー
Cookies           NTUSER.DAT      PrintHood  Templates   デスクトップ
Favorites         NTUSER.DAT.LOG  Recent     ntuser.ini
[root@pdc]# 
[root@pdc]# mv NTUSER.DAT  NTUSER.MAN
[root@pdc]# 
Sambaで、移動プロファイルが格納されているディレクトリで
「NTUSER.DAT」ファイルの拡張子を「MAN」に変更すれば良いのだ。

あまりにも簡単なので予想外だった。

 1人1台のパソコンの時代になっているのだが、施設の共用パソコン
来客用のパソコンには固定プロファイルは便利だと思う。
 勝手に変更されたとしても、それが反映されないからだ。

移動プロファイルの無効の方法

 移動プロファイルを無効にするのは、どうすれば良いのか。  答えを知った時、あっけなかった。
WindowsXP/Vista/7で
移動プロファイルを無効にする設定 (smb.conf)
	logon path = 
        logon home =
移動プロファイルの格納場所を空白にすることなのだ。
あまりに、あっけない答えなのだ (^^;;


netlogonセクション

 このセクションは、一体、何なんだろうか。  そこで色々調べてみる事にした。
netlogonセクションで設定する物
ログオンスクリプトやシステムポリシーを配置する場所

 これを見た時・・・

 ログオンスクリプトとは何やねん?

 そこで調べてみると、以下の事だという。

ログオンスクリプトとは
ユーザがコンピューターにログオンする時に実行される
コマンドのグループ。Windowsでドメインを組んだ時
ドメインコントローラーのnetlogonファイルダーに
ログオンスクリプトを置けば、複数台のクライアントで共有できる

 Linuxでいうと

 ログイン時に動くシェル!

 と同じ感じなのだ。


 そこで実験する事にしてみた。
 まずはNETLOGONセクションの設定を行なう。

NETLOGONセクション (smb.conf)
[netlogon]
   comment = Network Logon Service
   path = /usr/local/samba/lib/netlogon
   guest ok = yes
   writable = no
   write list = @administrators
どのパソコンでもスクリプトを読み込めるように
ゲストをOKにしている。

ただし、管理者権限を持ったユーザー以外は
スクリプトを書き込めないように設定している。

 そこで以下のスクリプトを使って実験する事にした。

テストスクリプト(test.bat)
"C:\Program Files\Outlook Express\msimn"

WindowsXPで、ログイン時にOutlookExpressが立ち上がる
スクリプトなのだ。

 早速、試してみる事にした。

WindowsXPのログオン画面
WindowsXPのログオン画面

 そしてログオンしてみる。

ログオンスクリプトが実行された様子
WindowsXPのログオンした際にログオンスクリプトが実行された様子
見事に、OutlookExpressが起動した。

 同じ内容のログオンスクリプトを個々のパソコンに設定しなくても
1ヶ所に置けば良いので、変更があった際は、楽な上に
変更漏れの問題もなくなる、


 ところでnetlogonセクションで、システムポリシーを
配置すると書いていたが・・・

 システムポリシーとは何やねん?

 なのだが、Windows95、98のセキュリティー関連の物だ。
 なので、踏み込んで調べる事はせずに、そのままにしておく事にした。


Sambaユーザー登録とLinuxユーザーとの連動

 LinuxユーザーとSambaユーザーとは独立した形をとっている。  そのため、パスワードなどのユーザー情報を保管するデータベースも 別々になっている。
LinuxユーザーとSambaのユーザーは独立している
Sambaのユーザー認証の概略
LinuxのユーザーとSambaユーザーは独立しているため
個々のユーザー管理のデータベースも別々なのだ。

 なので、Sambaユーザーを登録する際には、Linuxユーザーの登録も
必要となるため、手間になる。


 だが、Sambaには、Sambaユーザー登録と同時にLinuxユーザーも
登録するための設定方法があるのだ。

SambaユーザーとLinuxユーザーの登録を
連動させるための設定 (smb.conf)
       add user script = /usr/sbin/useradd %u
       add group script = /usr/sbin/groupadd %g
       add user to group script = /usr/bin/gpasswd -a %u %g
       add machine script = /usr/sbin/useradd -d /dev/null -s /bin/false %u

       delete user script = /usr/sbin/userdel %u
       delete user from group script = /usr/bin/gpasswd -d %u %g
       delete group script = /usr/sbin/groupdel %g
pdbeditコマンドでSambaユーザーを作成・削除する際
赤い部分はLinux(UNIX)ユーザーの作成と削除の部分。
青い部分はLinux(UNIX)グループ登録と削除。
桃色の部分は、グルーバルグループの作成と削除の部分。
緑色はマシン名の登録部分だ。

※グローバルグループについては後述しています。

LinuxとSambaユーザーの両方を登録する手間を省くための
パラメーターになっているのだ。

(注意)
ユーザー削除の部分なのだが、pdbeditを使うと、うまくいかない。
でも、後で説明しますNTドメイン用管理ツールで
ユーザーの削除を行ないますと、問題なく、動きます。

 Sambaユーザー登録・削除の際、同時にLinuxユーザーの登録・削除も
行なえるため、両方の設定を行なう手間が省けるのだ。

 それに、片方の設定し忘れという事もなくなるので便利だ。

LinuxとSambaのパスワード同期

 LinuxユーザーとSambaユーザーのパスワードの登録・変更の際も 同期がとれる設定が可能だ。
SambaユーザーとLinuxユーザーの
パスワード同期のための設定 (smb.conf)

       unix password sync = yes
       pam password change = yes
赤い部分は、Sambaユーザーのパスワードを変更した時
それに対応したLinux(UNIX)ユーザーのパスワードも
変更するための設定だ。同期がとれるというのだ。

青い部分はPAMを利用したパスワード同期だ。
Linux(UNIX)でパスワードを変更した時、PAMを経由して
Linuxユーザーに対応したSambaユーザーのパスワードも
変更するという物だ。

 もし、同期がとれなかったら、変更の際、手間になるし
片方のパスワードの変更し忘れのため整合性がとれなくなる
問題も起こってしまう。
 なので、同期がとれるとなれば便利だし、Linuxユーザーと
Sambaユーザーのパスワードを同じにする事で
ユーザー情報の一元化にもつながる。


NTドメイン用管理ツールでドメイン管理

 NTドメインを管理する道具がある。  SambaでPDCを構築した場合でも、使えるので紹介します。  Windows2000/XPで使えるツールだ。  でも、この実験を行なう時は、WindowsXPで使えるのを知らなかったため Windows2000上で行なっています。
Windows2000の画面
Windows2000の場面

 管理ツールは以下の所からダウンロードする。
 Windows NT Workstation 4.0 用の Windows NT サーバー ツール

 (2011/3/1の時点では、ダウンロード可能)


 早速、ダウンロードしたツールをインストールしてみた。

ツールをインストールした後の画面
ツールをインストールした後の画面
ユーザー管理のアイコン(茶色で囲んだ部分)と
サーバー管理のアイコンがある。

 今回は、ユーザー管理のアイコンをクリックしてみた。

ユーザー管理画面
ユーザー管理画面

 新規ユーザーの作成を行なう。

新規ユーザーの登録画面
新規ユーザーの登録画面
新規ユーザーがWindowsのGUI上で行なえるため
Sambaが入ったLinux上でコマンド操作を知らなくても
ユーザー登録・削除に関する運用は可能だ。

 そして新規ユーザーを登録が終わると、新規ユーザーが表示される。

新規ユーザーが表示される
新規ユーザーの表示
新規ユーザーの「ono」が登録されている。
私の大好きな小野真弓の「ono」なのだ (^^)

 ユーザーの登録・削除がLinux上でなくても簡単に行なえるので
にわか管理者でも作業ができる。


 このツールだが、マシン管理機能もついているが残念ながら
Sambaドメインには使えない。
 でも、ユーザー管理に使えれば便利なので使わないのは
もったいないのだ。

Sambaで出てくる用語について  Sambaを扱う際、Windowsサーバー用語を知らないと設定に困ったり 仕組みが理解できない事がある。  なので、この機会に、少し勉強する事にした。

グローバルグループとローカルグループ

 何気なしに「Sambaのすべて」の本を見ていると、次の文字が目に入った。  グローバルグループ  一体、何だろうか?  本を見ると次の事が書いてあった。
グローバルグループとは
NTドメインではグローバルグループによるユーザーアカウントを
グループ化して、ドメイン内の各マシンに対するリソースへの
アクセス権を簡易的に割り当てる事ができる。

 うーん、WindowsNTの知識がないから・・・

 わからへん (--;;

 そこで調べてみる事にした。
 いくつかネットに載っていたのを読んだ。

 岡山県情報教育センター:ドメイン管理編(WindowsNT)
 WindowsNT編

 これを読む限りではグローバルグループの意味は、こんな感じだ。

グローバルグループとは
ドメインコントローラーで管理されたグループ。
ネットワークの設定の権限、プリンタの設定権限といった感じで
目的別のグループ分けをしている。

 でも、イマイチ・・・

 ピンと来ない (--;;


 ふと、NTドメイン用管理ツールを見ると、各ユーザーへの
グローバルグループの所属の有無を決める事ができるのを知った。

NTドメイン用管理ツール
NTドメイン用管理ツール
赤く囲んだ部分に注目する。

 WindowsNTだけでなく、Sambaで構築したドメインコントローラーでも
問題なく使えるのだ。

 そこでグローバルグループ登録を行なってみる。

グローバルグループ登録画面
グローバルグループ登録画面
ユーザー「suga」を「Domain Admins」に登録
ユーザー「suga」を「Domain Admins」に登録
ユーザー「suga」をドメイン管理者のグループにいれてみた。

 すると、ドメインに参加しているパソコンの設定が行なえるのだ。
 ユーザー管理画面を開いてみる事にした。

ユーザー管理画面の手前
ユーザー管理画面の手前
黄色で囲んだ部分がローカルのパソコンのユーザー管理画面だ。

 ドメイン管理者に参加する前と、参加した後での違いを見てみる。

ユーザー管理画面を開こうとすると
ドメイン管理者に参加する前
ドメイン管理者になる前は認証が必要だ
管理者権限がないため、ユーザー管理画面を開く事ができず
管理者パスワードの認証が必要になる。

 だが、ドメイン管理者のグループに入ると管理者権限があるため
以下のようにユーザー管理画面が開く。

ユーザー管理画面を開こうとすると
ドメイン管理者に参加した後
ドメイン管理者だと管理画面が開く
管理者権限があるため、認証なしで、ユーザー管理画面が出てくる。

 そしてドメイン管理者のグループだと、個々のローカルのパソコンでも
管理者権限が与えられる。

管理者権限が与えられているメンバの表示
管理者権限が与えられているメンバの表示
赤く囲んだドメイン管理者のグループに所属していると
管理者権限が与えられるのがわかる。

 これで、なんとなく、グローバルグループの意味がわかってきた。
 以下の感じなのだ。

グローバルグループとは
グローバルグループとは
ドメインコントローラーが管理しているグループで
ドメインに参加しているパソコン向けの共通のグループなのだ。

 なんだかドメイン全体での共通した権限を持つグループの事を
グローバルグループというみたいだ。


 ところで・・・

 ローカルグループとは何やねん?

 グローバルグループと対に出てくる物のようなのだが
調べてみる事にした。

 基本的なグループ分けだという。
 各パソコン上のグループ設定で、個々のパソコンの資源(リソース)に
アクセス権の有無を設定している。


 ところで、WindowsXPのユーザー管理画面を見る。
 (ドメインに参加していない場合は、この画面は表示されません)

ユーザー管理画面
(ユーザー管理の詳細設定画面)
ユーザー管理の詳細設定画面
拡大図
グローバルグループの種類
ローカルグループの一覧が出ている。

上から全権限をもった「Administrators」や
ネットワーク設定の権限を持った「Network Configuration Users」
リモートデスクトップの権限を持った「Remoto Desktop Users」など
各資源(リソース)への権限を与えている。

つまり個々のパソコンの資源(リソース)へのアクセス権限の有無のための
グループ分けなのだ。

 個々のパソコンの資源(リソース)へのアクセス権限に関しては
ローカルグループで分けているのが、わかった。

 でも・・・

 グローバルグループとローカルグループの関連性は何やねん?

 一体、何なのか、わからなかった。
 だが、ユーザーアカウント設定を見直してみる事にした。

管理者権限が与えられているメンバの表示
管理者権限が与えられているメンバの表示
ローカルグループの「administrators」のメンバーに
グローバルグループの「Domain Admins」が登録されている。

 グローバルグループとローカルグループとの関係は以下の図のようになる。

グローバルグループとローカルグループの関係
グローバルグループとローカルグループの関係
ローカルグループとは個々のパソコンの資源(リソース)に対しての
アクセス権を持ったグループだ。

グローバルグループとは、ドメインに参加しているパソコン共通の
グループで、個々のパソコンのローカルグループに所属する事で
そのパソコンの資源(リソース)にアクセスできるようにしている。


例として、上図のように個々のパソコン上で、全ての資源(リソース)への
アクセス権限を持っているのは「administrators」というグループだ。

グローバルグループの「Domain admins」がドメインに参加している
全てのパソコンの全ての資源(リソース)へアクセスできる権限を
持たせるには、「Domain admins」を個々のパソコンの
「administrators」に参加させる事で実現させているのだ。

 Sambaを勉強すると、必然的にWindowsの勉強が必要なのだ。

SID

 SIDという用語が出てくる。  検索サイトで調べると以下のサイトに書いてあった。  @IT:オブジェクトを識別するSIDとは?  SIDは・・・  Security Identifier セキュリティ識別子  の略なのだ。  NT系のOS(NT/2000/XP/Vista/7)などで使われているユーザー管理の識別子で ユーザー名、グループ名といった名前ではない、唯一の識別子(ID)なのだ。  Linux(UNIX)の場合、ユーザー名をユーザー識別子(ID)に使っているが WindowsNT系ではSIDを使っているのだ。  SIDを使う利点はどこにあるのか?  何らかの理由で  ユーザー名が変わっても問題なし!  なのだ。  例えば、結婚して、姓が変わっても、ユーザー名の変更があっても ユーザー名とは独立した唯一の識別子(SID)があれば、 ユーザー名の変更だけで、同じ環境を使い続ける事ができる。  Sambaの場合、Sambaユーザーを登録した場合もSIDが生成される。
Sambaユーザー登録
[root@pdc]# /usr/local/samba/bin/pdbedit -a suga
lp_bool(yee): value is not boolean!
new password:
retype new password:
Unix username:        suga
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-2298202568-1073216897-2580598518-1000
Primary Group SID:    S-1-5-21-2298202568-1073216897-2580598518-513
Full Name:            
Home Directory:       \\pdc\suga
HomeDir Drive:        
Logon Script:         
Profile Path:         \\pdc\suga\profile
Domain:               EBISU
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    水, 26  1月 2011 17:39:46 JST
Password can change:  水, 26  1月 2011 17:39:46 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@pdc]# 
赤い部分がユーザーを見分けるための「SID」になる。
SIDさえ固定して識別子にしまえば、ユーザー名を変更しても
何ら支障がなくなるのだ。

 SIDの意味がわかった。
 Sambaの本が読みやすくなった (^^)

SAM

 SAMという用語が出てくるが、イマイチ、よくわからなかった。  そこで検索サイトで調べてみる事にした。  Microsoft Systems Management Server - 用語集 さ行  Security Accounts Manager  なのだ。  でも、これだけでは  イマイチ、よくわからへん (--;;  なので調べてみる事にした。  ITpro:SAMデータベースとは @IT:運用改訂 管理者のためのActive Directory入門 第2回  つまりユーザーアカウントを格納するためのデータベースの一種なのだ。  図にしてみる事にした。
SAMとは何か?
SAMとは何かの説明
SAMとは、WindowsNT上でドメインアカウントを含む
データベースで、ユーザーアカウント、グループ
コンピューター名などが格納されている。
PDCでしかSAMの内容は変更ができない

Windows2000以降にもSAMがあるが、役目や仕様が
異なるようだ。

 Sambaの場合、PDCを構築するため、Windowsと同様に
ユーザーアカウント、グループ、コンピューター名を格納するための
データベースが必要だ。
 そのため、SambaでもSAMデータベースを持たせている。

SambaもSAMを持っている
SambaはSAMを持っている

 SambaでSAMが出てくるのは、PDCからBDCへSAMの複製の話だろう。

SAMの複製の話
SAMの複製
ユーザー関連の情報を変更するには、PDC上でしか行なえない。
そのため、BDCは常に新しい情報を得るため、PDCからSAMを
複製してもらう必要がある。

この時に「SAM」がよく出てくるのだ。

 だが、WindowsNTのSAMとSambaのSAMとの間では
同期プロトコルが同じでないため、WindowsNTとSambaとの間では
SAMの複製はできないようだ。

NTとSambaではSAMの複製は不可能
NTとSambaではSAMの複製は不可能
同期プロトコルが同じでないため、SAMの複製はできないのだが
WindowsNTは現役を引退している時代なので
問題にはならないだろう。

あるサイトでは、なんとか複製ができるような話を見かけたが
仮に複製が可能であっても、今更、無理矢理、SAMの複製を
行なう必要もないので、踏み込んで調べるのはしませんでした。

 SAMという用語も覚えた。
 Sambaの話が理解しやすくなった (^^)


Sambaの設定ファイル(smb.conf)の記述

 長々と書きましたが、SambaでPDCを構築する場合、設定ファイルの smb.confの記述方法を、まとめたいと思います。
PDC構築のための記述 (smb.conf)
[global]

dos charset = CP932 unix charset = UTF-8 netbios name = <コンピューター名> workgroup = <ドメイン名> security = user passdb backend = tdbsam encrypt passwords = yes os level = 33 domain master = yes local master = yes preferred master = yes domain logons = yes

wins server = <WINSサーバーのIP> admin users = administrator

#pdbeditコマンドの際、Linux(UNIX)ユーザーの #登録・削除を同時に行なうための設定 add user script = /usr/sbin/useradd %u add group script = /usr/sbin/groupadd %g add user to group script = /usr/bin/gpasswd -a %u %g add machine script = /usr/sbin/useradd -d /dev/null -s /bin/false %u delete user script = /usr/sbin/userdel %u delete user from group script = /usr/bin/gpasswd -d %u %g delete group script = /usr/sbin/groupdel %g #ユーザー登録・削除とパスワードの同期 unix password sync = yes pam password change = yes #移動プロファイルの設定(初期値) logon path = \\%L\%U\profile logon home = \\%L\%U #共有プロファイルを使う場合 [Profiles] path = /usr/local/samba/lib/profiles browseable = no read only = no guest ok = yes writeable = yes profile acls = yes create mask = 0600 directory mask = 0700 [netlogon] comment = Network Logon Service path = /usr/local/samba/lib/netlogon guest ok = yes writable = no write list = @administrators
青い枠はPDCを構築する上での必須項目です。
赤い枠は推奨項目です。

 意外と少ない記述でPDCが構築できるのだ。


最後の最後の気づいた話 (^^;;  これでSambaでPDCが構築できると思った。  以下のサイトを見て衝撃的な事を発見した。  Sambaユーザー会:ドメイン管理 Part 2. 基本的な設定  WindowsXP Home版はドメインに参加不可能!  XPのHOME版だと、ActiveDirectoryに参加できない事を知っていたが NTドメイン(Sambaドメイン)にも参加不可能な事は知らなかった。  うちの会社、HOME版が多い。  なぜなら・・・  購入時はドメイン参加を考えた事がなかった!  だった。  ドメイン参加の利点うんぬんの説明ができる以前に・・・  ドメインが何なのか知らへんかった (--;;  なのだ。  ドメインが何かの説明どころか、内容すら知らなかった状態だったため Pro版よりも安いHOME版を買ってしまっていたのだった。  認証関係の一元管理ができると思ったが、思わぬ所で足元をすくわれた (--;;
まとめ  SambaでPDCの設定を行なう上で大事(?)な事をまとめてみました。
SambaでPDCの設定を行なう上で必要な事
(1) LinuxユーザーとSambaユーザーは独立した物。
(2) Sambaユーザー情報のデータベースは
TDBを使うべし。(ただし、OpenLDAPとの連動の場合は別)
(3) ドメイン認証の場合、コンピューター名も必要なので
Sambaユーザー登録時は、コンピューター名の登録を忘れずに!
ただし、Win9xの場合は不要。
(4) 管理ユーザー「administrator」を登録。
ドメイン参加時に必要。
(5) マスターブラウザであるべし
(6) Windows7をドメイン参加させる場合は
Samba-3.3.1以上を使うべし。
そしてレジストリの追加も必要
(7) Win9xをドメイン参加させる時は
LANMANハッシュの暗号化パスワードを有効にすべし
(8) WindowsXP/Vista/7のPro版を使うべし!
Home版だとドメイン参加不可能
(9) 移動プロファイルを使う時は注意が必要。
端末によってOSが異なったり、ローカルパスがあったりすると
操作の際に、不具合が出てくる。
(10) secutiryパラーメーターは「user」を使う
(11) 複数台でログオンスクリプトを実行したい場合は
netlogonセクションの活用が便利
(12) WindowsXP/Vista/7のHome版を使うべからず。
Home版だとドメイン参加機能はないため


最後に  SambaでPDC構築の話を書きました。  2004年に、クライアントにWindows98を使って構築した事がありますが 復習してみると、知らない事ばかりな上、WindowsXP、Windows7とでは 異なる設定だというのを知りました。  Samba構築のお薦めの本は以下の2冊です。  『サーバ構築の実例がわかる Samba「実践」入門』(高橋基信:技術評論社)  パラメーターの説明だけでなく、設定事例が載せてあり わかりやすい本です。  「Sambaのすべて」(高橋基信:翔泳社)  Sambaの辞書といって良い本です。詳細な事を知るには良い本です。  Sambaを使ったPDCの構築を習得しました。  次回は、SambaとOpenLDAPとの連動について取り上げたいと思います。

次章:「Samba + OpenLDAPでPDC設定入門」を読む
前章:「LDAP OpenLDAP設定入門」を読む
目次:システム奮闘記に戻る

Tweet