## Using Samba

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

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

目次

| Chapter 4 ディスク共有 |

> ## 4.5 ディスク共有の設定

> 以前の章では、サーバ `hydra` にはディスク共有を設定していないと記述している。 そこで、ここでは設定ファイルを編集して、[`data`] というディスク共有を作成していこう。以下が共有を追加するのに必要な設定である:

>     [global]
>     	netbios name = HYDRA
>     	server string = Samba %v on (%L)
>     	workgroup = SIMPLE

>     [data]
>     	path = /export/samba/data
>     	comment = Data Drive
>     	volume = Sample-Data-Drive
>     	writeable = yes
>     	guest ok = yes

> `[data]` 共有は典型的な Samba のディスク共有である。共有は、Samba サーバの /export/samba/dataディレクトリにマッピングされている。また共有には `Data` `Drive`というコメントとボリューム名も付けている。

> 共有は、ユーザがデータを書き込むことができるように書き込み可能に設定されている。なお Samba のデフォルトは読み込み専用であり、従って、書き込み可能にする各々の共有に対して明示的に書き込み可能オプションを設定する必要がある。

> `guest` `ok` パラメータを`yes`に設定したことに気づいたかも知れない。これはあまりセキュリティを考慮した設定とは言えないが、各ユーザの設定を行って認証を行えるようにするにはパスワード絡みで幾つか理解しておかないといけない点があるので、現時点では、このように設定することで、誰でも共有に接続できるようにした。

> それでは設定ファイルに上記の記述を設定してみよう。また Samba マシン上にrootで /export/samba/data というディレクトリを以下のように作成する:

>     # mkdir /export/samba/data
>     # chmod 777 /export/samba/data

> ここまでの設定で、`hydra` サーバに(Windows の「ネットワークコンピュータ」アイコンをクリックすることで)再度接続を行うと、 図 4.4のように、`data`という名称の共有が一つ表示されるはずである。この共有には読み込み/書き込み両方のアクセスが可能である。ファイルを共有にコピーしてみよう。また試してみたければ、ネットワークドライブに割り当てることも可能である!

> #### Figure 4.4: Samba サーバ上にdata共有を作成したところ

> ### 4.5.1 ディスク共有の設定オプション

> ここまでに記述したディスク共有に関するSambaの基本的な設定を 表 4.4に示す。

> 表 4.4: 基本的な共有の設定オプション
> オプション | パラメータ | 機能 | デフォルト | 範囲
> --- | --- | --- | --- | ---
> `path (directory)` | 文字列(フルパス名) | 共有ディスク、もしくは共有プリンタのスプール領域に使われるUNIXのディレクトリを指定する | `/tmp` | 共有
> `guest ok (public)` | 真偽値 | `yes`に設定されると、認証なしでこの共有に接続できるようになる | `no` | 共有
> `comment` | 文字列 | 共有に対するコメントを設定する | なし | 共有
> `volume` | 文字列 | ボリューム名(物理ディスクにつけられるDOSの名前)を設定する | 共有の名称 | 共有
> `read only` | 真偽値 | `yes`に設定されると、共有は読み込みアクセスのみが許可される | `yes` | 共有
> `writeable (write ok)` | 真偽値 | `no`に設定されると、共有は読み込みアクセスのみが許可される | `no` | 共有

> #### 4.5.1.1 path

> このオプションには`directory`という同義語があり、ディスク共有やプリンタ共有のトップにあたるパス名を指定する。Samba プロセスの権限で読み書きできるディレクトリである限り、Samba サーバ上のパスであれば、どこを指定しても構わない。パスがプリンタ共有に対して指定された場合、それは実際のプリンタにスプールされる前にサーバ上にデータが書き込まれる一時的なディレクトリの位置を示す。(/tmp や /var/spool が一般的なところであろう)。パスがディスク共有に対して指定された場合、クライアントから共有名として表示されるフォルダの内容が、Samba サーバ上の指定されたディレクトリの内容と一致することになる。例えば、以下のようなディスク共有を設定ファイル中で行い:

>     [network]
>     	path = /export/samba/network
>     	writable = yes

>     	guest ok = yes

> UNIX上のディレクトリ /usr/local/network の内容が:

>     $ ls -al /export/samba/network

