# smbsh

## Name

smbsh -- UNIX コマンドに Windows NT ファイルシステムへのアクセスを可能にする

## Synopsis

smbsh [-W workgroup] [-U username] [-P prefix] [-R <name resolve order>] [-d <debug level>] [-l logfile] [-L libdir]

## DESCRIPTION

このツールは Samba の一部である。

smbsh を利用すると、ls, egrep や rcp などのUNIXコマンドを使用して NT のファイルシステムにアクセスすることが可能になる。 smbsh を正しく動作させるには、ダイナミックリンクされたシェルを 使う必要がある。

## オプション

-W WORKGROUP

  そのセッションにおいて、`smb.conf` ファイルの workgroup パラメータで指定された デフォルトのワークグループを上書きする。これは、いくつかの サーバへの接続において必要かもしれない。

-U username[%pass]

  SMB のユーザ名またはユーザ名とパスワードを設定する。 もしこのオプションが指定されなければ、ユーザ名とパスワードの両方が 尋ねられる。もし %pass が指定されなければ、 パスワードが尋ねられる。

-P prefix

  このオプションは、 SMB アクセスにおけるディレクトリの接頭辞を指定することができる。 このオプションが指定されないときのデフォルト値は smb である。

-R <name resolve order>

  このオプションは ホスト名からIPアドレスを解決する際の手段、順序を決定するのに使用される。 オプションは、名前解決の手段ごとに異なる、 スペースで区切られた文字列である。

  オプションは以下の通り: "lmhosts"、"host"、"wins" そして "bcast"。 これらは、以下のような名前解決を行う。

  - `lmhosts` : Samba の lmhosts ファイルからIPアドレスを解決する。 もし lmhosts の該当行に NetBIOS 名のタイプがない場合 ( lmhosts(5) を参照)、 すべての NetBIOS 名のタイプが検索される。

  - `host` : システムの標準的な方法を用いてホスト名から IP アドレスへの解決を行なう。 `/etc/hosts` ファイルや NIS、DNS などが参照されるが、 オペレーティングシステムに依存する。 例えば IRIX や Solaris では、 `/etc/nsswitch.conf` ファイルにより制御されている。 この方式では、問い合わされるNetBIOS名のタイプは 0x20(サーバ)であるときにに限定され、 そうでない場合は無視されることに注意。

  - `wins` : wins server パラメータで列挙された IP アドレスに対して名前の問い合わせを行なう。 WINS サーバが指定されていなかった場合、 この方式は無視される。

  - `bcast` : interfaces パラメータで 記述された各々のローカルインターフェースに対し、 ブロードキャストを行う。これは対象のホストが同じ サブネット内に存在している必要があるため、 あまり確実ではない名前解決の方式である。

  このパラメータが設定されていなかった場合、 `smb.conf` ファイル中で設定された (name resolve order) パラメータが使われる。

  デフォルトの順序は、lmhosts、host、wins、bcast である。 このパラメータが指定されず、`smb.conf` ファイル中の name resolve order パラメータも 記述されていない場合、この順に名前解決が試行される。

-d <debug level>

  debug level は 0 から 10 の整数である。

  このパラメータが指定されていないときのデフォルト値は ゼロである。

  大きい値ほど、smbsh の動作に関する 詳細なログが出力される。レベル 0 では、重大なエラーと深刻な警告のみ がログとして出力される。

-l logfilename

  指定されると、すべてのデバッグメッセージが logfilename で指定されたファイルに 書かれる。指定されなければ、すべてのメッセージは stderr に出力される。

-L libdir

  このパラメータには、smbsh によって使用される共有ライブラリの位置を指定する。デフォルト値は コンパイル時に指定される。

## 例

smbsh コマンドを利用するには、 下記のようにプロンプトから smbsh を実行し、 Windows NT を実行しているマシンに対する認証に用いるユーザ名と パスワードを入力する。

    	system% smbsh
    	Username: user
    	Password: XXXXXXX

このシェルから実行される、すべてのダイナミックリンクされたコマンドは、 SMB プロトコルを利用し `/smb` ディレクトリにアクセスすることになる。 例えば、コマンド ls /smb は、ワークグループのリストを表示する。 コマンド ls /smb/MYGROUP はワークグループ MYGROUP 内の全てのマシンを表示する。 コマンド ls /smb/MYGROUP/<machine-name> は、 そのマシンの共有名を表示する。 例えば、cd コマンドでディレクトリを移動したり、 vi コマンドでファイルを編集したり、 rcp コマンドでファイルをコピーしたりすることもできる。

## バージョン

このマニュアルページは Samba バージョン 2.2 一式用である。

## バグ

smbsh は 標準の libc への呼び出しを横取りして、 `smbwrapper.o` 内のコードを動的にロードすることにより動作する。 すべての呼び出しが "フック" されるわけではないので、 smbsh の下では動作しないプログラムがあるかもしれない。

ダイナミックリンクされていないプログラムは、smbsh の機能を利用することはできない。ほとんどの UNIX システムでは、file コマンドを実行することで、プログラムがダイナミックリンクされているのか、 スタティックリンクされているのかを調べることができる。

## 参照

smbd(8), smb.conf(5)

## 著者

オリジナルの Samba ソフトウェアと関連するユーティリティは、 Andrew Tridgell によって作成された。現在 Samba は Samba Team によって、 Linux カーネルの開発と同様の オープンソースプロジェクトとして開発が行なわれている。

オリジナルの Samba マニュアルページは Karl Auer によって作成された。 マニュアルページは YODL 形式( ftp://ftp.icce.rug.nl/pub/unix/ で入手可能な優れたオープンソースソフトウェア) に変換され、 Samba 2.0 リリースに伴い、Jeremy Allison によって更新された。 Samba 2.2 における DocBook 形式への変換は、 Gerald Carter によって行なわれた。

## 日本語訳

- 嶋崎保任

- はせがわ ようすけ