## Using Samba

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

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

目次

| Chapter 3 |

> # 3. Windowsクライアントの設定

> Contents:
> Windows 95/98コンピュータの設定
> Windows NT 4.0コンピュータの設定
> SMB/CIFS への手引き

> 新しいSambaサーバを利用するためのWindowsの設定は、嬉しいことに非常に簡単だ。SMB は LAN での資源共有の用途に Microsoft が用いるネイティブな言語なので、Windowsクライアント側のインストールと設定の殆んどは、既に行なわれていることだろう。この章の主な課題はWindowsとUNIXという全く異なったOS同士が協調して通信を行なう為の設定である。

> Samba はネットワーク上のクライアントと通信する際にTCP/IPを用いる。Windowsコンピュータ上でまだTCP/IPを用いていなければ、この章でインストールのやり方を説明する。それから TCP/IP ネットワーク上で動作させるために Windows マシンを設定する必要がある。これらの必要事項が満たされたところで、どのようにしてSambaサーバ上の共有ディスクにアクセスできるかを説明する。

> この章は3つのセクションに分割されている。最初のセクションはWindows 95/98コンピュータについて、二つ目はWindows NT 4.0マシンについて説明する。最後のセクションではWindowsのクライアント-サーバ間でどのようにSMB接続が行なわれるのかに付いての情報を提供する。これは本書の後半部の章を読み進む上で有用である。

> ## 3.1 Windows 95/98コンピュータの設定

> 不幸なことに、Windows 95/98は複数のユーザが利用するようには設計されていない。このコンセプトはUNIXやWindows NTと比較すると顕著である。ただし、Windows 95/98も 限定的ながら 複数のユーザをサポートしている。設定を行なうことで、OSは各ユーザ毎に個別のプロファイル(デスクトップの情報)やパスワードファイルを維持するようになる。これは本来の複数ユーザ環境でのセキュリティには程遠い。言い替えれば、Windows 95/98 はUNIXとは異なり、ローカルディスク上のあるユーザが別のユーザの作業を破壊しないようにする仕組みはないが、プロファイルは存在していることになる。

> ### 3.1.1 アカウントとパスワード

> まず行なうべきことは、Windowsにユーザプロファイルを個別に保存するように設定し、Sambaの共有にアクセスする際の認証を行なうユーザ名とパスワードを保存することである。これは[コントロールパネル]の[パスワードの設定]で行なう。Windowsの[コントロールパネル]に不慣れな場合は、画面の左下にある[スタート]ボタンから[設定]メニューを呼び出すことでアクセスが可能である。また左上の隅にある自分のコンピュータを示す通常[マイコンピュータ]となっているアイコンの中にも該当するフォルダを見付けることができる。

> [コントロールパネル]中の[パスワード]アイコンを選択したら、右にある[ユーザプロファイル]タブをクリックする。すると 図 3.1に示すようなダイアログボックスが現われるはずである。そこで二つあるラジオボタンのうち、"各ユーザーは独自に基本設定と..."と書いてある下の方をチェックする。これでWindowsは個々のユーザ毎に別々のプロファイルを保存するようになり、後に SMB/CIFS サーバに接続する際に利用できるように、入力したユーザ名とパスワードを保存するようになる。最後に図にあるように[ユーザプロファイルの設定]中の両方の オプションをチェックする。

> #### 図 3.1: [パスワード]のプロパティ

> 次にダイアログボックスの左側にある[パスワードの変更]タブを選択する。Sambaの共有に対するアクセスを可能にするには、Windowsから入力したユーザ名とパスワードがSambaサーバ側のアカウントおよびパスワードと一致している必要がある。このタブがダイアログボックスにない場合も心配しないで欲しい。恐らくまだWindowsに対してユーザ名とパスワードを入力していないだけであろう。下部にあるOKボタンを押して、Windowsが再起動するかどうかを聞いてきたら単に[はい]と答えて再起動する。この場合、 Section 3.1.1.2, 最初のログインまでを省略すること。

