Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly
1st Edition November 1999
1-56592-449-5, Order Number: 4495
416 pages, $34.95

Buy the hardcopy

Inhaltsverzeichnis


Previous: C. Schnell-Referenz für Samba-Konfigurationsoptionen Anhang D Next: E. Samba mit CVS herunterladen
 

Anhang D
Zusammenstellung von Samba-Dämonen und Befehlen

Dieser Anhang ist eine Referenzliste von Kommandozeilen-Optionen und anderer Informationen zur Hilfestellung beim Gebrauch der Programme, die mit der Samba-Distribution kommen.

Programme der Samba-Distribution

Die folgenden Abschnitte bieten Informationen über die Kommandozeilen-Parameter für Samba-Programme.

smbd

Das smbd -Programm besorgt Sambas Datei- und Druckerdienste, indem es einen TCP/IP-Stream und einen Dämon pro Client verwendet. Es wird von der vorgegebenen Konfigurationsdatei samba_dir/lib/smb.conf kontrolliert und kann durch Kommandozeilen-Optionen verändert werden.

Die Konfigurationsdatei wird jede Minute automatisch wiederbewertet. Wenn sie sich geändert hat, sind die meisten neuen Optionen sofort wirksam. Du kannst Samba zwingen, die Konfigurationsdatei sofort wieder zu laden, wenn du dem smbd ein SIGHUP sendest. Das Nachladen der Konfigurationsdatei hat allerdings keine Auswirkung auf Clients, die bereits eingeloggt sind. Um dieser "Großvater"-Konfiguration zu entgehen, müsste ein Client ausloggen und wieder einloggen, oder der Server selbst müsste neu gestartet werden, wobei er alle Clients nötigt, wieder einzuloggen.

Andere Signale

Zum Niederfahren eines smbd -Prozesses sende ihm das Beenden-Signal SIGTERM (-15), was ihm gestattet anmutig zu sterben, statt eines SIGKILL (-9). Um den Debug-Logging-Level von smbd zur Laufzeit hinaufzusetzen, sende dem Programm ein SIGUSR1-Signal. Um ihn zur Laufzeit herabzusetzen, sende dem Programm ein SIGUSR2-Signal.

Kommandozeilen-Optionen

-D

  • Das smbd -Programm läuft als ein Dämon. Das ist der empfohlene Weg für die Verwendung von smbd (es ist auch die vorgegebene Aktion). Außerdem kann smbd auch von inetd ausgeführt werden.

-d debuglevel

  • Setzt den Debug-Level (manchmal Logging-Level genannt). Der Level kann von 0 die ganze Skala bis 10 liegen. Die Festlegung des Wertes auf der Befehlszeile ändert den in der smb.conf -Datei angegebenen Wert. Der Debug-Level 0 loggt nur die wichtigsten Meldungen; Level 1 ist normal; die Level 3 und darüber sind in erster Linie für Debugging und langsamem smbd wesentlich.

-h

  • Druckt eine Befehlszeilen-Gebrauchsinformation für das smbd -Programm aus.

Test-/Debugging-Optionen

-a

  • Wenn das angegeben ist, wird jede neue Verbindung zum Sambaserver den ganzen Log-Meldungen auf der Log-Datei angehängt. Diese Option ist das Gegenteil von -o und ist voreingestellt.

-i scope

  •  
  • Dies setzt einen NetBIOS-Scope-Ausweis. Nur Maschinen mit demselben Ausweis kommunizieren mit dem Sever. Der Scope-Ausweis war ein Vorgänger der Arbeitsgruppen, und diese Option ist nur wegen der Abwärts-Kompatibilität enthalten.

-l log_file

  • Sendet die Log-Meldungen woandershin als an die einkompilierte oder an die in der smb.conf-Datei genannte Stelle. Die Vorgabe ist oft /usr/local/samba/var/log.smb, /usr/samba/var/log.smb oder /var/log/log.smb. Die ersten zwei werden auf Linux strikt abgelehnt, wo /usr ein Nur-Lese-Dateisystem sein könnte.

-O socket_options

  • Das setzt die TCP/IP-Socket-Optionen unter Verwendung derselben Parameter wie die Konfigurationsoption socket options . Es wird oft für Perfomance-Tuning und -Tests verwendet.

-o

  • Diese Option ist das Gegenteil von -a. Sie veranlasst, dass Log-Dateien beim Öffnen überschrieben werden. Die Verwendung dieser Option sichert die Jagd nach den richtigen Log-Einträgen, wenn du eine Reihe von Tests durchführst und die Log-Datei jedes Mal inspizierst.

-P

  • Diese Option zwingt smbd , keine Netzwerkdaten auszusenden. Diese Option wird typischerweise nur von Samba-Entwicklern benützt.

-p port_number

  • Dies setzt die TCP/IP-Portnummer, auf welcher der Server Anfragen akzeptiert. Momentan senden alle Microsoft-Clients nur an den Vorgabe-Port: 139.

-s configuration_file

  • Bezeichnet den Ort der Samba-Konfigurationsdatei. Obwohl die Datei auf /usr/local/samba/lib/smb.conf voreingestellt ist, kannst du das hier auf der Kommandozeile ändern, typischerweise zum Debuggen.

nmbd

Das nmbd -Programm ist Sambas NetBIOS-Namen- und Browsing-Dämon. Er antwortet auf Broadcast NetBIOS über TCP/IP (NBT) Nameservice-Anfragen von SMB-Clients und optional auf Microsofts Windows Internet-Nameservice-Anfragen (WINS). Beide sind Versionen der Name-zu-Adresse-Suche, die von den SMB-Clients verlangt wird. Die Broadcast-Version verwendet UDP/IP-Broadcast nur auf dem lokalen Subnetz, während WINS TCP/IP verwendet, das geroutet werden kann. Wenn er als WINS-Server läuft, führt nmbd eine laufende Namens- und Adressen-Datenbank in der Datei wins.dat im Verzeichnis samba_dir/var/locks.

