## Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly 共著
第一版 1999 年 11 月
1-56592-449-5, 注文番号: 4495
416 ページ, 34.95 ドル

ハードコピー版(英語)を購入

目次

| Chapter 1 Samba 概要 |

> ## 1.2 Samba ができること

> 前にも述べたように、Samba は同一ネットワーク上に Windows と Unix のマシンが共存しているときに有用である。とはいえ、ネットワーク上に Samba サーバをセットアップしたくなる明白な理由もいくつかある。

> - 一人前の Windows NT に代価を支払いたくない、あるいはその余裕は無いが、それが提供する機能を必要としている。

> - Windows サーバから Unix サーバへ、またはその逆向きに移行するために、データあるいはユーザ・ディレクトリ用の共通領域を提供したい。

> - Windows と Unix ワークステーション双方の間で、プリンタを共有できるようにしたい。

> - Unix サーバから NT のファイルへアクセスできるようにしたい。

> では 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: の所を見てほしい。ネットワーク・コンピュータ上のディレクトリを表現する方法は、まずバックスラッシュ２つ、続いてネットワークに接続されたコンピュータの名前、続いて１つのバックスラッシュを挟んでそのコンピュータ上での共有ディレクトリである。以下のようになる。

>     \\network-machine\directory

> これは、Windows の世界では UNC (Universal Naming Convention) として知られている。例えば、 図 1.4 のダイアログ・ボックスにある `hydra` サーバの network ディレクトリは次のように表す。:

>     \\HYDRA\network

> どこと無く見なれたもののように見えるかもしれないが、たぶんそれはネットスケープ・ナビゲータやインターネット・エクスプローラのような web ブラウザで、インターネット越しのマシン解決に使用している uniform resource locators (URLs) アドレスを思い浮かべているのだろう。この２つを混同してはいけない。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 というプログラムがあるので、これを用いれば即座に全てを提示してくれるだろう。実行例を次に示す。:

>     # smbstatus

>     Samba 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 の状況について、セクションに分けられた３組のデータを提供している。最初のセクションは、どのシステムが Samba サーバに接続しているかを示し、それぞれのクライアントは、コンピュータ名 (`phoenix` 、 `chimaera`) と IP アドレスで確認できる。２番目のセクションは、サーバ上の共有で現在使用中のファイル名と、読み／書きとロックの状況を報告している。最後は、 Samba が目下共有のために割り当て管理しているメモリ量を、共有で活発に使用されている量と、付加的なオーバーヘッドを加えた形で報告している。(これは、 smbd や nmbd プロセスが使用しているメモリの総量と同じではないことを注意しておく。)

> これらの統計量について理解できなくても気にする必要はない。この本を読み進めていくうちに容易に理解できるようになるだろう。

1.1 Samba 概要 |  | 1.3 SMB/CIFS ネットワークに詳しくなるために

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.