![]() |
Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly 共著第一版 1999 年 11 月 1-56592-449-5, 注文番号: 4495 416 ページ, 34.95 ドル |
1.2 Samba ができること
前にも述べたように、Samba は同一ネットワーク上に Windows と Unix のマシンが共存しているときに有用である。とはいえ、ネットワーク上に Samba サーバをセットアップしたくなる明白な理由もいくつかある。
では Samba の振る舞いをざっと見ていくことにしよう。以下の基本的なネットワーク構成を仮定する。 Samba が稼動している
hydra
という Unix マシンと、phoenix
およびchimaera
という二台の Windows クライアントがあり、これらは全てローカル・エリア・ネットワーク (LAN) で接続している。また、hydra
にはインクジェット・プリンタを接続してあり、このプリンタをlp
という名称で、そしてディスク共有をnetwork
という名称で、他の 2 台のクライアントに提供しているものとする。このネットワークの図を 図 1.1 に示す。図 1.1: Samba サーバがある単純なネットワーク構成
このネットワークでは、全てのコンピュータは同じ ワークグループ に属している。 SMB ネットワークにおいて、ワークグループはコンピュータやそれらの資源の任意の集合を識別する、単なるグループの名札である。いつでも、ネットワーク上に複数のワークグループが存在できるが、この基本的なネットワークの例では、SIMPLE というワークグループが一つあるだけである。
1.2.1 ディスク共有サービス
全てが適切に設定されていれば、
phoenix
の Windows デスクトップにあるネットワーク・コンピュータを開くと、Samba サーバhydra
を見ることができるはずである。 図 1.2 は、実際にphoenix
で、ネットワーク・コンピュータを開いたところを示したもので、hydra
や、SIMPLE ワークグループに属する他のコンピュータが含まれている。一覧の一番上にあるのはネットワーク全体のアイコンであることを注意しておく。先ほど説明したように、いつでも SMB ネットワーク上に、複数のワークグループが存在できる。もし、ユーザがネットワーク全体のアイコンをクリックすれば、その時ネットワーク上に存在するワークグループの一覧を見ることができるだろう。図 1.2: ネットワーク・コンピュータ
hydra
サーバのアイコンをダブル・クリックすると、その詳細をみることができる。こうすると、hydra
本体と交信し、hydra
が提供している 共有 - ファイルやプリンタ資源 - の一覧を要求する。この場合は、 図 1.3 のように、サーバ上のlp
というプリンタとnetwork
というディスク共有である。ウィンドウ上の表示では、ホスト名が大文字小文字の混合表記(Hydra)となることに注意すること。ホスト名の大文字小文字の違いは重要ではない。様々な表示やコマンド出力で、hydra、Hydra、 HYDRA といった表示を目にするだろうが、それらは全て一つのシステムを参照している。Samba のおかげで、Windows 98 は Unix サーバを利用可能な SMB サーバと見なしているので、他のシステム・フォルダのように、このnetwork
フォルダへアクセスできる。図 1.3: phoenix から見た hydra サーバ上で利用可能な共有
Windows 95/98/NT が普及した理由の一つは、エクスプローラのネットワークドライブの割り当てオプションを使用して、既知のネットワーク・ディレクトリをディスク・ドライブとして割り当てられるようになったことである。[3] 一度これを実行すると、アプリケーションからネットワーク越しのアクセスが、通常のドライブレター経由でできるようになる。ゆえに、そこにデータを保存することもできるし、プログラムをインストールしそこから実行することもでき、そして不必要な訪問者からそれをパスワード・プロテクトすることさえできる。ネットワーク・ディレクトリをドライブに割り当てる様子を 図 1.4 に示す。
[3] ネットワークコンピュータの共有資源上で右クリックし、メニューからネットワークドライブの割り当てを選択することでも同様なことができる。
図 1.4: ネットワーク・ドライブの Windows レター・ドライブへの割り当て
図 1.4の、ダイアログ・ボックス内にある Path: の所を見てほしい。ネットワーク・コンピュータ上のディレクトリを表現する方法は、まずバックスラッシュ2つ、続いてネットワークに接続されたコンピュータの名前、続いて1つのバックスラッシュを挟んでそのコンピュータ上での共有ディレクトリである。以下のようになる。
\\network-machine\directoryこれは、Windows の世界では UNC (Universal Naming Convention) として知られている。例えば、 図 1.4 のダイアログ・ボックスにある
hydra
サーバの network ディレクトリは次のように表す。:\\HYDRA\network
どこと無く見なれたもののように見えるかもしれないが、たぶんそれはネットスケープ・ナビゲータやインターネット・エクスプローラのような web ブラウザで、インターネット越しのマシン解決に使用している uniform resource locators (URLs) アドレスを思い浮かべているのだろう。この2つを混同してはいけない。web ブラウザは普通バックスラッシュではなくスラッシュを用いるし、かつデータ転送プロトコル (例: ftp, http) とコロン (:) が最初のスラッシュの前にある。実際、URLs と UNCs は全くの別ものである。
一度ネットワーク・ドライブをセットアップしてしまえば、Windows や そのプログラムは、ネットワーク・ディレクトリがあたかもディスク・ドライブであるかの様に振舞う。ネットワーク上でマルチユーザ機能をサポートするアプリケーションを持っているなら、それらをネットワーク・ドライブにインストールすることもできる。 [4] 図 1.5 は、Windows 98 クライアントでネットワーク・ドライブを割り当てた結果として、他のディスク・ドライブと共に姿をみせているところを示している。アイコンの中で、G: ドライブのようにパイプラインで接続されているものは、ハード・ディスクではなくてネットワーク・ドライブなのである。
[4] 多くのエンド・ユーザ・ライセンス・アグリメントでは、複数のユーザがアクセスできるようなネットワーク上へのプログラムのインストールを禁じていることを警告しておく。製品に添えてある法的な契約書を確実に確かめること。
図 1.5: Network ディレクトリをドライブ G に割り当てた後の様子
Windows NT Workstation の
chimaera
から見ても、Samba は Windows 98 から見た時とほぼ同じ様に見える。 図 1.6 は、同様にWindows NT 4.0 のネットワーク・コンピュータからhydra
サーバを見たところを示す。ネットワーク・ドライブの割り当てオプションを用いてネットワーク・ドライブをセットアップすれば、 Windows NT Workstation 4.0 でも同じ結果が得られる。図 1.6: hydra 上の利用可能な共有 (chimaera から参照)
1.2.2 プリンタの共有
たぶん 図 1.3で、
hydra
の利用可能な共有の中に、プリンタlp
が現れていることに気づいただろう。これは、Unix サーバにプリンタが接続してあり、このワークグループのいろいろな SMB クライアントが共有できることを示している。クライアントからこのプリンタに対して送信されたデータは、Unix サーバにスプールされ、受信した順に印刷される。Samba 上の利用可能なプリンタを Windows 側でセットアップするのは、ディスク共有のセットアップよりずっと容易である。プリンタをダブル・クリックし、メーカと型番を確認すれば、このプリンタのドライバを Windows クライアントへインストールできる。その後 Windows は適当にフォーマットされた情報をネットワーク・プリンタに送ることができ、まるでローカル・プリンタであるかのようにアクセスできる。(この方法を以降の章で紹介する。) ネットワーク・プリンタを登録した後の Windows 98 のプリンタ・ウィンドウの様子を 図 1.7 に示す。プリンタの下にパイプラインが付属していることで、ネットワーク上のものだと識別できることを再度記しておく。
図 1.7: hydra 上の利用可能なプリンタを登録した様子(chimaera から参照)
1.2.2.1 Unix 側からの見えかた
前にも触れたように、 Unix 上で Samba は一対のデーモン・プログラムとして見える。これらは、 Unix の
ps
やnetstat
コマンドを用いて確認することができ、それらが出力するメッセージは個別のデバッグ・ファイルまたは Unix のsyslog
(Samba のセット・アップ方法による) を通じて読むことができ、そして一つの Samba 設定ファイル: smb.conf で設定できる。さらに、もしそれぞれのデーモンが何をしているか知りたければ、 Samba には smbstatus というプログラムがあるので、これを用いれば即座に全てを提示してくれるだろう。実行例を次に示す。:#
smbstatusSamba version 2.0.4 Service uid gid pid machine ---------------------------------------------- network davecb davecb 7470 phoenix (192.168.220.101) Sun May 16 network davecb davecb 7589 chimaera (192.168.220.102) Sun May 16 Locked files: Pid DenyMode R/W Oplock Name -------------------------------------------------- 7589 DENY_NONE RDONLY EXCLUSIVE+BATCH /home/samba/quicken/inet/common/system/help.bmp Sun May 16 21:23:40 1999 7470 DENY_WRITE RDONLY NONE /home/samba/word/office/findfast.exe Sun May 16 20:51:08 1999 7589 DENY_WRITE RDONLY EXCLUSIVE+BATCH /home/samba/quicken/lfbmp70n.dll Sun May 16 21:23:39 1999 7589 DENY_WRITE RDWR EXCLUSIVE+BATCH /home/samba/quicken/inet/qdata/runtime.dat Sun May 16 21:23:41 1999 7470 DENY_WRITE RDONLY EXCLUSIVE+BATCH /home/samba/word/office/osa.exe Sun May 16 20:51:09 1999 7589 DENY_WRITE RDONLY NONE /home/samba/quicken/qversion.dll Sun May 16 21:20:33 1999 7470 DENY_WRITE RDONLY NONE /home/samba/quicken/qversion.dll Sun May 16 20:51:11 1999 Share mode memory usage (bytes): 1043432(99%) free + 4312(0%) used + 832(0%) overhead = 1048576(100%) totalこの出力は Samba の状況について、セクションに分けられた3組のデータを提供している。最初のセクションは、どのシステムが Samba サーバに接続しているかを示し、それぞれのクライアントは、コンピュータ名 (
phoenix
、chimaera
) と IP アドレスで確認できる。2番目のセクションは、サーバ上の共有で現在使用中のファイル名と、読み/書きとロックの状況を報告している。最後は、 Samba が目下共有のために割り当て管理しているメモリ量を、共有で活発に使用されている量と、付加的なオーバーヘッドを加えた形で報告している。(これは、 smbd や nmbd プロセスが使用しているメモリの総量と同じではないことを注意しておく。)これらの統計量について理解できなくても気にする必要はない。この本を読み進めていくうちに容易に理解できるようになるだろう。
© 1999, O'Reilly & Associates, Inc.