Name

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

Synopsis

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

解説

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

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

オプション

-W WORKGROUP

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

-U username[%pass]

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

-P prefix

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

-s <configuration file>

サーバーが必要とする詳細な設定を含む設定ファイルを指定する。 このファイルには、 サーバーが提供するサービスに関する記述や、 どの printcap ファイルを利用するかといった情報が含まれている。 詳細は smb.conf を参照のこと。 デフォルトの設定ファイルの名前は、コンパイル時に決定される。

-d|--debug=debuglevel

デバッグレベルを debuglevel に設定する。 debuglevel は、0 から 10 までの整数である。 このパラメータを指定しないときのデフォルト値は 0 である。

この値を大きくするほど、 サーバーの動作に関するより詳細な情報がログファイルに記録される。 レベル 0 では、致命的なエラーと重大な警告のみが記録される。 レベル 1 は日々の運用に適しており、 少量の稼働状況に関する情報を生成する。

1 より上のレベルは大量のログが生成されるので、 問題解決の時にのみ使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されており、 莫大な量のログデータが生成される。 そのほとんどは非常に謎めいた内容となっている。

注意: このパラメータの指定は、 smb.conf ファイル中の log level パラメータより優先される。

-R <name resolve order>

ホスト名から IP アドレスを解決する際に利用するネームサービスと利用する順序を指定する。 オプションの値には、ネームサービスごとに異なる文字列をスペースで区切って指定する。

指定できるのは「lmhosts」、「host」、「wins」 そして「bcast」である。それぞれ以下のような名前解決を行う:

  • lmhosts: Samba の lmhosts ファイルから IP アドレスを探す。 lmhosts 内の NetBIOS 名に名前種別がついていない場合 (詳細は lmhosts(5) を参照)、 検索の際、すべての名前種別に一致する。

  • host: システム標準の /etc/hosts ファイルや NIS、DNS などの方式を利用してホスト名から IP アドレスを解決する。 この名前解決の手順はオペレーティングシステムに依存する。 例えば 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 パラメータ指定がなければ、 この順番で名前解決が試行される。

-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 バージョン 3.0 一式用である。

バグ

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 によって行なわれた。Samba 3.0 における DocBook XML 4.2 形式への変換は Alexander Bokovoy によって行われた。

日本語訳

  • 嶋崎保任

  • はせがわ ようすけ

  • 山田 史朗 (shiro@miraclelinux.com)