总览 SYNOPSIS
nmbd [-D] [-F] [-S] [-a] [-i] [-o] [-h] [-V][-d <debug level>] [-H <lmhosts file>] [-l <log directory>][-n <primary netbios name>] [-p <port number>] [-s <configuration file>]
描述 DESCRIPTION
此程序是 Samba(7) 套件的一部分。
nmbd 是一个回应构造于IP之上的NetBIOS名字服务请求的服务器,这些请求由SMBD/CIFS 客户(如Windows 95/98、NT和LanManager客户)产生。当然它也参与构造Windows的"网络邻居”查看的浏览协议。
当SMB/CIFS客户机启动时,会试图查找一个SMB/CIFS服务器。说得更精确些就是它们要知道正在使用的主机对应的IP地址。
在其它的服务中,nmbd 将监听这样的请求,如果客户自身的NetBIOS名字已被指定的话就用正在运行的主机IP地址回复它。这个“自身的NetBIOS名字”在默认情况下将是正在运行的主机在 DNS中的名字,但可以用 -n 参数(查看后面关于OPTIONS的描述)越过它。从而nmbd 将用它自已的名字来回应广播查询。要让 nmbd 回应额外名字的话可以在smb.conf(5)配置文件中通过参数来设定。
nmbd 也可用作一个WINS(Windows互联网名称服务)服务器。它作为WINS数据库服务器运作时,用名字注册请求来建立一个数据库以接收和回应客户对这些名字的查询。
另外,nmbd 也可以作WINS代理,转发用户不能直接以WINS协议和WINS服务器交谈的广播查询。
选项 OPTIONS
- -D
- 如果指定这个参数的话,将使 nmbd 作为一个后台守护程序运行。这样,它分配本身的进程在后台运行,并监视适当的端口请求。在默认情况下, nmbd 通常以命令行方式启动,后台运行。 nmbd 也能通过inetd 这个超级守护程序来启动,但不推荐这样做。
- -F
- If specified, this parameter causes the main nmbd process to not daemonize, i.e. double-fork and disassociate with the terminal. Child processes are still created as normal to service each connection request, but the main process does not exit. This operation mode is suitable for running nmbd under process supervisors such as supervise and svscan from Daniel J. Bernstein's daemontools package, or the AIX process monitor.
- -S
- If specified, this parameter causes nmbd to log to standard output rather than a file.
- -i
- If this parameter is specified it causes the server to run "interactively", not as a daemon, even if the server is executed on the command line of a shell. Setting this parameter negates the implicit daemon mode when run from the command line. nmbd also logs to standard output, as if the -S parameter had been given.
- -h|--help
- Print a summary of command line options.
- -H <filename>
- 指定NetBIOS的lmhosts文件。 NetBIOS的lmhosts文件是一份NetBIOS名字到IP地址对应关系的列表,
nmbd服务器将会通过在smb.conf (5)文件中name resolve
order描述的名字解析机制来装入和使用这个文件,以便让服务器解析可能的NetBIOS名字查询。注意到nmbd并不用这个文件的内容来回答可能的名字查询。在这个文件中添加内容只会影响本计算机的NetBIOS名字解析。
这个文件的默认存放路径已被作为编译处理的一部分加入到samba中了。通常默认路径是
/usr/local/samba/lib/lmhosts, /usr/samba/lib/lmhosts 或是 /etc/samba/lmhosts。 在lmhosts (5)手册页中查找描述此文件的详细内容。 - -V
- 打印出nmbd的版本信息。
- -s <configuration file>
- The file specified contains the configuration details required by the server. The information in this file includes server-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide. See smb.conf for more information. The default configuration file name is determined at compile time.
- -d|--debug=debuglevel
- debuglevel 是一个从0到10的整数。如果没有指定此参数则默认的值是0。
如果这个值越高,越多关于服务器的详细活动信息将被记录到文件中。在0调试级时,只记录紧急错误和严重警告。对于日以即日地运行服务,1调试级是个合理的等级,它只产生一定数量的关于执行操作的信息。
1以上的调试级将产生相当多的记录数据,并且只在研究问题时才有用。3以上的调试级只被设计为让开发者使用并会产生极大数量的记录数据,而且其中很多部分非常难以理解。
注意在此使用这个参数将越过在smb.conf 文件中的log level 参数。
- -l|--logfile=logbasename
- 用参数-l可以指定一个带路径的文件名作为记录文件,并会在你给出的名称后自动加上 ".client"的扩展名。The log file is never removed by the client.
- -p <UDP port number>
- UDP端口号是一个正整数。 这个选项来改变nmbd响应查询的默认UDP端口号(通常它是 137) 。除非你是位这方面的专家,否则请不要用这个选项改变它。
文件 FILES
- /etc/inetd.conf
- 如果你用 inetd 这个超级守护程序来运行nmbd服务器,那么必须在这个文件中包含适当的启动参数和信息。
- /etc/rc
- (也可以是你的系统所用的其它初始化脚本)
如果将nmbd当作服务,在启动时运行,这个文件必须包含合适的服务启动顺序。
- /etc/services
- If running the server via the meta-daemon inetd, this file must contain a mapping of service name (e.g., netbios-ssn) to service port (e.g., 139) and protocol type (e.g., tcp).
- /usr/local/samba/lib/smb.conf
- 这是服务器配置文件 smb.conf(5) 默认的存放位置。 系统安装配置文件通常的一些其它位置也可能是
/usr/samba/lib/smb.conf 和 /etc/samba/smb.conf。
当nmbd被用作WINS服务器时(参见 smb.conf(5) 手册页中对 wins support 参数的描述), nmbd 将会把WINS数据库文件wins.dat写到 var/locks 目录下。
如果 nmbd 作为 主浏览器 (参见smb.conf (5)手册页中对local master参数的描述),nmbd将会把浏览数据库browse.dat 写到var/locks目录下。
信号 SIGNALS
我们 不 推荐你使用SIGKILL (-9)来终止nmbd进程除非这是最后的方法,因为这样做可能导致名字数据库不一致。正确的方法是发送SIGTERM (-15)信号并等待程序自行结束。
nmbd 可以接受SIGHUP信号,这样程序将把名字清单写入位于/usr/local/samba/var/locks (或是var/locks)目录下的namelist.debug文件,同时这个信号也将导致程序把服务器的数据库写入log.nmb文件。
另外,nmbd程序的调试记录等级也可以通过smbcontrol(1) 调高或者调低。(向程序发送一个SIGUSR1信号(kill -USR1 <nmbd-pid>)或SIGUSR2信号(kill -USR2 <nmbd-pid>)的方法在Samba2.2 中已经不再使用。) 通过使用这样的方法可以诊断一些暂时的问题,同时仍然可以在一个正常的并且较低的记录等级来运行。