nmbd — NetBIOS-Nameserver zur Bereitstellung von NetBIOS-über-IP-Namensdiensten für Clients.
nmbd [-D] [-F] [-S] [-a] [-i] [-o] [-h] [-V] [-d <Debugebene>] [-H <lmhosts-Datei>] [-l <Logverzeichnis>] [-p <Portnummer>] [-s <Konfigurationsdatei>]
Dieses Programm ist Teil der Samba(7)-Suite.
nmbd ist ein Server, der Anfragen zu NetBIOS-über-IP-Namensdiensten verstehen und beantworten kann, wie sie von SMB-/CIFS-Clients produziert werden, z.B. Windows 95/98/ME, Windows NT, Windows 2000, Windows XP und LanManager-Clients. Er nimmt auch an den Browsing-Protokollen teil, die in Windows die Ansicht "Netzwerkumgebung" ausmachen.
Wenn SMB-/CIFS-Clients hochgefahren werden, möchten sie evtl. einen SMB-/CIFS-Server ausfindig machen, d.h. sie wollen wissen, welche IP-Adresse ein bestimmter Host benutzt.
Neben weiteren Diensten wird nmbd auf solche Anfragen warten, und wenn sein eigener NetBIOS-Name angegeben wird, wird er mit der IP-Adresse des Hosts antworten, auf dem er läuft. Sein "eigener NetBIOS-Name" ist per Voreinstellung der primäre DNS-Name des Hosts, auf dem er läuft, was aber durch netbios name in smb.conf überschrieben werden kann. Somit beantwortet nmbd Broadcastanfragen nach seinem (bzw. seinen) eigenen Namen. Weitere Namen, auf die nmbd antworten soll, können mit Hilfe von Parametern in der Konfigurationsdatei smb.conf(5) eingestellt werden.
nmbd kann auch als WINS-Server (Windows Internet Name Server) benutzt werden. Das heißt prinzipiell, dass er als WINS-Datenbankserver fungiert und aus den empfangenen Anfragen zu Namensregistrierungen eine Datenbank erstellt, mit der er auf Clientabfragen nach diesen Namen antwortet.
Außerdem kann nmbd als WINS-Proxy agieren und Broadcast-Anfragen von Clients weiterleiten, die das WINS-Protokoll eines WINS-Servers nicht beherrschen.
Wenn angegeben bewirkt dieser Parameter, dass nmbd als Daemon arbeitet. Das heisst, er koppelt sich selbst ab und läuft im Hintergrund weiter, wo er Anfragen auf dem entsprechenden Port empfängt. nmbd arbeitet standardmäßig als Daemon, wenn er von der Kommandozeile gestartet wird. nmbd kann auch vom Meta-Daemon inetd ausgeführt werden, was aber nicht empfohlen wird.
Wenn angegeben bewirkt dieser Parameter, dass der nmbd-Hauptprozess nicht daemonisiert wird, d.h. eine Doppelteilung vornimmt und sich vom Terminal trennt. Kindprozesse werden weiterhin normal erzeugt, um jede Verbindungsanfrage zu bedienen, aber der Hauptprozess wird nicht beendet. Diese Arbeitsweise eignet sich bei der Ausführung von nmbd unter Prozessüberwachern wie supervise und svscan aus dem Paket daemontools von Daniel J. Bernstein oder unter dem AIX-Prozessmonitor.
Wenn angegeben bewirkt dieser Parameter, dass nmbd seine Logmeldungen auf die Standardausgabe statt in einer Datei ausgibt.
Falls angegeben bewirkt dieser Parameter, dass der Server "interaktiv" läuft, d.h. nicht als Daemon, selbst wenn der Server von der Kommandozeile einer Shell gestartet wird. Durch das Setzen dieses Parameters wird der implizite Daemonmodus negiert, wenn er von der Kommandozeile aus gestartet wird. nmbd gibt seine Logdaten ebenfalls auf die Standardausgabe aus, so als ob der Parameter -S gesetzt wäre.
Gibt eine Zusammenfassung der Kommandozeilenoptionen aus.
NetBIOS lmhosts-Datei. Die lmhosts-Datei ist eine Liste von Zuordnungen "NetBIOS-Namen auf IP-Adressen", die vom nmbd-Server geladen wird und über den Namensauflösungsmechanismus name resolve order, der in smb.conf(5) beschrieben wird, dazu benutzt wird, alle NetBIOS-Namensanfragen an den Server aufzulösen. Beachten Sie, dass der Inhalt dieser Datei von nmbd NICHT benutzt wird, um Namensanfragen zu beantworten. Das Hinzufügen einer Zeile zu dieser Datei beeinflusst die NetBIOS-Namensauflösung ALLEIN von diesem Host aus.
Der Standardpfad zu dieser Datei wird in Samba während der Kompilierung eingebaut. Übliche Werte dafür sind /usr/local/samba/lib/lmhosts, /usr/samba/lib/lmhosts oder /etc/samba/lmhosts. Siehe die Manpage lmhosts(5) für Details zum Inhalt dieser Datei.
Gibt die Versionsnummer des Programms aus.
Die angegebene Datei enthält die Konfigurationdetails, die der Server benötigt. Die Information in dieser Datei ist zum Teil Server-spezifisch, z.B. welche printcap-Datei benutzt werden soll, enthält aber auch Beschreibungen aller Dienste, die der Server anbieten soll. Siehe smb.conf für weitere Informationen. Der Standardname der Konfigurationsdatei wird beim Kompilieren bestimmt.
Debug-Ebene ist ein Integer von 0 bis 10. Falls dieser Parameter nicht angegeben wird, ist der Vorgabewert dafür Null.
Je höher der Wert ist, desto mehr Details über die Serveraktivität werden in den Log-Dateien abgespeichert. Auf der Ebene 0 werden nur kritische Fehler und ernstzunehmende Warnungen geloggt. Ebene 1 ist eine vernünftige Ebene beim alltäglichen Betrieb - dabei wird eine kleine Informationsmenge über die ausgeführten Operationen erzeugt.
Die Ebenen höher als 1 erzeugen beachtliche Mengen von Logdaten, und sollten nur bei der Suche nach Problemen verwendet werden. Die Ebenen größer als 3 sind nur für Entwickler gedacht und erzeugen RIESIGE Mengen an Logdaten, von denen die meisten extrem kryptisch sind.
Beachten Sie, dass durch die Angabe dieses Parameters an dieser Stelle der Parameter log level in der Datei smb.conf überschrieben wird.
Dateiname für Log-/Debug-Dateien. Die Dateierweiterung ".client" wird angefügt. Die Log-Datei wird vom Client niemals entfernt.
UDP-Portnummer ist eine positive ganze Zahl. Diese Option ändert die vorgegebene UDP-Portnummer (normalerweise 137), auf der nmbd Namensabfragen beantwortet. Verwenden Sie diese Option nur dann, wenn Sie ein Experte sind, wobei Sie dann keine Hilfe benötigen werden!
Falls der Server vom Meta-Daemon inetd ausgeführt werden soll, muss diese Datei die passende Startupinformation für den Meta-Daemon enthalten.
oder welches Initialisierungsskript Ihr System auch immer benutzt.
Wenn der Server beim Start als Daemon läuft, muss diese Datei eine passende Startupsequenz für den Server enthalten.
Wird der Server über den Meta-Daemon inetd ausgeführt, muss diese Datei eine Abbildung von Dienstnamen, z.B. netbios-ssn, auf Dienst-port, z.B. 139, und Protokolltyp, z.B. tcp, enthalten.
Dies ist der voreingestellte Ort der Serverkonfigurationsdatei smb.conf(5). Zu den anderen Plätzen, an denen manche Systeme diese Datei installieren, gehören /usr/samba/lib/smb.conf und /etc/samba/smb.conf.
Wenn er als WINS-Server läuft (siehe Parameter wins support in der Manpage smb.conf(5)), speichert nmbd die WINS-Datenbank in der Datei wins.dat im Verzeichnis var/locks, was an der gleichen Stelle konfiguriert ist, an der auch steht, wo Samba installiert wird.
Falls nmbd als browse master fungiert (siehe Parameter local master in der Manpage smb.conf(5)), speichert nmbd die Browsingdatenbank in der Datei browse.dat im Verzeichnis var/locks, was an der gleichen Stelle konfiguriert ist, an der auch steht, wo Samba installiert wird.
Zum Herunterfahren eines nmbd-Prozesses wird empfohlen, SIGKILL (-9) NICHT zu benutzen, außer als letztes Mittel, weil das die Namensdatenbank in einen inkonsistenten Zustand versetzen kann. Korrekt terminiert man nmbd dadurch, dass man ihm das Signal SIGTERM (-15) schickt und darauf wartet, dass er sich selbst beendet.
nmbd akzeptiert ein SIGHUP, bei dem es seine Namenslisten in die Datei namelist.debug im Verzeichnis /usr/local/samba/var/locks schreibt (oder im Verzeichnis var/locks, was an der gleichen Stelle konfiguriert ist, an der auch steht, wo Samba installiert wird). Dabei schreibt nmbd auch seine Server-Datenbank in die Datei log.nmbd.
Die Debug-Logebene von nmbd kann mit smbcontrol(1) erhöht oder erniedrigt werden (SIGUSR[1|2]-Signale werden ab Samba 2.2 nicht mehr verwendet). Das geschieht, damit vorübergehende Probleme diagnostiziert werden können, während man sich weiterhin auf einer normalerweise geringeren Logebene befindet.
Diese Manpage ist korrekt für die Version 3.0 der Samba-Suite.
inetd(8), smbd(8), smb.conf(5), smbclient(1), testparm(1), testprns(1) sowie die Internet-RFCs rfc1001.txt und rfc1002.txt. Außerdem ist die CIFS- (früher SMB-)Spezifikation als Link auf der Website http://samba.org/cifs/ verfügbar.
Die originale Samba-Software und die zugehörigen Werkzeuge wurden von Andrew Tridgell geschrieben. Samba wird nun vom Samba-Team als ein Open-Source-Projekt entwickelt, ähnlich wie der Linux-Kernel.
Die originalen Samba-Manpages wurden von Karl Auer geschrieben. Die Manpage-Quelltexte wurden ins YODL-Format konvertiert (ein weiteres exzellentes Stück Open Source Software, verfügbar unter ftp://ftp.icce.rug.nl/pub/unix/) und für die Samba 2.0-Release von Jeremy Allison aktualisiert. Die Umwandlung ins DocBook-Format wurde von Gerald Carter für Samba 2.2 durchgeführt. Die Umwandlung in DocBook für XML 4.2 wurde von Alexander Bokovoy für Samba 3.0 durchgeführt.