Samba FAQ: クライアントに関するよくある質問

前のページ 次のページ 目次

## 3. クライアントに関するよくある質問

## 3.1 Macintosh 用の Samba クライアントはありますか？

あります！ Thursby が DAVE と呼ばれる CIFS のクライアント/サーバを提供 しています - http://www.thursby.com/ をご覧ください。 Windows 95、 Windows NT、 Samba に対してテストが行われ、互換性がチェッ クされています。この文書を書いている段階では DAVE のバージョンは 1.0.1 です。 1.0.0 から 1.0.1 へのアップデートファイルは Thursby の web サイ トからフリーにダウンロードすることができます（ファインダのコピー速度が 非常に向上し、バグが修正されています）。

代案です。いくつかの Unix マシンで動く AppleTalk の実装が、フリーなも ので二つ、商業ベースのものもいくつかあります。これらを使えば Macintosh ネイティブなファイルサービスとプリントサービスを提供できます。 Macintosh 側には変更をする必要はないのです。フリーな実装のものとしては、 Netatalk と CAP が あります。これらのパッケージは、 Samba が MS Windows ユーザに提供する のと同じものを Mac に提供します。これらのパッケージや Samba、 Linux （および他の Unix ベースなシステム）に関するより詳しい情報が http://www.eats.com/linux_mac_win.html で入手できます。

## 3.2 「Session request failed (131,130)」というエラーが起こります。

以下の回答は John E. Miller によるものです:

問題となっているホスト間で、 IP アドレスあるいはホスト名による ping は 相互にできているものとします。また適当なセキュリティモデルを使っており、 ユーザ ID およびパスワードは正しく扱うことができているものとします。こ の場合にはログ取りのオプション (-d3 かそれ以上) が非常に助けになるでしょ う。また DNS や WINS の設定も接続に影響することがあります。

ここで「スコープ ID」について述べます。お使いの Win95 TCP/IP ネットワー ク設定のどこかに、「スコープ ID」という名前のテキスト入力用 フィールドがあるはずです。 私は NT オンリーなので、Win95 の設定のどこにあるか知り ません。しかし Microsoft Solution Provider Authorized Tech Education Center (良い略語はないんですかね) で教えなければならないので、いつか は調べないといけないでしょう。［注: Win95 ではコントロールパネル下の "Network | TCP/IP | WINS 設定" です。ただし NT 4.0 では異なります。]

このフィールドはもともとは同じネットワーク上に「見えない」サブワークグ ループを作るためのものです。各ホストはスコープ ID が同じ値にセットされ ている場合に限り、別のホストを見ることができます。 OEM 供給された PC では、同じベンダのホスト間だけでブラウズができるように設定されているこ ともありますが、通常の環境ではブランクのままになっているでしょう。もし このフィールドに何か値が入っている場合には、それと（大文字小文字も 含め）全く同じ値を smbclient や nmbd の -i オプション（小文字）の パラメータとして与える必要があります。例えばお使いの Win95 でスコープ ID が 「SomeStr」になっていたら、そのホストに接続するためには

> `

>     smbclient -iSomeStr [他のパラメータ]

> `

のように起動する必要があります。

## 3.3 私の PC の内蔵時計を Samba サーバと合わせるにはどうすれば良いですか？

PC の時計を Samba サーバと合わせるには以下のようにします。

- timesync.pif を windows ディレクトリにコピーします。
- timesync.pif は以下にあります: http://www.samba.org/pub/samba/binaries/miscellaneous/timesync.pif
- timesync.pif を「スタートアップ」グループ/フォルダに追加します。
- プログラム/アイコンの「プロパティ」ダイアログボックスを開きます。 プログラムの 'Properties' で、 'Run Minimimzed' オプションが選択されて いることを確認します。
- 「command line」セクションで \\sambahost を見るようになっている 部分を、お使いのサーバの名前に変更します。
- 「OK」を選んでプロパティのダイアログを閉じます。

これでお使いの PC を起動するごとに（あるいは Win95 にログインするごと に） PC の時計は Samba サーバと同期されます。

別法もあります。お使いのクライアントがドメインログオンをサポートしてい るなら、 Samba をドメインログオンに対応するように設定することもできま す。詳細は BROWSING.txt を参考にして下さい。

そしてログオンスクリプトに

> `

>     NET TIME \\%L /SET /YES

> `

という一行を追加します。

## 3.4 WinDD、 NTrigue、 WinCenterPro などに関する問題

上に挙げたプログラムは全て NT 上で動作するアプリケーションで、複数のユー ザがリモートのワークステーションから（大抵は X を通して） NT の GUI ア プリケーションにアクセスできるようにするものです。