Ein aktives nmbd -Programm kann auch auf Browsing-Protokoll-Anfragen antworten, die von der Windows-Netzwerkumgebung verwendet werden. Browsing ist ein kombiniertes Anzeige-, Dienstankündigungs- und Aktivverzeichnis-Protokoll. Dieses Protokoll bietet ein dynamisches Verzeichnis der Server und der Platten und Drucker, die der Server bereithält. Wie bei WINS geschah das am Anfang durch die erfolgten UDP/IP-Broadcasts auf dem lokalen Subnetz. Nun, beim Konzept eines Local Master Browsers geschieht es durch die Herstellung von TCP/IP-Verbindungen zu einem Server. Wenn nmbd als Local Master Browser agiert, legt er die Browsing-Datenbank in der Datei browse.dat im Verzeichnis samba_dir/var/locks ab.

Signale

Wie smbd antwortet das nmbd-Programm auf einige Unix-Signale. Das Senden eines SIGHUP-Signals an nmbd veranlasst ihn, die ihm bekannten Namen in der Datei namelist.debug im Verzeichnis samba_dir /locks und seine Browsing-Datenbank in der Datei browse.dat im selben Verzeichnis abzulegen. Um einen nmbd -Prozess niederzufahren, sende ihm ein SIGTERM (-15)-Signal anstatt eines SIGKILL (-9), damit er angenehm sterben kann. Du kannst den Debug-Loglevel von nmbd hinaufsetzen, indem du ihm ein SIGUSR1-Signal sendest; du kannst den Level durch das Senden eines SIGUSR2-Signals herabsetzen..

Kommandozeilen-Optionen

-D

  • Weist das nmbd -Programm an, als Dämon zu laufen. Das ist die empfohlene Methode, nmbd zu verwenden. Außerdem kann nmbd auch von inetd laufen.

-d debuglevel

  • Setzt den Debug- (manchmal Log-) Level. Der Level kann von 0 bis hin zu 10 reichen. Das Festlegen des Werts auf der Kommandozeile verändert den in der smb.conf -Datei genannten Wert. Der Debug-Level 0 loggt nur die wichtigsten Meldungen; Level 1 ist normal; Level 3 und höher sind in erster Linie für Debugging und verlangsamen nmbd deutlich.

-h

  • Druckt die Kommandozeilen-Gebrauchsinformation für das nmbd-Programm (auch -?).

Test-/Debugging-Optionen

-a

  • Wenn das angegeben ist, hängt jede neue Verbindung mit dem Sambaserver alle Log-Meldungen an die Log-Datei an. Diese Option ist das Gegenteil von -o und die Voreinstellung.

-H hosts_ file

  • Diese Option lädt eine Standard-hosts -Datei für die Namensauflösung.

-i scope

  • Dies setzt eine NetBIOS Bereichs-Kennung. Nur Maschinen mit derselben Kennung kommunizieren mit dem Server. Die Bereichs-Kennung war ein Vorgänger zu den Arbeitsgruppen, und diese Option ist nur für die Abwärts-Kompatibilität enthalten.

-l log_file

  • Sendet die Log-Meldungen irgendwo anders hin als zur einkompilierten oder in der smb.conf-Datei festgelegten Stelle. Die Vorgabe ist oft /usr/local/samba/var/log.nmb, /usr/samba/var/log.nmb, oder /var/log/log.nmb. Von den ersten beiden wird in Linux stark abgeraten, wo /usr ein Nur-Lese-Dateisystem sein könnte.

-n NetBIOS_name

  • Diese Option erlaubt dir die Änderung des NetBIOS-Namen, durch den der Dämon sich selbst anzeigt. Die Angabe der Option in der Kommandozeile ändert die Option netbios name in der Samba-Konfigurationsdatei.

-O socket_options

  • Dies setzt die TCP/IP-Socket-Optionen, unter Verwendung derselben Parameter wie die Konfigurationsoption socket options. Es wird oft zum Einstellen und Testen der Performance verwendet.

-o

  • Diese Option ist das Gegenteil von -a . Sie veranlasst, dass Log-Dateien beim Öffnen überschrieben werden. Die Verwendung dieser Option sichert die Jagd nach den richtigen Log-Einträgen, wenn du eine Serie von Tests durchführst und jedes Mal die Log-Datei inspizierst.

-p port_number

  • Dies setzt die UDP/IP-Portnummer, von welcher der Server Requests akzeptiert. Momentan senden alle Microsoft-Clients nur an den Vorgabe-Port: 137.

-s configuration_file

  • Bezeichnet den Standort der Samba-Konfigurationsdatei. Obwohl die Datei in /usr/local/samba/lib/smb.conf vorgegeben ist, kannst du das hier auf der Kommandozeile ändern, typischerweise zum Debuggen.

-v

  • Diese Option gibt die laufende Version von Samba aus.

Samba Start-Datei

Samba wird normalerweise gestartet, indem du es von den rc -Dateien deines Unix-Systems zur Bootzeit ausführst. Für Systeme mit einem System V-ähnlichen Satz von /etc/rcN.d -Verzeichnissen kann dies erledigt werden, indem ein passend benanntes Skript in das /rc -Verzeichnis gestellt wird. Gewöhnlich wird das Skript, das Samba startet, S91samba genannt, während das Skript, welches Samba stoppt oder "killt", K91samba heißt. Bei Linux ist das gebräuchliche Unterverzeichnis für die Skripts /etc/rc2.d. Unter Solaris ist es das Verzeichnis /etc/rc3.d . Für Maschinen mit /etc/rc.local -Dateien würdest du normalerweise folgende Zeilen an diese Datei anfügen:

/usr/local/samba/bin/smbd -D

/usr/local/samba/bin/nmbd -D

