smbsh [-W workgroup] [-U username] [-P prefix] [-R <name resolve order>] [-d <debug level>] [-l logfile] [-L libdir]
このツールは Samba の一部である。
smbsh を利用すると、ls, egrep や rcp などのUNIXコマンドを使用して NT のファイルシステムにアクセスすることが可能になる。 smbsh を正しく動作させるには、ダイナミックリンクされたシェルを 使う必要がある。
そのセッションにおいて、smb.conf ファイルの workgroup パラメータで指定された デフォルトのワークグループを上書きする。これは、いくつかの サーバへの接続において必要かもしれない。
SMB のユーザ名またはユーザ名とパスワードを設定する。 もしこのオプションが指定されなければ、ユーザ名とパスワードの両方が 尋ねられる。もし %pass が指定されなければ、 パスワードが尋ねられる。
このオプションは、 SMB アクセスにおけるディレクトリの接頭辞を指定することができる。 このオプションが指定されないときのデフォルト値は smb である。
このオプションは ホスト名から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 パラメータも 記述されていない場合、この順に名前解決が試行される。
debug level は 0 から 10 の整数である。
このパラメータが指定されていないときのデフォルト値は ゼロである。
大きい値ほど、smbsh の動作に関する 詳細なログが出力される。レベル 0 では、重大なエラーと深刻な警告のみ がログとして出力される。
指定されると、すべてのデバッグメッセージが logfilename で指定されたファイルに 書かれる。指定されなければ、すべてのメッセージは stderr に出力される。
このパラメータには、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 コマンドでファイルをコピーしたりすることもできる。
smbsh は 標準の libc への呼び出しを横取りして、 smbwrapper.o 内のコードを動的にロードすることにより動作する。 すべての呼び出しが "フック" されるわけではないので、 smbsh の下では動作しないプログラムがあるかもしれない。
ダイナミックリンクされていないプログラムは、smbsh の機能を利用することはできない。ほとんどの UNIX システムでは、file コマンドを実行することで、プログラムがダイナミックリンクされているのか、 スタティックリンクされているのかを調べることができる。
オリジナルの 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 によって行なわれた。