これが Samba とどんな関係があるのでしょう？問題はこれらのユーザがファ イルマネージャを使って Samba サーバの共有をマウントする際に起こります。 最も良くある症状は以下のようなものです。最初に接続したユーザは正しい ファイルパーミッションを取得して問題なく作業できるのに、続いて接続す るユーザは最初にログインしたユーザと同じユーザとしてログインしてしまう のです。すると二番目以降のユーザは自分自身のホームディレクトリに アクセスできず、最初のユーザのホームディレクトリにアクセスして しまうのです（問題無く作業は... できませんよね）。

なぜこのようなことが起こるのでしょう？上記の製品は全て同じ系統に属する ものです（そしておそらく元になったコードも同じだと私は思っています）。 これらは全て Samba サーバに対して単一の SMB/TCP 接続をし、すべてのユー ザからのリクエストをこの接続にパイプするからなのです。 運の悪いことですが、致命的というわけでもありません。

もし Samba サーバを share レベルセキュリティ（デフォルト）で動作させて いる場合は、上記のように問題が生じます。 share レベルの SMB セキュリティ モデルは一つの SMB コネクションを通して複数のユーザ ID を送ることを 想定していません。 share/user/server レベルのセキュリティに関するより 詳細な情報は security_level.txt を見て下さい。

もしサーバを user あるいは server セキュリティレベルで動作させている場 合にはチャンスがあります。しかし最近の版（1.9.15p6 以上）を使っている 場合に限ります。古い版の Samba にはバグがあるため、この場合でも問題は 解決しません。

もしお使いの OS がトラップドア uid システムである場合には、やはり正し く動作しません。 Samba は接続中に uid を変更できなければなりませんが、 OS がトラップドア uid システムだとこれができないのです。 Samba が吐くログを見ればこのためかどうかわかります。

またこのような製品を使う場合には、特殊な共有である "homes" は使うべき ではない、ということも覚えておいて下さい。すべてのユーザが同じ ホームディレクトリに集められてしまうからです。代わりに \\server\username を使って下さい。

## 3.5 NT でのプリンタの問題

以下の Stefan Hergeth hergeth@f7axp1.informatik.fh-muenchen.de から寄せられた情報が役に立つでしょう:

ネットワークプリンタ（イーサネットカード付）が Unix のファイルサーバ （SAMBA-Server）を通して NT のクライアントに接続されているとします。 設定は Matthew Harrell harrell@leech.nrl.navy.mil （WinNT.txt を見て下さい） が述べているのと同様のものです。

1. ユーザが NT セッション中でこのプリンタを「通常使うプリンタ」に選 択しており、このプリンタがネットワークに接続されていない（電源が落ちて いるとか）と、このユーザは SAMBA ファイルシステムへの接続に問題を抱え ることになります。非常に遅くなるのです。
2. プリンタがネットワークに接続されていれば全く問題なく動作します。
3. smbd をデバッグレベル 3 で起動すると、 NT のスプーリングシステム が何度もプリンタに接続しようとしているのがわかるでしょう。プリンタがネッ トワークに接続されていない場合このリクエストは失敗し、 NT スプーラは何 度もプリンタサービスに接続しようとして多くの時間を無駄にすることになり ます。このためネットワーク接続が遅くなるのだと思います。
4. NT のプリントマネージャのメニューでプリンタのプロパティを別の設 定にすれば、この動作を変えることはできるでしょう。しかし私はまだ試して ません。

## 3.6 ファイルのタイムスタンプが一時間、あるいは数時間ずれます。なぜ？

以下は Paul Eggert eggert@twinsun.com から寄せられたものです。

きっとタイムゾーンの設定に問題があるのだと思います（訳注：日本では 9 時間ずれることになりますね）。

Samba の内部では、時間は伝統的な Unix フォーマットで管理されています。 すなわち 1970-01-01 00:00:00 標準時（GMT）からの経過秒数です（うるう秒 は考慮に入っていません）。

サーバ側では、 Samba は Unix の TZ 環境変数を利用して内部時間をローカ ル時間に変換しています。したがってサーバ側で問題を解決するには二つ方法 があります。