>     drwxrwxrwx  9  root   nobody  1024  Feb 16 17:17  .
>     drwxr-xr-x  9  nobody nobody  1024  Feb 16 17:17  ..
>     drwxr-xr-x  9  nobody nobody  1024  Feb 16 17:17  quicken
>     drwxr-xr-x  9  nobody nobody  1024  Feb 16 17:17  tax98
>     drwxr-xr-x  9  nobody nobody  1024  Feb 16 17:17  taxdocuments

> であった場合、クライアントからは 図 4.5 のようにみえることになる。

> #### 図 4.5: path で指定されたネットワークファイルシステムを Windows クライアントからみた図

> #### 4.5.1.2 guest ok

> このオプション(`public`という旧来からの同義語がある)により、共有へのゲストアクセスが許可、もしくは拒否される。デフォルト値は`no`である。`yes`に設定された場合、共有に接続するのにユーザ名やパスワードは不要となる。ユーザの接続時にはアクセス権はゲストユーザとして指定されたユーザの権限になる。Samba が提供するデフォルトのアカウントは`nobody`である。しかしこれは`guest` `account` 設定オプションにより設定することができる。例えば以下の設 定はゲストユーザでの`[accounting]` 共有へのアクセスが ftp アカウントの権限で行われることを意味する:

>     [global]
>     	guest account = ftp
>     [accounting]
>     	path = /usr/local/account
>     	guest ok = yes

> 依然としてユーザは正しいユーザ名とパスワードの組を使って共有にアクセスすることも可能であることに注意すること。もし接続が成功すれば、ユーザはゲストアカウントでなく、接続したアカウントのアクセス権を維持する。しかしユーザがログインに失敗すれば、アクセス権がゲストアカウントのものになることになる。共有に接続するすべてのユーザにゲストアカウントでの接続(およびゲストのアクセス権)を強制するには、`guest` `only` `=` `yes`とする。

> #### 4.5.1.3 comment

> `comment` オプションはクライアントが共有を一覧した時に表示されるコ メントを設定する。ユーザがコメントをみるには、Windows の「ネットワークコ ンピュータ」上でそのコンピュータの共有フォルダの一覧を「詳細」モードでみ るか、MS-DOS プロンプトで`NET` `VIEW` コマンドを入力する。以下は`[network]` 共有に対してコメントを付加する場合の例である:

>     [network]
>     	comment = Network Drive
>     	path = /export/samba/network

> これにより、クライアントからは 図 4.6のように表示される。現在の Windows の仕様では、共有がWindows のネットワークドライブにマップされてしまうと表示されなくなってしまうことに注意すること。

> #### 図 4.6: 共有へのコメントを Windows クライアントからみたところ

> `comment` オプションは Samba サーバの共有に対する説明を設定するものであり、`server` `string` オプションはサーバ自身の説明を設定するものである、両者を混同しないこと。

> #### 4.5.1.4 volume

> このオプションは、SMB が返却する共有のヴォリューム名を設定する。通常は smb.conf ファイルで指定された共有の名前になっている。しかし(何らかの理由で)他の名称に変更したいときはこのオプションで設定することが可能である。

> インストーラプログラムがインストールを行う前に正しいCD-ROMがドライブに挿入されているかどうかのチェックにボリューム名をチェックしているような場合がある。CD-ROMの内容をネットワーク共有にコピーして、そこからインストールを行おうとしている場合、このオプションを用いることで、問題を解決できる:

>     [network]
>     	comment = Network Drive
>     	volume = ASVP-102-RTYUIKA
>     	path = /home/samba/network

> #### 4.5.1.5 read only と writeable

> `read` `only` と `writeable` (もしくは `write` `ok`) は同じことを反対の観点から記述したものである。以下の設定を`[global]` セクションや個々の共有に対して設定することができる:

>     read only = yes
>     writeable = no

> どちらかのオプションが設定されていると、共有からデータを読み取ることはできるが書き込むことはできない。このオプションは読み込み専用の共有を作るときにだけ用いるものだと勘違いしているかも知れないが、読み込み専用の動作が共有に対する デフォルト の動作であることに注意すること。共有に対して書き込みを行 いたい時は明示的に以下のオプションのどちらかを個々の共有毎に設定ファイル に記述する必要がある:

>     read only = no
>     writeable = yes

> ある共有に対して、これらのオプションが重複して設定されていた場合、Samba は最後に設定された方の設定を利用することに注意すること。

4.4 サーバの設定 |  | 4.6 Samba のネットワークオプション

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

© 1999, O'Reilly & Associates, Inc.