Das folgende Beispiels-Skript unterstützt zwei zusätzliche Befehle, status und restart, in Ergänzung zu den normalen start und stop für System V-Maschinen:

#!/bin/sh
#
# /etc/rc2.d./S91Samba  --manage the SMB server in a System V manner
#
OPTS="-D"
#DEBUG=-d3
PS="ps  ax"
SAMBA_DIR=/usr/local/samba
case "$1" in
'start')
	echo "samba "
	$SAMBA_DIR/bin/smbd $OPTS $DEBUG
	$SAMBA_DIR/bin/nmbd $OPTS $DEBUG
	;;
'stop')
	echo "Stopping samba"
	$PS | awk '/usr.local.samba.bin/ { print $1}' |\
	xargs kill
	;;
'status')
	x=`$PS | grep -v grep | grep '$SAMBA_DIR/bin'`
	if [ ! "$x" ]; then
		echo "No samba processes running"
	else
		echo "  PID TT STAT  TIME COMMAND"
		echo "$x"
	fi
	;;
'restart')
	/etc/rc2.d/S91samba stop
	/etc/rc2.d/S91samba start
	/etc/rc2.d/S91samba status
	;;
*)
	echo "$0: Usage error -- you must say $0 start, stop, status or restart."
	;;
esac
exit

Du musst die wirklichen Pfade und ps -Optionen setzen, um sie an die Maschine anzupassen, die du verwendest. Außerdem möchtest du vielleicht zusätzliche Befehle hinzufügen, die Samba veranlassen, seine smb.conf -Datei neu zu laden oder seine nmbd -Tabellen abzulegen, in Abhängigkeit deiner tatsächlichen Bedürfnisse.

smbsh

Das Programm smbsh lässt dich eine entfernte Windows-Share auf deinem Sambarserver verwenden, wie wenn die Share ein reguläres Unix-Verzeichnis wäre. Wenn es in Betrieb ist, stellt es einen besonderen Verzeichnisbaum unter /smb zur Verfügung. Unterverzeichnisse von /smb sind Server, und Unterverzeichnisse der Server sind deren eigene Platten- und Drucker-Shares. Unter smbsh laufende Befehle behandeln das /smb -Dateisystem, wie wenn es lokal auf Unix wäre. Das bedeutet, dass du smbmount nicht in deinem Kernel brauchst, um Windows-Dateissysteme auf die Art zu mounten, wie du mit NFS-Dateisystemen mountest. Auf jeden Fall musst du Samba mit der Option --with-smbwrappers konfigurieren, um smbsh zu ermöglichen.

Optionen

-d debuglevel

  • Setzt den Debug-(manchmal genannt Logging-)Level. Der Level kann von 0, der Vorgabe, bis hinauf zu 10 reichen. Debug-Level 0 loggt nur die wichtigsten Meldungen; Level 1 ist normal; Level 3 und darüber gehören in erster Linie zum Debuggen und verlangsamen smbsh erheblich.

-l logfile

  • Setzt den Namen der zu verwendenden Logdatei.

-P prefix

  • Setzt das Root-Verzeichnis, um das SMB-Dateisystem zu mounten. Die Vorgabe ist /smb.

-R resolve order

  • Setzt die Auflösungs-Reihenfolge der Name-Server. Diese Option ist der Konfigurationsoption resolve order ähnlich und kann einen der vier Parameter lmhosts, host, wins und bcast in beliebiger Reihenfolge annehmen.

-U user

  • Unterstützt user%password.

-W workgroup

  • Setzt die NetBIOS-Arbeitsgruppe, mit der sich der Client verbindet.

smbclient

Das Programm smbclient ist das Mädchen für alles in der Samba-Suite. Anfänglich als ein Werkzeug zum Testen gedacht, wurde es ein vollständiger Kommandozeilen-Unix-Client mit einem FTP-ähnlichen, interaktiven Client. Einige seiner Optionen werden noch zum Testen und Tunen verwendet, und es stellt ein einfaches Tool zum Überprüfen dar, ob Samba auf einem Server läuft.

Es ist zweckmäßig, smbclient als eine Suite von Programmen zu sehen:

  • FTP-ähnliches, interaktives Datei-Übertragungsprogramm
  • Interaktives Druck-Programm
  • Interaktives Tar-Programm
  • Kommandozeilen-Meldungs-Programm
  • Kommandozeilen-tar -Programm (siehe aber smbtar später)
  • "Welche Dienste hast du"-Frage-Programm
  • Kommandozeilen-Debugging-Programm

Allgemeine Kommandozeilen-Optionen

Das Programm hat den üblichen Satz von smbd -ähnlichen Optionen, die für den ganzen interaktiven und Kommandozeilen-Gebrauch gelten. Die Syntax ist:

smbclient //server_name /share_name [password ] [-options ]

Es folgt eine Erklärung jeder Kommandozeilen-Option:

-d debug_level

  • Setzt den Debug-(Logging-)Level von 0 bis 10 mit A für alle. Verändert den Wert in smb.conf. Debug-Level 0 loggt nur die wichtigsten Meldungen; Level 1 ist normal; Debug-Level 3 und darüber sind für das Debugging und bremsen smbclient deutlich.

-h

  • Druckt die Kommandozeilen-Hilfs-Information (Gebrauchsanleitung) für Smbclient.

-n NetBIOS_name

Erlaubt dir, den NetBIOS-Namen zu verändern, durch den das Programm sich selbst anzeigt.

Smbclient-Operationen

Die Ausführung von smbclient//server_name/share veranlasst es, dich wegen eines Usernamens und Passworts aufzufordern. Ist das Einloggen erfolgreich, wird es sich mit der Share verbinden und dir ein Prompt liefern, das einem FTP-Prompt sehr ähnlich sieht (der Backslash im Prompt wird durch das jeweilige Verzeichnis innerhalb der Share ersetzt, wie du dich im Dateisystem bewegst):