> #### 3.1.1.1 Windows のパスワード変更

> [パスワードの変更]タブを選択すると、 図 3.2 のようなダイアログボックスが現われる。

> #### 図 3.2: [パスワードの変更]タブ

> [Windowsパスワードの変更]ボタンを押すと、 図 3.3のような[パスワードの変更]ダイアログボックスが現われる。ここでパスワードをログインしようとしているSambaサーバ上のアカウントのパスワードと一致するようにパスワードを変更できる。

> #### 図 3.3: [パスワードの変更]ダイアログボックス

> #### 3.1.1.2 最初のログイン

> [パスワードのプロパティ]ウインドウに[パスワードの変更]タブがなかった場合、Windowsが再起動してくると、ユーザ名とパスワードを指定してログインするように聞いて来るようになる。Sambaサーバに存在するユーザ名とパスワードを入力する。新しいユーザ名とパスワードを確認するか、既に存在しているものを利用した場合、Windowsはプロファイルを利用するかどうかを 図 3.4のようなダイアログで聞いてくる。

> #### 図 3.4: Windowsネットワークのプロファイル

> Yesと答えると、Windows上にそのアカウント専用のプロファイルとパスワードファイルを作成し、パスワードのコピーをファイルに格納する。これでSambaに接続する際、Windowsがパスワードを送信し、各共有に対する認証を行なえるようになる。ここではプロファイルに付いては無視する。プロファイルに付いてはChapter 6, Users, Security, and Domainsで記述する。ただし、誰かがパスワードファイルを盗み、強い暗号化がされていないパスワードを解読するというセキュリティのリスクが存在することに付いては記述しておく。不幸にしてWindows 95/98ではこれに対する解は存在しない。Windows 2000 (NT 5.0)では、パスワードの暗号化はより強力なアルゴリズムに置き換えられているはずである。

> ### 3.1.2 ネットワークの設定

> 次に行なうべき事項は、TCP/IPネットワーキングプロトコルが正しく設定されていることを確認することである。確認するには、まず[コントロールパネル]の[ネットワーク]アイコンをダブルクリックする。 図 3.5のようなネットワークの設定ダイアログボックスが現われるはずである。

> #### 図 3.5: Windows 95/98 の[ネットワーク]パネル

> Microsoftネットワークはイーサネットやダイヤルアップ接続といった特定のハードウェアとIPXやTCP/IPといった特定のプロトコルとにバインドすることで動作し、マシンはネットワークでクライアントとしてもサーバとしても機能することができる。Sambaの場合の我々の興味の対象は、TCP/IP プロトコルをネットワークデバイスにバインドし、マシンをMicrosoftネットワークのクライアントとすることだ。このため、ダイアログボックスが出現したら、少なくともMicrosoftネットワーククライアントがマシンにインストールされていることと、ネットワークデバイス (イーサネットが望ましい) がTCP/IPプロトコルにバインドされていることを確認しなければならない。ネットワークデバイスが1つだけの場合、TCP/IPプロトコルがデバイスの下に表示されていることだろう。 図 3.5のように表示されている場合、プロトコルはデバイスにバインドされている。

> "Microsoftネットワーク共有サービス"が表示されていることもあるかも知れない。これは有用なサービスである。更に、NetBEUIやNovell ネットワークが表示されていることもあるかも知れない。これらはWindowsのインストール時に標準でインストールされるが、TCP/IPを実行する上では好ましくない。可能であればNetBEUIを削除する。これは不要であるだけでなく、Windowsのブラウジングのトラブルシューティングを困難にしてしまう。ネットワーク上にNovellサーバが存在しない場合は、Novell (IPX/SPX)についても同様に削除すること。

> #### 3.1.2.1 TCP/IPの追加

