nmbd [-D] [-a] [-i] [-o] [-P] [-h] [-V] [-d <debug level>] [-H <lmhosts file>] [-l <log directory>] [-n <primary netbios name>] [-p <port number>] [-s <configuration file>]
このプログラムは Samba スイートの一部である。
nmbd は、Windows95/98/ME、 Windows NT や LanManager クライアントなどの、SMB/CIFS クライアントによる NetBIOS over IP のネームサービスのリクエストを認識し、 応答することができるサーバである。また、Windows の "ネットワークコンピュータ" で表示されるコンピュータの一覧を 作り出すブラウジングのプロトコルにも対応している。
SMB/CIFS クライアントは、始動時に SMB/CIFS サーバを探そうとする。つまり、指定されたサーバがどの IP アドレスを使用しているかを知ろうとする。
サービスの中でもとりわけ nmbd は、 そのようなリクエストを監視し、もしも自分の NetBIOS 名が指定されたなら、 動作しているホストの IP アドレスを返答する。その「自分の NetBIOS 名」は、 既定値では動作しているホストのプライマリ DNS 名であるが、 これは -n オプションによって変更可能である (下記の OPTIONS を参照)。このように、nmbd は、 自分の名前(復数の場合もある)を、 ブロードキャストの問い合わせに対して返答する。nmbd が返す追加の名前を、smb.conf(5) 設定ファイルの中でパラメータを経由して 設定することができる。
また、nmbd は、WINS (Windows Internet Name Service) サーバとしても利用できる。 基本的にこれが意味することは、WINS データベースサーバとして、 受け取った名前登録要求からデータベースを構築でき、 またクライアントからの名前の問い合わせに応答することができるということである。
さらに nmbd は、WINS proxy として動作でき、WINS サーバに対して WINS プロトコルで交信することができないクライアントからの、 ブロードキャスト要求を中継することができる。
このパラメータが指定されると、nmbd はデーモンとして動作する。すなわち、自分自身を分離して バックグラウンドで動作し、適切なポートのリクエストを処理する。 既定では、nmbd はデーモンとして動作しない。 推奨しないが、nmbd は inetd からのメタ daemon としても動作可能である。
このパラメータが指定されると、ログファイルには 新しい接続それぞれに対して追加書き込みされる。これはデフォルトの 動作である。
このパラメータが指定されると、サーバが shell のコマンドライン上から起動されてもサーバはデーモンとはならずに "対話的に"動作する。このパラメータの指定は、 コマンドラインから起動するときに 暗黙的にデーモンモードとなることを否定します。
もしもこのパラメータが指定されると、 ログファイルはオープンするときに上書きされる。既定値では、 smbd はログファイル追加書き込みする。
nmbd の ヘルプ情報(使い方)を表示する。
NetBIOS lmhosts ファイルの指定。lmhosts ファイルは、 NetBIOS 名と IP アドレスの組で構成されるリストである。 これは、nmbd サーバによってロードされ、任意の NetBIOS 名を解決する問い合わせのために、 smb.conf(5)中で記述されている、 name resolve order 名前解決メカニズムに従って、サーバが必要とする NetBIOS 名の問い合わせを解決するために使われる。このファイルの内容は、 nmbd が、任意の名前問い合わせに応答する時には 決して使われないことに注意。このファイルに行を追加すると、 このホストからの NetBIOS 解決にのみ影響する。
このファイルへの既定値のパス名は、Samba をビルドする過程でバイナリに埋め込まれる。共通のデフォルト値は、 /usr/local/samba/lib/lmhosts、 /usr/samba/lib/lmhosts または /etc/lmhosts である。このファイルの内容の詳細は、 lmhosts(5) マニュアルページにある。
nmbd のバージョン番号を表示する。
0 から 10 までの数値で、デバッグレベルを指定する。 このパラメータが指定されていないときのデフォルト値は 0 である。
この値を大きくすると、 サーバの動作状況についてをログファイルに、 より詳細に記録する。レベル 0 では、 致命的なエラーと重要な警告のみがログに記録される。 レベル 1 は通常動作させるには適切なレベルであり、 実行された操作についてのごくわずかの情報のみを生成する。
レベルが 1 より大きいと、非常に大量のログデータが 生成されるので、問題を調査する時にのみ使われるべきである。 レベル 3 は開発者のみが使うようにデザインされ、 まったく暗号のような、莫大なデータが生成される。
ここでパラメータを指定することは、 smb.conf ファイル中の log level パラメータを上書きすることに注意。
-l パラメータは、動作中の nmbdサーバからの動作結果を記録する ログファイル "log.nmbd" が作成される ディレクトリを指定する。
デフォルトでのディレクトリは、Samba をビルドする過程でバイナリに 埋め込まれる。一般的なデフォルト値は /usr/local/samba/var/log.nmb、 /usr/samba/var/log.nmb または /var/log/log.nmb である。注意: 指定されたディレクトリが存在しないときは、nmbd はコンパイル時に決定されたデフォルトのログの場所にログを記録しようとする。
このオプションでは Samba 自身が使用する NetBIOS名を変更することができる。これは、 smb.conf ファイル中に NetBIOS name パラメータを設定するのと同じであるが、smb.conf ファイルの設定を上書きする。
UDP ポート番号には正の整数を指定する。 このオプションは、nmbd が名前問い合わせに返答する、既定値の UDP ポート番号(通常は137)を変更する。 あなたがどんな場面でも助けを必要としない専門家でないならば、 このオプションを使用してはならない!
デフォルトの設定ファイル名はビルド時に設定され、 一般的には /usr/local/samba/lib/smb.conf であるが、これは Samba が autoconfigure されるときに変更することができる。
指定されたファイルにはサーバが必要とする構成の詳細が 含まれている。より詳細な情報は smb.conf(5)を参照のこと。
もしもサーバーが inetd メタデーモン経由で動作しているならば、このファイルは メタデーモンのための適切な起動情報を含んでいなければならない。 詳しくは UNIX_INSTALL.html ドキュメントを参照のこと。
(またはシステムが使う初期化スクリプト)
もしも、サーバをデーモンとして起動させるならば、 このファイルにサーバのための適切なスタートアップ 手順を含む必要がある。 詳しくは UNIX_INSTALL.html ドキュメントを参照のこと。
もしサーバを inetd メタデーモン経由で起動させるなら、このファイルにサービス名 (例えば netbios-ssn)とサービスポート(例えば139)、 プロトコルタイプ(例えば tcp)のマッピングを含んでいなければいけない。 詳しくは UNIX_INSTALL.html ドキュメントを参照のこと。
これは、 smb.conf のデフォルトの位置である。 その他の標準的なこのファイルのインストール位置は、 /usr/samba/lib/smb.conf と /etc/smb.conf である。
もし WINS サーバとして動作させるなら (smb.conf(5) マニュアルページ中の wins support パラメータを参照)、nmbd は、 Samba がインストールされた場所の下に作成される var/locks ディレクトリ中の wins.dat ファイルに WINS データベースを格納する。
もし nmbd がブラウズマスタ として動作しているならば(smb.conf(5) マニュアルページの local master パラメータを参照)、 nmbd は、 Samba 自身がインストールされた場所の配下に作成される var/locks ディレクトリ中の browse.dat ファイルにブラウズデータベースを格納する。
nmbd プロセスをシャットダウンするために、 SIGKILL(-9) を使用することは、最後の手段以外には決して 推奨しない。これは、名前データベースが整合性の崩れた状態で 残ってしまうかもしれないからである。正しい方法は、SIGTERM(-15) を nmbd に送り、nmbd が自ら終了するまで待つことである。
nmbd は SIGHUP を受け取ると、名前の一覧を /usr/local/samba/var/locks ディレクトリ (または Samba 自身がインストールされた場所の配下に作成される var/locks ディレクトリ)中のファイル namelist.debug にダンプすることができる。 また、同様に nmbd はサーバデータベースを log.nmb ファイルにダンプする。
smbcontrol(1) を使うと nmbd のデバッグ・ログ・レベルを上げたり下げたりできる (SIGUSR[1|2] シグナルは Samba 2.2 ではもはや使用されない)。 これにより、低いログ・レベルで動作している間に発生する 一時的な問題を診断することができる。
Samba と SWAT をインストールするときの問題に共通する原因のひとつに、 Samba サーバ上のある種のファイアウォールやポートフィルタリングソフト の存在がある。このマニュアルページで説明された然るべきポートが サーバ上で利用可能であるか、iptables や "port sentry" のような セキュリティソフトでブロックされていないか確認のこと。 より多くのトラブルシューティングについては、Samba の配布物に含まれる ドキュメントを参照のこと。
inetd(8)、 smbd(8)、 smb.conf(5) 、 smbclient(1) 、 testparm(1)、 testprns(1)、 と Internet RFC の rfc1001.txt、 rfc1002.txt. さらに追加で CIFS(昔はSMB)の仕様が次のWebページからのリンクにある。 http://samba.org/cifs/
オリジナルの Samba ソフトウェアと関連するユーティリティは、 Andrew Tridgell によって作られた。Samba は現在 Linux カーネルが 開発されているような方法でのオープンソースプロジェクトである Samba Team によって開発されている。
オリジナルの Samba の マニュアルページは Karl Auer によって書かれた。 マニュアルページは YODL 形式(別の、優秀なオープンソースソフトウェアで、 ftp://ftp.icce.rug.nl/pub/unix/ にある) で変換され、Jeremy Allison によって Samba 2.0 リリースのために更新された。 Samba 2.2 のための DocBook 形式への変換は Gerald Carter が行った。