smb:\>

Von dieser Kommandozeile aus kannst du einige FTP-ähnliche Befehle verwenden wie nachfolgend angeführt. Argumente in eckigen Klammern sind optional.

 

Smbclient-Befehle

Befehl

Beschreibung

? befehl

Liefert eine Liste von Befehlen oder Hilfe für ein bestimmtes Kommando.

help [befehl]

Liefert eine Liste von Befehlen oder Hilfe für ein bestimmtes Kommando.

! [befehl]

Wenn ein Befehl angeführt ist, wird er in einer lokalen Shell ausgeführt. Wenn nicht, wirst du in eine lokale Shell auf dem Client versetzt.

dir [dateiname]

Zeigt Dateien, die mit dateiname im laufenden Verzeichnis auf dem Server übereinstimmen oder alle Dateien, wenn dateiname weggelassen wird.

ls [dateiname]

Zeigt Dateien, die mit dateiname im laufenden Verzeichnis auf dem Server übereinstimmen oder alle Dateien, wenn dateiname weggelassen wird.

cd [verzeichnis]

Wenn verzeichnis genannt ist, wechselt der Befehl zum bezeichneten Verzeichnis auf dem Remote-Server. Wenn nicht, zeigt er das momentane Verzeichnis auf der Remote-Maschine.

lcd [verzeichnis]

Wenn verzeichnis genannt ist, wird das gegenwärtige Verzeichnis auf der lokalen Maschine geändert. Wenn nicht, wird das momentane Verzeichnis auf der lokalen Maschine gezeigt.

get remotefile [localfile]

Kopiert die Datei remotefile auf die lokale Maschine. Wenn ein localfile angeführt ist, verwendet der Befehl diesen Namen beim Kopieren. Behandelt die Datei als Binärdatei; wandelt nicht LF in CR/LF um.

put localfile [remotefile]

Kopiert localfile auf die Remote-Maschine. Wenn ein remotefile angeführt ist, verwendet der Befehl das als den Namen beim Kopieren auf den Remote-Server. Behandelt die Datei als Binärdatei; wandelt nicht LF in CR/LF um.

mget pattern

Holt alle Dateien von der Remote-Maschine, die mit pattern übereinstimmen.

mput pattern

Legt alle lokalen Dateien auf der Remote-Maschine ab, die mit pattern übereinstimmen.

prompt

Schaltet interaktives Prompting für mget und mput ein und aus.

lowercase ON
(oder OFF)

Wenn lowercase on ist, wandelt smbclient Dateinamen während eines mget oder get in Kleinschrift um (aber nicht bei mput oder put).

del dateiname

Löscht eine Datei auf der Remote-Maschine.

md verzeichnis

Erzeugt ein Verzeichnis auf der Remote-Maschine.

mkdir verzeichnis

Erzeugt ein Verzeichnis auf der Remote-Maschine.

rd verzeichnis

Entfernt das angeführte Verzeichnis auf der Remote-Maschine.

rmdir verzeichnis

Entfernt das angeführte Verzeichnis auf der Remote-Maschine.

setmode dateiname [+|-]rsha

Setzt DOS-Dateisystem-Attribut-Bits, indem Unix-ähnliche Modi verwendet werden. r ist Nur-Lesen, s ist System, h ist Versteckt und a ist Archiv.

exit

Verlässt smbclient.

quit

Verlässt smbclient.

Es gibt auch maskierte und rekursive Befehle für umfangreiche Kopien; siehe die Manual-Seite von smbclient wegen Details und wie man sie verwendet. Mit Ausnahme von Maskierung, Rekursion und dem Mangel eines ASCII-Transfer-Modus arbeitet smbclient genau gleich wie FTP. Beachte, dass wegen des Binär-Transfers nach Unix kopierte Windows-Dateien Zeilen haben, die mit Wagenrücklauf (CR) und Zeilenvorschub (LF) (\r\n) enden, nicht mit Unix's Zeilenvorschub (\n).

Druck-Befehle

Das Programm smbclient kann auch zum Zugriff zu einem Drucker verwendet werden, indem man eine Drucker-Share anwählt. Ist man verbunden, können folgende Befehle zum Drucken benützt werden.

 

Smbclient-Druck-Befehle

Befehl

Beschreibung

print dateiname

Druckt die Datei durch Kopieren von der lokalen zur Remote-Maschine und hier durch Vorlegen als einen Druckjob.

printmode text | graphics

Benachrichtigt den Server, dass die folgenden Dateien reiner Text (ASCII) sind oder das binäre Grafikformat haben, das der Drucker erfordert. Es ist Sache des Users, dafür zu sorgen, dass die Datei tatsächlich die richtige Form hat.

queue

Gibt die Warteschlange für die Drucker-Share aus, an die du gebunden bist, zeigt dabei Job-ID, Name, Größe und Status.

Um schließlich von smbclient aus zu drucken, verwende die Option -c :

cat druckdatei | smbclient //server /drucker_name -c "print -"

Tar-Befehle

smbclient kann Dateien von einer Datei-Share entpacken. Das geschieht normalerweise von der Kommandozeile aus unter Verwendung des Befehls smbtar , aber die nachfolgend gezeigten Befehle stehen ebenfalls interaktiv zur Verfügung.

 

Smbclient-Tar-Befehle

Befehl

Beschreibung

tar c|x[IXbgNa] operanden

Führt ein Erzeugungs- oder Entpackungs- tar durch, ähnlich wie das Kommandozeilen-Programm.

blocksize size

Setzt die Blockgröße, die von tar verwendet wird, auf 512-Byte-Blöcke.

tarmode full|inc|reset|
noreset

