nmbd — NetBIOS over TCP/IP クライアントへの NetBIOS ネームサーバー機能の提供
nmbd
[-D|--daemon] [-F|--foreground] [-S|--log-stdout] [-i|--interactive] [-V] [-d <debug level>] [-H|--hosts <lmhosts file>] [-l <log directory>] [-p|--port <port number>] [-s <configuration file>] [--no-process-group]
このプログラムは samba(7) システムの一部である。
nmbd
は、Windows95/98/Me、 Windows NT、Windows XP
や LanManager クライアントなどの SMB/CIFS クライアントによる
NetBIOS over TCP/IP のネームサービスのリクエストを認識し、
応答することができるサーバーである。
また、Windows の「ネットワークコンピューター」
で表示されるコンピューターの一覧を
作り出すブラウジングのプロトコルにも対応している。
SMB/CIFS クライアントは、起動時に SMB/CIFS サーバーを探索し、 サーバーが用いている IP アドレスを確認しようとする。
サービスの中でもとりわけ nmbd
は、
そのようなリクエストを監視し、自分の NetBIOS 名が指定されたなら、
自身の IP アドレスを返答する。
「自分の NetBIOS 名」は、
既定値では動作しているホストのプライマリDNS 名であるが、
これは smb.conf
の netbios name
によって変更可能である。
このように nmbd
は、 自分の名前(復数の場合もある)を、
ブロードキャストの問い合わせに対して返答する。nmbd が返す追加の名前を、
smb.conf(5)
設定ファイル中のパラメーターで設定することができる。
nmbd
は、WINS (Windows Internet Name Service)
サーバーとしても利用できる。
基本的にこれが意味することは、WINS データベースサーバーとして、
受け取った名前登録要求からデータベースを構築でき、
またクライアントからの名前の問い合わせに応答することができるということである。
さらに nmbd
は、WINS proxy として動作でき、
WINS サーバーに対して WINS プロトコルで交信することができないクライアントからの、
ブロードキャスト要求を中継することができる。
このパラメーターが指定されると、nmbd
はデーモンとして動作する。
すなわち、自分自身を分離してバックグラウンドで動作し、適切なポートのリクエストを処理する。
既定では、nmbd
はデーモンとして動作しない。
推奨しないが、nmbd は inetd
からのメタ・デーモンとしても動作可能である。
このパラメーターを指定すると、nmbd
のメインプロセスはデーモン化しなくなる。つまり、
2 回の fork(2)
と端末からの切り離しを行なわない。
通常通り接続要求を処理するための子プロセスが生成されるが、
メインプロセスは終了しない。
この動作方式は、
Daniel J. Bernstein 作の daemontools
パッケージに含まれる
supervise
と svscan
や、
AIX のプロセスモニターなど、プロセス監視の下で
nmbd
を動作させるのに都合がよい。
このパラメーターが指定されると、nmbd
は
ファイルではなく標準出力にログを出力する。
このパラメーターが指定されると、
サーバーがシェルのコマンドライン上から起動されてもサーバーはデーモンとはならずに「対話的に」動作する。
このパラメーターにより、コマンドラインから起動した際に暗黙的にデーモンモードとなることが抑止される。
また、-S
パラメーターが指定されていたとしても、
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/samba/lmhosts
である。
このファイルの内容の詳細は、
lmhosts(5) マニュアルページを参照のこと。
プログラムのバージョン番号を表示する。
サーバーが必要とする詳細な設定を含む設定ファイルを
指定する。このファイルには、サーバーが提供するサービスに関する記述や、
どの printcap ファイルを利用するかといった情報が含まれている。詳細は
smb.conf
を参照のこと。設定ファイルの名前の既定値は、コンパイル時
に決定される。
ログ/デバッグファイルのファイル名。拡張子として
".progname"
が追加される(例えば log.smbclient,
log.smbd,など)。ログファイルはクライアントによって削除されることはない。
UDP ポート番号には正の整数を指定する。
このオプションは、nmbd
が名前問い合わせに返答する、
既定値の UDP ポート番号(通常は137)を変更する。
あなたがどんな場面でも助けを必要としない専門家でない限り、
このオプションを使用してはならない!
nmbd用に新しいプロセスグループを作成しない。
/etc/inetd.conf
サーバーが inetd
メタ・デーモン経由で動作しているならば、このファイルは
メタ・デーモンのための適切な起動情報を含む必要がある。
/etc/rc
(またはシステムが使う初期化スクリプト)
サーバーをデーモンとして起動させるならば、 このファイルにサーバーに応じた適切なスタートアップ 手順を含む必要がある。
/etc/services
サーバーを inetd
メタ・デーモン経由で起動させるなら、このファイルにサービス名
(例えば netbios-ssn)とサービスポート(例えば139)、
プロトコルタイプ(例えば tcp)のマッピングを含んでいなければいけない。
/usr/local/samba/lib/smb.conf
これは、
smb.conf(5) のデフォルトの位置である。
本ファイルのこれ以外の標準的なインストール位置は、
/usr/samba/lib/smb.conf
と
/etc/samba/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
が SIGHUP を受け取ると、名前の一覧を
/usr/local/samba/var/locks
ディレクトリ
(または Samba 自身がインストールされた場所の配下に作成される
var/locks
ディレクトリ)中のファイル
namelist.debug
にダンプする。
同様に nmbd はサーバーデータベースを log.nmb
ファイルにダンプする。
smbcontrol(1) を使うと nmbd のデバッグ・ログ・レベルを上げたり下げたりできる (SIGUSR[1|2] シグナルは Samba 2.2 からもはや使用されていない)。 これにより、通常は低いログ・レベルで動作させた状態で、 一時的な問題を診断することができる。
inetd(8)、
smbd(8)、
smb.conf(5)、
smbclient(1)、
testparm(1)、
testprns(1)、
Internet RFC の rfc1001.txt
、rfc1002.txt
。
その他 CIFS(以前のSMB)の仕様を以下のWebページにあるリンクから入手できる:
https://www.samba.org/cifs/ 。