Table of Contents
この本の最初の版のリリース以来、Samba以外の事についてネットワーク管理者の手助けとなる かもしれない設定テクニックのよりよい資料について、繰り返し要求があった。一部の ユーザーは、include = file-nameパラメーターの使い方に 関連する文書を提供した。
2004年の中頃に始まったが、1つのマシン上で複数のSambaサーバーをホスティングする 機能について、関心が高まってきた。1つのサーバー上複数のSambaサーバーの振る舞いを ホスティングする事への興味も増えてきた。
テクニカルレビューワからのフィードバックによりこの章を含める必要が出た。 そのため、今まで十分に言及してこなかった質問への答えををここに記す。さらに、 この章を充実させる、利用者からの追加は歓迎する。ここで提供されているものは、 まったくもって、小さなとっかかりである。
単一のSambaサーバー上で複数のサーバーをホスト出来る方法はいくつもある。複数のサーバー ホスティングは1つのマシン上で複数のドメインをホストする事を可能にする。そのような 各マシンは独立していて、他に影響を与えずに、起動/停止ができる。
時には、各サーバーが固有のセキュリティモードを持つ、複数のサーバーをホスティングする ことが好ましいことがある。例えば、一般的な匿名印刷サーバーのように、単一のUNIX/Linux ホストはドメインメンバーサーバー(DMS)になれる。この場合、ドメインメンバーマシンとドメイン ユーザーはDMSにアクセスでき、さらにゲストユーザーでさえも、一般的な印刷サーバーにアクセス できる。他の、汎用(匿名)サーバーをホスティングするのに便利かもしれないシチュエーションの 例としては、CDROMサーバーのホスティングがある。
いくつかの環境では、固有のリソースを持つ、特定のユーザーかグループのみからアクセス可能な、 分離されたサーバーを持つ必要が規定されている。これは、Sambaが多数の物理的なサーバーを、 1つのSambaサーバーに置き換えられる、単純で、とても効果的な方法の1つである。
複数のサーバーホスティングの使用は、それぞれ個別の設定ファイルを持っている、複数の分離
されたSambaインスタンスを動かす必要がある。この方法は、各nmbd, smbd と winbindd
のインスタンスは、完全に分離されたTDBファイルへの書き込みアクセスが出来なければならない
という理由で、とても複雑である。nmbd, smbd と winbinddが使うTDBファイルを分離
させる事は、ホスティングを行う各Sambaを再コンパイルすることで、各Sambaが、固有のTDB
ファイルに対する既定値のディレクトリを持つか、nmbd, smbd と winbinddの
各インスタンスが、それらの固有のsmb.conf
設定ファイルで起動するようにしなければ
ならない、smb.conf
ファイルを設定することで可能となる。
各インスタンスは固有のIPアドレス(独立したIPアドレスはIPエイリアスで行える)で操作される べきである。nmbd, smbd とwinbinddの各インスタンスは、その固有IPソケットのみを リッスンすべきである。これはsocket addressパラメーターを使うことに よって、安全に出来る。Sambaサーバーの各インスタンスは固有のSIDも持つべきであり、これは、 サーバーは互いに独立で、分離されていることを意味する。
複数サーバーホスティングのユーザーはそれほど特異ではなく、プロセス管理と起動時それぞれの
場面において、注意深い設定を要求する。注意深く設定しなければならない、smb.conf
パラメーターは以下を含む:
private dir, pid directory,lock directory, interfaces, bind interfaces only, netbios name, workgroup, socket address。
複数のSambaサーバーを作成する事を選択した人は、Sambaソースコードを読解でき、必要に応じて それを変更出来る能力を持つべきである。このモードの配置は、この文書の範囲を超えていると 考えられる。しかし、もしも誰かがより包括的な文書を寄贈してくれるのであれば、喜んでそれを レビューし、もしもそれが適切であれば、この章のこの節を拡張するだろう。そのような文書が 有効になるまで、単一ホスト上での複数Sambaサーバーのホスティングは、Sambaチームによって、 Samba-3ではサポートされないとみなされる。
Sambaは、固有の設定を持つ、複数の仮想サーバーをホスティングできる能力がある。
これは、すべてのホスティングされる、個別設定に共通なsmb.conf
ファイルの設定で達成
される。各(仮想)サーバーの個別設定は、固有のnetbios aliasで
ホスティングされ、おのおのは、固有の異なった[global]セクションを
持つ。各サーバーはサービスとメタサービスのために固有のセクションを持っても良い。
複数の仮想サーバーをホスティングするとき、おのおのには個別設定が出来、おのおのは 異なったワークグループにいる。プライマリサーバーのみ、ドメインメンバーかドメインコントローラーに なれる。個別設定は、動作しているsecurityモードと、使っている netbios aliasesとそれに対して定義された workgroupの組み合わせによって定義される。
この設定スタイルは、NetBIOS名を使うか、NetBIOS名なしのTCPサービスのSMBを使う事が出来る。
もしもNetBIOSモード(最も一般的な方法)で動かす場合、パラメーター
smb ports = 139はプライマリのsmb.conf
ファイル中に
指定すべきである。それを間違うと、SambaはTCPポート445で動作することになり、
最も良い場合で問題のある動作、最悪の場合は、プライマリのsmb.conf
ファイルで指定された
機能を得ることができるのみである。TCPポート139のみを使うNetBIOS over TCP/IPの使用は、
%L
マクロの使用が完全に有効になる事を意味する。もしも
smb ports = 139が指定されていない場合(既定値では
445 139
)か、もしもこのパラメーターの値が
139 445
の時は、%L
は無効である。
各サーバーの個別設定で、ポート445を使う(NetBIOSなしのSMBポート)複数のサーバーを
ホスティングするのは可能で、この場合、(IPアドレスによって)分離されたサーバーを識別する
ために、%i
が使える。おのおのは固有のsecurity
モードを持つ。仮想サーバーを作成するために、interfacesと
bind interfaces onlyをnetbios nameに
追加する必要があるかもしれない。この方法は、TCPポート139のみを使うNetBIOS名を使うよりも
より複雑であると考えられる。
スタンドアロンでユーザーモードのセキュリティで動くSambaと置き換え対象の、 読み取り専用Windows 95ファイルサーバーからなる例題環境を考えてみよう。新しいPCでWindows 95 マシンを置き換える代わりに、Sambaサーバー上でホスティングされる読み取り専用匿名ファイル サーバーとしてこのサーバーを追加することが可能である。以下はそれに必要ないくつかのパラメーター である:
Sambaサーバーの名前はELASTIC
で、そのワークグループ名はROBINSNEST
である。
CDROMサーバーの名前はCDSERVER
で、そのワークグループ名はARTSDEPT
である。出来うる実装は以下の通り:
マスターサーバーに対するsmb.conf
ファイルはElasticのsmb.confファイルである。
このファイルは/etc/samba
中に置かれる。nmbd と smbd デーモンのみが
必要である。サーバーを起動すると、Windowsのネットワークコンピューター中の、ワークグループ
ROBINSNEST
配下にELASTIC
が現れる。もしも、このサーバーに
アクセスするWindowsクライアントがまたワークグループROBINSNEST
中にいて、
より信頼性の高いブラウジングを行わさせるのに、これは便利である。
Example 34.1. Elasticのsmb.confファイル
CDROMサーバーの設定ファイルはCDROMサーバーのsmb-cdserver.confファイル
である。このファイルはsmb-cdserver.conf
という名前で、
/etc/samba
ディレクトリに置かれる。ワークグループ
ARTSDEPT
中にいるマシンはサーバーを自由にブラウズできる。
2つのサーバーは異なったりソースを持ち、分離されたワークグループ内にいる。サーバー
ELASTIC
は、そのホストサーバー上に適切なアカウントを持つユーザーから
のみアクセスできる。すべてのユーザーは、/export/cddata
ディレクトリ中に格納されるCDROMデータにアクセスできる。ファイルシステムのアクセス許可は、
その他
ユーザーがディレクトリとその内容に対して読み取り専用アクセスを
設定すべきである。ファイルはrootが所有できる(nobodyアカウント以外の任意のユーザーでも)。
この例では、要求されていることは、MIDEARTH
というドメインに対する
プライマリドメインコントローラーに対するものである。PDCはMERLIN
である。その他のマシンとしてSAURON
が必要とされている。各マシンは
それぞれ固有の共有のみ持つ。両マシンは同じドメイン/ワークグループに属している。
マスターのsmb.conf
ファイルはマスターのsmb.conf ファイルのグローバルセクション
である。各サーバーの共有情報を指定する2つのファイルは、
smb-merlin.confファイルの共有セクションと
smb-sauron.confファイルの共有セクションである。3つの
ファイルはすべて/etc/samba
ディレクトリに置かれる。
Example 34.3. マスターのsmb.conf ファイルのグローバルセクション
Example 34.4. smb-merlin.confファイルの共有セクション