Veranlasst tar, während aller folgenden Befehle auf das DOS-Archivbit zu achten. Im full -Modus (die Vorgabe) sichert tar alles. Im inc (incrementalen) -Modus sichert tar nur jene Dateien, die das Archivbit gesetzt haben. Im reset -Modus setzt tar auf allen zu sichernden Dateien das Archivbit zurück (das erfordert für die Share die Schreiberlaubnis), und im noreset -Modus wird das Archivbit nicht zurückgesetzt, nachdem die Datei gesichert wurde.

Programmoptionen für Kommandozeilen-Meldungen

-M NetBIOS_maschinen_name

  • Diese Option erlaubt dir, sofort Meldungen unter Benutzung des WinPopup-Protokolls an einen anderen Computer zu senden. Ist einmal eine Verbindung hergestellt, kannst du deine Meldung schreiben und mit Control-D beenden. Wenn WinPopup auf der Empfängermaschine nicht läuft, meldet das Prgramm einen Fehler.

-U user

  • Diese Option erlaubt dir, den FROM-Teil der Meldung indirekt zu kontrollieren.

Programmoptionen für Kommandozeilen-tar

Die Optionen -T (tar), -D (Startverzeichnis), und -c (Befehl) werden gleichzeitig benützt, um Dateien interaktiv zu sichern. Das geschieht besser mit smbtar, das kurz besprochen wird. Wir empfehlen nicht die Verwendung von smbclient direkt als ein tar -Programm.

-D start_verzeichnis

  • Wechselt vor dem Start zum Startverzeichnis.

-c befehls_text

  • Übergibt dem smbclient -Befehlsinterpreter einen Befehlstext, den jener als eine durch Strichpunkte getrennte Liste von Befehlen auszuführen versucht. Das ist praktisch, um z.B. Dinge wie tarmode inc zu sagen, was smbclient -T zwingt, nur Dateien mit gesetztem Archivbit zu sichern.

-T befehl dateiname

  • Startet den tar -Treiber, der gtar -kompatibel ist. Die zwei Hauptbefehle sind: c (erzeugen) und x (extrahieren), die gefolgt sein können von:

a

Setzt die Archivbits zurück, sobald die Dateien gesichert sind.

b größe

Setzt die Blockgröße in 512-Byte-Einheiten.

g

Sichert nur Dateien mit gesetztem Archivbit.

I datei

Schließt Dateien und Verzeichnisse mit ein (das ist die Vorgabe). Macht keine Muster-Übereinstimmung.

N dateiname

Sichert nur jene Dateien, die neuer als dateiname sind.

q

Produziert keine Diagnosen.

X datei

Schließt Dateien aus.

Kommandozeilen-Frage-Programm

Wenn smbclient folgendermaßen läuft:

smbclient -L server_name

listet es die Shares und andere Dienste auf, welche die Maschine bereithält. Das ist praktisch, wenn du smbwrappers nicht besitzt. Es kann außerdem hilfreich als ein Testprogramm von sich selber sein.

Kommandozeilen-Debugging/Diagnose-Programmoptionen

Einige der verschiedenen Operationsmodi von smbclient können mit den Debugging- und Test-Kommandozeilen-Optionen verwendet werden:

-B IP_addr

  • Setzt die Broadcast-Adresse.

-d debug_level

  • Setzt den Debug-(manchmal genannt Logging-)Level. Der Level kann von 0 aufwärts bis 10 reichen. Außerdem kannst du A für alle Debugging-Optionen anführen. Debug-Level 0 loggt nur die wichtigsten Meldungen; Level 3 und darüber sind hauptsächlich für Debugging und verlangsamen die Operationen beträchtlich.

-E

  • Sendet alle Meldungen nach stderr anstatt nach stdout.

-I IP_adresse

  • Setzt die IP-Adresse des Servers, mit dem es sich verbindet.

-i bereich

  • Dies setzt eine Kennzeichnung für einen NetBIOS-Bereich. Nur Maschinen mit derselben Kennzeichnung kommunizieren mit dem Server. Die Bereichs-Kennzeichnung war ein Vorläufer zu den Arbeitsgruppen, und diese Option ist nur für die Abwärts-Kombatibilität beigefügt.

-l log_datei

  • Sendet die Log-Meldungen zur genannten Datei.

-N

  • Unterdrückt das Passwort-Prompt. Der Client verlangt eine Passwort-Eingabe, außer ein Passwort ist auf der Kommandozeile genannt oder dieser Parameter ist angegeben.

-n NetBIOS_name

Diese Option erlaubt dir, den NetBIOS-Namen zu ändern, durch den sich der Dämon selbst ankündigt.

-O socket_options

  • Setzt die TCP/IP-Socket-Options und verwendet dieselben Parameter wie die Konfigurationsoption socket options . Er wird oft zur Einstellung und zum Testen der Geschwindigkeit verwendet.

-p port_nummer

  • Setzt die Portnummer, von welcher der Client Anfragen akzeptiert.

-R auflösungs_reihenfolge

  • Setzt die Auflösungs-Reihenfolge der Nameserver. Diese Option ist der Konfigurationsoption resolve order ähnlich und kann irgendwelche der vier Parameter, lmhosts, host, wins und bcast in beliebiger Reihenfolge annehmen.

-s konfigurations_datei

  • Legt den Ort der Samba-Konfigurationsdatei fest. Für das Debugging benützt.

-t terminal_code

  • Setzt den Terminal-Code für asiatische Sprachen.

-U username

  • Setzt den Usernamen und optional das Passwort (z.B. -U fred%secret).

-W arbeitsgruppe

  • Legt die Arbeitsgruppe fest, an die du den Client binden möchtest.

Wenn du ein bestimmtes Name-Service testen willst, ruf smbclient mit -R und dem Namen des Service auf. Das zwingt smbclient, nur das von dir angegebene Service zu benützen.

smbstatus