> TCP/IPが表示されていない場合、このプロトコルをインストールする必要がある。既にTCP/IPがインストールされている場合、このセクションは省略して、次のセクション Section 3.1.3, 名前とワークグループの設定に進むこと。

> MicrosoftはインストールCD-ROM中に無償で利用できるMicrosoft版のTCP/IPを用意しているためTCP/IPのインストールは困難ではない(monyo 訳注: 無償(free)ではなく、追加の料金なく利用できる、が正しい)。コンポーネントウィンドウにある[追加]ボタンをクリックすることで、プロトコルを追加することが可能である。 図 3.6のようなダイアログボックスで、[プロトコル]を選択してから[追加]をクリックすることで、インストールしたいプロトコルを選択できる。

> #### 図 3.6: インストールするプロトコルの選択

> ［製造元]としてMicrosoftを指定することで、 図 3.7のように、TCP/IPプロトコルを選択し、OKをクリックする。これらが完了したら、ネットワークダイアログボックスまで戻る。OKを押してダイアログボックスを閉じる。既に必要なコンポーネントがディスクからインストールされている筈である。その後マシンを再起動する。

> #### 図 3.7: インストールするプロトコルの選択

> #### 3.1.2.2 TCP/IPの設定

> 複数のネットワークデバイス(例えばイーサネットカードとダイヤルアップネットワークのモデム)が存在する場合、各ハードウェアデバイスは、 図 3.8のように矢印でTCP/IPプロトコルに「リンク」されている必要がある。Sambaのネットワークにアクセス可能なネットワークデバイスへリンクしているTCP/IPプロトコルを選択して、プロパティボタンをクリックする。既にハイライトされていれば、プロパティボタンを選択する。

> #### 図 3.8: 正しいTCP/IPプロトコルの選択

> この時点で、そのデバイスのTCP/IPプロパティパネルが 図 3.9のように表示されている。

> #### 図 3.9: TCP/IP プロパティのパネル

> このパネルの上部には7つのタブが存在する。設定を行なうのは以下のタブである:

> - IP アドレス

> - DNS 設定

> - WINS 設定

> - バインド

> #### 3.1.2.3 [IP アドレス]タブ

> IPアドレスタブは、 図 3.9のようになっている。[IPアドレスを指定]ラジオボタンを選択して、クライアントのIPアドレスとサブネットマスクを入力する。自分自身かネットワーク管理者がマシンのIPアドレスを決定してある筈である。この値はSambaサーバと同じサブネットにコンピュータを配置するものにしておく。例えばサーバのアドレスが192.168.236.86でネットマスクが255.255.255.0の場合、Windows 98コンピュータのアドレスとして192.168.236.10を(もし使用されていなければ)、ネットマスクはサーバと同じものを利用できる。WindowsマシンにIPアドレスを提供するためにネットワークでDHCPが既に利用されている場合は、[IPアドレスを自動的に取得]ボタンを選択する。

> #### 3.1.2.4 [DNS 設定]タブ

> Domain Name Service (DNS)は hobbes.example.com のようなインターネット上のコンピュータの名前をマシンが識別可能な192.168.236.10のような形式のIPアドレスに責任をもって変換している。Windows 98マシン上でこれを達成するには2つの方法がある。変換をおこなってくれるサーバを指定するか、参照する名前とアドレスのリストをマシン内に保持するかである。

> hostsファイルで管理するにはあまりに巨大なため、インターネットに接続されているネットワークでは通常サーバを利用している。孤立したLANでは、利用可能なホストは少数であり、把握できているため、UNIXマシン上の /etc/hosts ファイルで管理することも可能であろう。もしDNSサーバが利用可能であるかどうかが分からないか、そのアドレスが不明なときは、UNIXサーバ上の /etc/resolv.conf ファイルを参照すること。DNSを利用しているマシンには、このファイルがある。このファイルは以下のようになっている:

>     #resolv.conf
>     domain example.com
>     nameserver 127.0.0.1
>     nameserver 192.168.236.20