1. Unix のシステム時計は標準時にあっている必要があります。チェック するにはシェルのコマンド "sh -c 'TZ=UTC0 date'" を実行して下さい。
2. サーバの TZ 環境変数を Samba を起動する前に設定する必要がありま す。詳細はサーバの OS によって異なりますが、通常は /etc/TIMEZONE とか /etc/default/init などの名前のファイルを編集して、`zic -l' というコマ ンドを実行することになります。
   1. 可能なら、地名を使ったタイムゾーン設定（例 TZ='America/Los_Angeles'、 TZ=':US/Pacific' など）を用いましょう。これ らはほとんどの Unix OS でサポートされているはずですし、これまでのタイ ムスタンプより設定が簡単でしかも正確です。もしお使いの OS のテーブルが 古いものでしたら、パブリックドメインのタイムゾーンテーブルを ftp://elsie.nci.nih.gov/pub/ より入手してアップデートしましょう。
   2. もしお使いのシステムが地名を使ったタイムゾーン設定をサポー トしていない場合は、 POSIX 形式の TZ 設定を使わざるをえません。この場 合は、例えば US Pacific time に対しては TZ='PST8PDT,M4.1.0/2,M10.5.0/2' となります。 POSIX の TZ 文字列は以下のような形式を取ります（省略可能 なものは括弧でくくってあります）。

                  StdOffset[Dst[Offset],Date/Time,Date/Time]

      それぞれの意味は以下の通り:
      - `Std' は標準形式の時間設定です（例 `PST'）。
      - `Offset' は UTC からの遅れ時間を表す数値です（例 `8'）。 UTC よ り進んでいる場合には、数値の前に `-' を付けます。また 30 分単位のオフ セットがある場合には数値の後に `:30' を付けます。これ以降の書式は、サ マータイム（daylight-saving time）がないタイムゾーンの場合には省略します。
      - `Dst' はサマータイムを設定します（例 `PDT'）。 次の `Offset' はオプションで、サマータイムの UTC からの遅れ時間を示す 数値です。デフォルトは通常の時間の 1 時間前になります。
      - `Date/Time,Data/Time' はサマータイムの始まりと終わりを指定しま す。日付のフォーマットは `Mm.n.d' となっており、 m 月の 第 n 週 d 曜日（0 が日曜）を意味します。第 5 週を指定すると最後の d 曜日に なります。時刻のフォーマットは hh:mm[:ss] で、 24 時間単位で指定し ます。
      他の POSIX 文字列形式も許されていますが、おそらく知る必要はないでしょ う。

クライアント側でも、時計とタイムゾーン設定を正しく設定しておく必要があ ります（この点に関しては私が助言できることはあまりありません）。 伝統的に Samba はタイムゾーンの取り扱いに関していろいろな問題を抱えて きました。これは Microsoft network プロトコルでのタイムゾーンの扱いが ちょっと変わっているためです。よくある症状は、ファイルのタイムスタンプ が一時間遅れるというものです。この問題を回避するには、一度 Samba サー バへの接続を切って、再接続してみて下さい。あるいは Samba サーバを 1.9.16alpha10 以降にアップグレードして下さい。

## 3.7 プリンタドライバの名前を正しく設定するには？

質問:

NT 上で "Printer Manager" と "Connect to Printer" をオープンし、 プリンタのボックスに "\\ptdi270\ps" と入力したところ、以下のようなエ ラーメッセージが出てしまいました:

> `

>          You do not have sufficient access to your machine
>          to connect to the selected printer, since a driver
>          needs to be installed locally.

> `

回答:

最近のバージョンの Samba では、 smb.conf で "printer driver" という 指定ができるようになっています。これは用いるべきドライバを クライアントに伝えるもので、例えば以下のように設定します。

> `

>          printer driver = HP LaserJet 4L

> `

これによって NT は使うべきドライバを正しく知ることができます。 この文字列は完全に正しいものでなければなりません。

この「完全に正しい文字列」を調べるには、クライアントでインストールする プリンタドライバ選択するダイアログボックスを開きます。この中のリストボッ クスに、すべてのプリンタに対する「正しい文字列」があるはずです。

ドライバを NULL に指定してみることもできます。以下のようにします:

> `

>          printer driver = NULL

> `

これは古いバージョンの Samba が行ってきたのと実質的に同じ事になります。 ですから、もしうまく行くようでしたらこれにしておけばよいでしょう。 うまく行った場合は、 samba-bugs@samba.org 経由で我々に知らせて下さい。この設定をデフォルトにしたいと思います。現 在のデフォルトは空文字列（長さ 0 の文字列）になっています。

## 3.8 NT 4.0 SP3 を当てたら Samba の共有にアクセスできなくなりました。なぜ？

SP3 から、 Microsoft は「パスワード転送を平文のテキストで行う」をデフォ ルトにすることを止めました。 NT 4.0 SP3 から Samba の共有にアクセス するには、以下の二つのうちの一つを行う必要があります。

1. Samba の設定オプションを 'security = user' にし、 ENCRYPTION.txt に詳述してあるすべての作業を行う。
2. Microsoft の指示に従って、 NT マシンがプレインテキストのパスワードを受 け付けるように設定する。 Knowledge Base Article Q166730 を見て下さい。

前のページ 次のページ 目次