Das Programm smbstatus listet die momentanen Verbindungen auf einem Sambaserver auf. Es gibt drei eigene Abschnitte. Der erste Abschnitt zeigt die verschiedenen Shares, die von bestimmten Usern verwendet werden. Der zweite Abschnitt führt die Locked Files an, die Samba momentan auf allen seinen Shares hat. Der dritte Abschnitt endlich zeigt die Speicherbelegung für jede der Shares. Zum Beispiel:

# smbstatus

Samba version 2.0.3
Service      uid      gid      pid     machine
----------------------------------------------
network      davecb   davecb   7470   phoenix  (192.168.220.101) Sun May 16 
network      davecb   davecb   7589   chimaera (192.168.220.102) Sun May 16 
 
Locked files:
Pid    DenyMode   R/W        Oplock           Name
--------------------------------------------------
7589   DENY_NONE  RDONLY   EXCLUSIVE+BATCH  /home/samba/quicken/inet/common/system/help.bmp   Sun May 16 21:23:40 1999
7470   DENY_WRITE RDONLY   NONE             /home/samba/word/office/findfast.exe              Sun May 16 20:51:08 1999
7589   DENY_WRITE RDONLY   EXCLUSIVE+BATCH  /home/samba/quicken/lfbmp70n.dll                  Sun May 16 21:23:39 1999
7589   DENY_WRITE RDWR     EXCLUSIVE+BATCH  /home/samba/quicken/inet/qdata/runtime.dat        Sun May 16 21:23:41 1999
7470   DENY_WRITE RDONLY   EXCLUSIVE+BATCH  /home/samba/word/office/osa.exe                   Sun May 16 20:51:09 1999
7589   DENY_WRITE RDONLY   NONE             /home/samba/quicken/qversion.dll                  Sun May 16 21:20:33 1999
7470   DENY_WRITE RDONLY   NONE             /home/samba/quicken/qversion.dll                  Sun May 16 20:51:11 1999
 
Share mode memory usage (bytes):
   1043432(99%) free + 4312(0%) used + 832(0%) overhead = 1048576(100%) total

Optionen

-b

  • Zwingt smbstatus , eine kurze Ausgabe zu erzeugen. Diese umschließt die Version von Samba und die Prüf-Information über die User, die in den Server eingeloggt haben.

-d

  • Ergibt eine wortreiche Ausgabe, die jede der drei Berichts-Abschnitte im vorherigen Beispiel einschließt. Das ist die Vorgabe.

-L

  • Zwingt smbstatus , nur die momentanen Datei-Locks, die es hat, zu drucken. Das entspricht dem zweiten Abschnitt in einer wortreichen Ausgabe.

-p

  • Druckt eine Liste nur von smbd -Prozess-IDs. Dies wird oft für Skripts benützt.

-S

  • Druckt nur eine Liste von Shares und ihrer Verbindungen. Das entspricht dem ersten Abschnitt in einer wortreichen Ausgabe.

-s konfigurations_datei

  • Setzt die Verwendung der Samba-Konfigurationsdatei, sobald dieser Befehl zur Ausführung kommt.

-u username

  • Begrenzt den smbstatus -Bericht auf die Aktivität eines einzelnen Users.

smbtar

Das Programm smbtar ist ein Shell-Skript am Anfang von smbclient , welches das Programm mit klareren Optionen ausstattet, wenn es tar-Operationen durchführt. Es ist zweckmäßigerweise zum Unix- tar -Programm äquivalent.

Optionen

-a

  • Setzt den Archivbit-Modus zurück

-b blockgröße

  • Blockgröße. Voreingestellt auf 20.

-d verzeichnis

  • Wechselt in das genannte Verzeichnis, bevor Dateien wiederhergestellt oder gesichert werden.

-i

  • Inkrementeller Modus; tar-Dateien werden nur gesichert, wenn sie das DOS-Archivbit gesetzt haben. Das Archivbit wird nach dem Lesen jeder Datei zurückgesetzt.

-l log_level

  • Setzt den Log-Level.

-N dateiname

  • Sichert nur die Dateien, die jünger sind als das letzte Veränderungsdatum von dateiname. Für inkrementelle Backups.

-p passwort

  • Bezeichnet das Passwort, das beim Zugriff auf eine Share verwendet werden muss.

-r

  • Entpackt Dateien von der tar-Datei auf die Share.

-s server

  • Benennt den SMB/CIFS-Server, in dem sich die Share befindet.

-t tape

  • Bandlaufwerk oder Datei. Vorgabe ist der Wert der Ungebungsvariablen $TAPE oder tar.out, wenn $TAPE nicht gesetzt ist.

-u user

  • Bezeichnet den User, der sich mit der Share verbindet. Du kannst auch das Passwort angeben im Format username%password.

-v

  • Legt den Gebrauch des wortreichen Modus fest.

-X datei

  • Veranlasst smbtar, die genannte Datei von der Erzeugung oder Wiederherstellung der tar -Datei auszuschließen.

-x share

  • Gibt den Share-Namen auf dem Server an, mit dem eine Verbindung hergestellt werden soll. Die Vorgabe ist backup, was ein üblicher Share-Name ist, mit dem Backups durchgeführt werden.

Ein trivialer Backup-Befehl, um die Daten für den User sue zu archivieren, ist zum Beispiel:

# smbtar -s pc_name -x sue -u sue -p secret -t sue.tar

nmblookup

Das Programm nmblookup ist ein Client-Programm, welches das NetBIOS-über-UDP/IP Name-Service für die Auflösung von NBT-Maschinen-Namen in IP-Adressen anwendet. Der Befehl arbeitet mittels Broadcasting seiner Anfragen auf dem lokalen Subnetz, bis eine Maschine mit diesem Namen antwortet. Du kannst dir das vorstellen wie ein Windows- nslookup(1) oder dig(1). Dies ist üblich bei der Suche nach normalen NetBIOS-Namen und den seltsamen Namen, wie __MSBROWSE__ , den das Windows-Name-Service verwendet, um verzeichnis-ähnliche Dienste zu bieten. Wenn du nach einem besonderen Typ von NetBIOS-Namen fragen willst, setze den NetBIOS <type> an das Ende des Namens.