> この例では、2行目の`nameserver` の行に、ローカルネットワーク上の別のマシンのIPアドレスである192.168.236.20が含まれている。これがDNSサーバである可能性が高い。[1]

> > [1] 各UNIXマシンはネットワークに接続されているかどうかに関わらずlocalhostのアドレスとして127.0.0.1というアドレスを登録しているため、こちらのアドレスは可能性から除外できる。このアドレスは幾つかのシステムのツールが正しく動作するために必要である。

> 1台以上のDNSサーバの正しいIPアドレスを 図 3.10の適切なフィールドに入力する必要がある( dns.oreilly.comのようなInternet名を利用してはいけない)。127.0.0.1を用いないように注意すること。このアドレスが正しいDNSサーバのアドレスである可能性は決してない!

> できる限り自分のネットワーク上のサーバのアドレスを選択すること。 /etc/resolv.confに記述されているDNSサーバのアドレスであればどれでも動作はするはずであるが、身近なサーバを指定することで、よりよいパフォーマンスを得ることができる( /etc/resolv.conf ファイルがUNIXマシン上に見付からないときは、少なくとも1つのDNSサーバのアドレスを見付けるまでDNSを無効にしておくこと)。ここではDNSサーバが1台しかなく、そのアドレスが192.168.236.20であると仮定しよう。 図 3.10のように[DNSを使う]ラジオボタンをチェックして、サーバのアドレスを[DNSサーバの検索順]フィールドの一番上に追加する。

> #### 図 3.10: [DNS 設定]タブ

> Windows 95/98マシンの名前と所属するInternetドメインも入力しておく。Sambaの設定に関しては[ドメイン サフィックスの検索順]フィールドは無視して構わない。

> #### 3.1.2.5 [WINS 設定]タブ

> WINSはWindows Internet Name Serviceの略であり、NetBIOSネームサーバである。SambaでWINSを有効にしている場合、Windowsに対してSambaサーバのアドレスを設定しておく必要がある。WINSサーバをWindows NT上で構築している場合は、それらのアドレスをここに記入する。[WINS設定]タブを選択すると、 図 3.11のようなダイアログボックスが表示される。

> #### 図 3.11: [WINS 設定]タブ

> > 警告:SambaのWINSサーバとWindows NTサーバのWINSサーバをWINSダイアログのプライマリとバックアップで混在して指定しない こと。双方でデータベースを複製することができないため、名前解決が正しく行なわれなくなってしまう。

> ここで[WINSの解決をする]を選択して、WINSサーバのアドレスを入力してから[追加]を押す。[スコープID]フィールドにはなにも入れないこと。

> #### 3.1.2.6 Hosts ファイル

> DNSもWINSもなく、ブロードキャストによる名前解決も利用したくないという場合は、IPアドレスとホスト名のテーブルを作成して、標準のUNIX /etc/hosts 形式で提供する必要がある。Windowsマシン上ではWindowsをインストールしたドライブ(通常 C:\)に存在する \WINDOWS\HOSTS に記述する。hosts ファイルの例を以下に示す:

>     # 127.0.0.1        localhost
>     192.168.236.1      escrime.example.com 	escrime
>     192.168.236.2      riposte.example.com 	riposte
>     192.168.236.3      wizzin.example.com 	wizzin
>     192.168.236.4      touche.example.com 	touche
>     192.168.236.10     hobbes.example.com 	hobbes

> このファイルを直接UNIXマシンの /etc/hosts にコピーすることも可能である。フォーマットは同じ形式である。ただし、 Windows 上で名前解決に hosts ファイルを利用するのは最後の策にして欲しい。.

> #### 3.1.2.7 [バインド]の確認

> 最後のタブは 図 3.12に示すバインドに関するものである。

> #### 図 3.12: [バインド]タブ

> 「Microsoftネットワーククライアント」がTCP/IPを利用するように、チェックを付けておくこと。「Microsoftネットワーク共有サービス」がダイアログに表示されている場合は、図のようにそれもチェックをしておくべきであろう。

