总览 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
中已经不再使用。) 通过使用这样的方法可以诊断一些暂时的问题,同时仍然可以在一个正常的并且较低的记录等级来运行。

nmbd - 向客户端提供构造在IP之上的NetBIOS名字服务的NetBIOS名字服务器的更多相关文章

  1. 电脑无法上网,DHCP客户端不能正确获取IP地址

    问题特征:DHCP服务器更新[保留]配置信息后,给一客户端绑定了新的IP地址;但客户端IP地址并未正确更新; 处理: 一.检查DHCP服务器配置; 1.MAC地址.IP地址均正确;并已“添加到筛选器” ...

  2. JAVA获取客户端请求的当前网络ip地址(附:Nginx反向代理后获取客户端请求的真实IP)

    1. JAVA获取客户端请求的当前网络ip地址: /** * 获取客户端请求的当前网络ip * @param request * @return */ public static String get ...

  3. 在ASP.NET Core中获取客户端和服务器端的IP地址(转载)

    随着ASP.NET的发展,有不同的方式从请求中访问客户端IP地址.WebForms和MVC Web应用程序只是访问当前HTTP上下文的请求. var ip = HttpContext.Current. ...

  4. TCP/IP协议学习(四) 基于C# Socket的Web服务器---静态资源处理

    目录 1. C# Socket通讯 2. HTTP 解析引擎 3. 资源读取和返回 4. 服务器测试和代码下载 Web服务器是Web资源的宿主,它需要处理用户端浏览器的请求,并指定对应的Web资源返回 ...

  5. 计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

  6. Gaea是支持跨平台具有高并发、高性能、高可靠性,并提供异步、多协议、事件驱动的中间层服务框架

    Gaea是支持跨平台具有高并发.高性能.高可靠性,并提供异步.多协议.事件驱动的中间层服务框架 Gaea:58同城开源的中间层服务框架 https://github.com/58code/Gaea 中 ...

  7. 计算机网络九:IP地址、子网掩码、默认网关、DHCP服务器、DNS服务器、WINS服务器

    一.IP地址与子网掩码 1.IP地址 ipv4下,ip地址=网络号+主机号. 2.子网掩码         子网掩码(subnet mask)又叫网络掩码.地址掩码.子网络遮罩,它是一种用来指明一个I ...

  8. TCP/IP网络编程之多进程服务端(二)

    信号处理 本章接上一章TCP/IP网络编程之多进程服务端(一),在上一章中,我们介绍了进程的创建和销毁,以及如何销毁僵尸进程.前面我们讲过,waitpid是非阻塞等待子进程销毁的函数,但有一个不好的缺 ...

  9. nmblookup - 基于TCP/IP上的NetBIOS客户用于查询NetBIOS名字的程序

    总览 SYNOPSIS nmblookup [-M] [-R] [-S] [-r] [-A] [-h] [-B <broadcast address>] [-U <unicast a ...

随机推荐

  1. HDU2294--Pendant(DP,矩阵优化)

    Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  2. Oracle锁处理脚本

    ----处理死锁进程--查看被锁住的表select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,db ...

  3. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比(转载)

    在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型. ES6引入了iterable类型,Array ...

  4. serlvet操作数据库

    工具:eclipse 数据库工具:mysql java ee操作数据库,首先要导入数据库驱动文件,我用的是mysql 刚开始,很多人代码正确但是就是连接不上,原因就是忘了驱动文件的导入. 我的驱动文件 ...

  5. Spring下面的@Transactional注解的讲解

    摘自: https://www.cnblogs.com/xiohao/p/4808088.html Spring下面的@Transactional注解标志的讲解 最近在开发中对Spring中的事务标记 ...

  6. SQL Server阻塞blocking案例分析

    今天在性能测试过程中发现大量阻塞报警,检查whoisactive(https://github.com/amachanic/sp_whoisactive/)数据发现,阻塞blocking头部sessi ...

  7. Linux下GCC去除调试信息

    如果不去除调试信息,直白点说基本上是把代码公开了,不要带-g参数,还有就是需要带 -O2 -fvisibility=hidden -s 生成程序后可以用命令strip进一步去除不需要的符号 strip ...

  8. JS 替换所有的空格

    在JS中替换掉输入框内的空格,是在处理表单需求的时候极为常用的一项操作,以防止用户的操作习惯引起数据异常,保证传参的安全性. NO.1 name.replace(" "," ...

  9. python使用内置方法和修饰器方法获取类名、函数名

    1. 外部获取 从外部的情况好获取,可以使用指向函数的对象,然后用__name__属性. def a(): pass a.__name__ 或者 getattr(a,'__name__') 2. 内部 ...

  10. hashMap与 hashTable , ArrayList与linkedList 的区别(详细)

    ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个 ...