Die Befehlszeile heißt:

nmblookup [-optionen] name

Die unterstützten Optionen sind:

-A

  • Interpretiert name als eine IP-Adresse und macht eine Node-Status-Anfrage bei dieser Adresse.

-B broadcast _adresse

  • Sendet die Anfrage zur angegebenen Broadcast-Adresse. Die Vorgabe ist, die Anfrage zur Broadcast-Adresse des primären Netzwerk-Interfaces zu senden.

-d debuglevel

  • Setzt den Debug- (manchmal genannt Logging-) Level. Der Level kann von 0 bis hinauf zu 10 reichen. Der Debug-Level 0 loggt nur die wichtigsten Meldungen; Level 1 ist normal; Level 3 und höher gehören vor allem für Debugging und verlangsamen das Programm erheblich.

-h

  • Druckt die Kommandozeilen-Gebrauchs-Information für das Programm.

-i bereich

  • Setzt eine NetBIOS-Bereichs-Kennung. Nur Maschinen mit derselben Kennung kommunizieren mit dem Server. Die Bereichs-Kennung war ein Vorläufer der Arbeitsgruppen, und diese Option dient nur der Abwärts-Kompatibilität.

-M

  • Sucht nach einem Local-Master-Browser. Das geschieht mit einer Broadcast-Suche nach einer Maschine, die auf den Spezialnamen __MSBROWSE__ antwortet, und der Frage an diese Maschine nach Information anstatt die Suche selbst zu broadcasten.

-R

  • Setzt das Rekursions-Bit im Paket. Das veranlasst die Maschine, die antwortet, eine WINS-Suche zu probieren und die Adresse und jede andere Information zurückzumelden, die der WINS-Server gespeichert hat.

-r

  • Verwendet den Root-Port 137 für Windows95-Maschinen.

-S

  • Sobald die Namenssuche eine IP-Adresse zurückgegeben hat, wird auch ein Node-Status abgefragt. Dies gibt alle Resource-Typen, die die Maschine davon kennt, mit ihren numerischen Attributen zurück. Zum Beispiel:
% nmblookup -d 4 -S elsbeth
received 6 names
      ELSBETH                <00> - <GROUP> B <ACTIVE>
      ELSBETH                <03> -         B <ACTIVE>
      ELSBETH                <1d> -         B <ACTIVE>
      ELSBETH                <1e> - <GROUP> B <ACTIVE>
      ELSBETH                <20> -         B <ACTIVE>
      ..__MSBROWSE__..       <01> - <GROUP> B <ACTIVE>

-s konfigurations_datei

  • Bezeichnet den Ort der Samba-Konfigurationsdatei. Obwohl die Datei eine Vorgabe auf /usr/local/samba/lib/smb.conf hat, kannst du sie hier auf der Kommandozeile verändern, normalerweise für Debugging.

-T

  • Diese Option kann zum Übersetzen von IP-Adressen in aufgelöste Namen verwendet werden.

-U unicast_adresse

  • Führt eine Unicast-Anfrage an die angegebene Adresse durch. Verwendet mit -R zur Suche nach WINS-Servern.

Beachte, dass es keine Arbeitsgruppen-Option für nmblookup gibt; du kannst das umgehen, indem du workgroup = workgroup_name in eine Datei stellst und sie nmblookup mit der Option -s smb.conf_datei übergibst.

smbpasswd

Das smbpasswd -Passwort hat zwei verschiedene Sätze von Funktionen. Wenn es von Usern aufgerufen wird, verarbeitet es deren verschlüsselte Passwörter. Wenn es von root aufgerufen wird, macht es ein Update der verschlüsselten Passwort-Datei. Wenn es von einem gewöhnlichen User ohne Optionen aufgerufen wird, verbindet es sich mit dem Primary Domain Controller und ändert sein oder ihr Windows-Passwort.

Das Programm schlägt fehl, wenn smbd nicht arbeitet, wenn die Konfigurations-Optionen hosts allow oder hosts deny keine Verbindungen vom Localhost (IP-Adresse 127.0.0.1) zulassen oder die Option encrypted passwords = no gesetzt ist.

Optionen regulärer User

-D debug_level

  • Setzt den Debug- (auch genannt Logging-) Level. Der Level kann von 0 bis 10 reichen. Debug-Level 0 loggt nur die wichtigsten Meldungen; Level 1 ist normal; Level 3 und darüber gehören in erster Linie für Debugging und verlangsamen das Programm erheblich.

-h

  • Druckt die Kommandozeilen-Gebrauchs-Information für das Programm.

-r remote_maschinen_name

  • Legt fest, auf welcher Maschine das Passwort geändert werden sollte. Die Remote-Maschine muss ein Primary Domain Controller (PDC) sein.

-R auflösungs_reihenfolge

  • Setzt die Auflösungs-Reihenfolge für die Name-Server. Diese Option ähnelt der Konfigurations-Option resolve order und kann irgendwelche der vier Parameter lmhosts, host, wins und bcast in beliebiger Reihenfolge annehmen.

-U username

  • Wird nur mit -r verwendet, um einen Usernamen zu modifizieren, der auf der Remote-Maschine anders geschrieben ist.

Optionen nur für Root

-a username

  • Fügt der verschlüsselten Passwortdatei einen User hinzu.

-d username

  • Sperrt einen User in der verschlüsselten Passwortdatei.

-e username

  • Löst die Sperre eines Users in der verschlüsselten Passwortdatei.

-m maschinen_name

  • Ändert das Passwort eines Maschinen-Accounts. Die Maschinen-Accounts werden gebraucht, um Maschinen zu beglaubigen, wenn sie sich bei einem Primary oder Backup Domain Controller anmelden.

-j domain_name

  • Fügt einen Sambaserver zu einer Windows NT-Domäne hinzu.