> ### 3.1.3 名前とワークグループの設定

> 最後にTCP/IPの設定パネルのOKボタンを押して、[ネットワークの設定]画面に戻る。そこで[識別情報]タブを選択すると、以下の 図 3.13のようなダイアログボックスが表示される。

> #### 図 3.13: [識別情報]タブ

> ここで再度マシンの名前を設定する。今回はDNSホスト名やドメイン名の代わりにNetBIOS名を設定する。もっともこれはホスト名と 同一にしておくべきであろう。スペルを誤らないように注意すること。TCPでは`fred`であるにも関わらず、SMBレベルでは`ferd`であるような場合は、マシンの設定が非常に混乱してしまう!

> ワークグループ名もここで設定する。ここではワークグループ名はSIMPLEであるが、Chapter 2, UNIXシステムへのSambaのインストールで、Sambaの設定ファイルを作成した際に別の名前を利用していた場合は、その名前をここでも利用する。WORKGROUPという名称は避けること。さもないとネットワーク中の設定されていない(もしくは設定を誤っている)マシンと同じワークグループに所属していることになってしまう。

> ### 3.1.4 Sambaサーバへのアクセス

> 設定を完了する為にOKボタンをクリックする。設定変更を有効にするため、再起動が必要である。

> そしてその瞬間がやってきた。Sambaサーバが動作しており、Windows 95/98クライアントはSambaと通信できるように設定されている。再起動後にログインしてからデスクトップ上の[ネットワークコンピュータ]アイコンをダブルクリックする。Sambaサーバがワークグループのメンバーとして、 図 3.14のように表示されている筈である。

> #### 図 3.14: Windows の[ネットワークコンピュータ]

> サーバ名をダブルクリックすることで、 図 3.15のように、サーバがネットワーク上に提供しているリソースが表示される(この場合、プリンタと test ディレクトリ)。

> #### 図 3.15: サーバ上の共有

> > 警告: もし`IPC$`共有に対するユーザのパスワードを要求するダイアログが表示された場合は、Sambaがクライアントから送信されたパスワードを受け付けなかったということである。クライアント側で作成されたユーザ名とパスワードは 必ず Sambaサーバ上のユーザ名とパスワードの組合せと合致している必要がある。もしWindows 98やWindows NT サービスパック3以上を利用している場合、恐らくクライアントは平文パスワードではなく暗号化パスワードを送信しているのが原因であろう。 Sambaサーバ上で以下の2つの手順を行なうことでこの状況に対処できる。まず以下のエントリをSamba設定ファイルの`[global]`セクションに追加する: `encrypt password=yes`。次にSambaサーバ上の smbpasswdプログラムをみつけ(デフォルトで /usr/local/samba/binにある)、これを用いてSambaの暗号化パスワードデータベースにエントリを追加する。例えば`steve`というユーザをSambaの暗号化パスワードデータベースに追加するには、`smbpasswd -a steve`と入力する。最初にパスワードを入力した時は、プログラムはパスワードデータベースが存在しないというエラーを出力する。この場合データベースがデフォルトの場合 /usr/local/samba/private/smbpasswdに作成される。

> サーバが一覧中に表示されていない場合は、Windows Explorer (Internet Explorerではない)を開始して、[ツール]メニューから[ネットワークドライブの割り当て]を選択する。ダイアログボックスが現われるので、そこにサーバ名と共有名`test`を Chapter 1 で述べたWindowsのUNC 形式: \\`server`\testで入力する。これにより、Sambaサーバおよび一時共有への接続が行なわれる。これでもうまく行かない場合は、トラブル解決のため、Chapter 9, Sambaのトラブルシューティングを参照してほしい。

2.6 Sambaデーモンのテスト |  | 3.2 Windows NT 4.0コンピュータの設定

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

© 1999, O'Reilly & Associates, Inc.