-n

  • Setzt kein Passwort für den User.

-s username

  • Veranlasst smbpasswd , still zu halten und seine alten und neuen Passwörter von der Standard-Eingabe zu lesen, eher als von /dev/tty. Das ist nützlich für das Schreiben von Skripts.

testparm

Das Programm testparm überprüft eine smb.conf -Datei auf offensichtliche Fehler und eigene Folgerichtigkeit. Seine Befehlszeile ist:

testparm [options] configdatei_name [hostname IP_adresse]

Wenn die Konfigurationsdatei nicht genannt ist, wird als Vorgabe die Datei samba_dir /lib/smb.conf überprüft. Wenn du einen Hostnamen und eine IP-Adresse angibst, wird eine extra Überprüfung gemacht, um sicherzugehen, dass die angegebene Maschine sich bei Samba anmelden darf. Wenn ein Hostname angegeben wird, sollte auch eine IP-Adresse vorliegen.

Optionen

-h

  • Druckt die Kommandozeilen-Information für das Programm.

-L server_name

  • Setzt die Konfigurations-Variable %L auf den angegebenen Servernamen zurück.

-s

  • Diese Option hindert das Programm testparm , den User aufzufordern, die Enter-Taste zu drücken, bevor es eine Liste der Konfigurations-Optionen für den Server ausdruckt.

testprns

Das Programm testprns überprüft einen angegebenen Drucker-Namen gegenüber der System-Drucker-Capabilities-Datei (printcap). Seine Befehlszeile ist:

testprns druckername [printcapname]

Wenn der printcapname nicht angegeben wird, versucht Samba einen in der smb.conf -Datei befindlichen zu benützen. Ist hier keiner genannt, versucht Samba /etc/printcap. Wenn das fehlschlägt, generiert das Programm einen Fehler.

rpcclient

Das ist ein neuer Client, der die RPC (remote procedure call)-Interfaces eines SMB-Servers ausführt. Wie smbclient, begann rpcclient sein Leben als ein Testprogramm für die Samba-Entwickler und wird es wahrscheinlich für eine Weile bleiben. Seine Befehlszeile ist:

rpcclient //server/share

Die Kommandozeilen-Optionen sind dieselben wie bei Samba 2.0 smbclient, und die Operationen, die du versuchen kannst, werden nachfolgend aufgelistet.

 

rpcclient-Befehle

Befehl

Beschreibung

regenum keyname

Registry-Aufzählung (Schlüssel, Werte)

regdeletekey keyname

Registry Schlüssel Löschen

regcreatekey keyname [keyvalue]

Registry Schlüssel Erzeugen

regquerykey keyname

Registry Schlüssel Suchen

regdeleteval valname

Registry Wert Löschen

regcreateval valname valtype value

Registry Schlüssel Erzeugen

reggetsec keyname

Registry Schlüssel Sicherheit

regtestsec keyname

Registry Schlüssel Sicherheitstest

ntlogin [username] [passwort]

NT-Domäne Login-Test

wksinfo

Arbeitsstation Such-Info

srvinfo

Server Such-Info

srvsessions

Listet Sitzungen auf einem Server

srvshares

Listet Shares auf einem Server

srvconnections

Listet Verbindungen auf einem Server

srvfiles

Listet Dateien auf einem Server

lsaquery

Such-Info Taktik (Domänen-Mitglied oder Server)

lookupsids

Löse Namen aus SIDs auf

ntpass

NT SAM Passwort-Wechsel

tcpdump

Das Werkzeug tcpdump , ein klassisches Verwaltungs-Tool, lädt alle Paket-Header, die es sieht, auf einem Interface ab, das mit einem Ausdruck übereinstimmt. Die der Samba-Distribution angeschlossene Version ist erweitert, damit sie das SMB-Protokoll versteht. Der Ausdruck ist ein logischer Ausdruck mit "and," "or" und "not," obwohl er manchmal sehr einfach ist. Zum Beispiel, host escrime würde jedes Paket wählen, das zu escrime geht oder von dort kommt. Der Ausdruck ist normalerweise einer oder mehrere von:

  • host name
  • net network_number
  • port number
  • src name
  • dst name

Die am meisten üblichen Optionen sind src (Quelle), dst (Ziel), and port. Wir benützten zum Beispiel im Buch den Befehl:

tcpdump port not telnet

Dieser lädt alle Pakete außer Telnet ab; wir waren via Telnet eingeloggt und wollten nur die SMB-Pakete sehen.

Ein anderes tcpdump -Beispiel ist die Auswahl des Verkehrs zwischen Server und sue oder joe:

tcpdump host server and \(sue or joe \)

Wir empfehlen die Verwendung der Option -s 1500 , sodass du alles von den gesendeten SMB-Meldungen auffängst statt nur die Header-Information.

Optionen

Es gibt viele Optionen und viele andere Arten von Ausdrücken, die mit tcpdump verwendet werden können. Siehe die Manual-Seite wegen Details bei den erweiterten Optionen. Die gebräuchlichsten Optionen sind folgende:

-c anzahl

  • Zwingt das Programm, nach Erhalt der angegebenen Anzahl von Paketen abzubrechen.

-F datei

  • Liest den Ausdruck von der genannten Datei und ignoriert Ausdrücke in der Befehlszeile.

-i interface

  • Zwingt das Programm, auf dem angegebenen Interface zu horchen.

-r datei

  • Liest Pakete von der angegebenen Datei (Gegenteil von -w).

-s länge

  • Sichert die angegebene Anzahl von Daten-Bytes von jedem Paket (lieber als 68 Bytes).

-w datei

  • Schreibt die Pakete in die angegebene Datei.

Previous: Anhang C. Next: Anhang E.
C. Schnell-Referenz für Samba-Konfigurationsoptionen Buch-Index (engl.) E. Samba mit CVS herunterladen

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.