Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly1st Edition November 1999 1-56592-449-5, Order Number: 4495 416 pages, $34.95 |
2.5 Die Samba-Dämonen starten
Es gibt zwei Samba-Prozesse, smbd und nmbd, die laufen müssen, damit Samba korrekt arbeitet. Sie können auf dreierlei Arten gestartet werden:
2.5.1 Starten der Dämonen von Hand aus
Wenn du es eilig hast, kannst du die Samba-Dämonen per Hand starten. Gib einfach die folgenden Kommandos als Root ein:
#/usr/local/samba/bin/smbd -D
#/usr/local/samba/bin/nmbd -D
Sogleich wird Samba auf deinem System laufen und bereit sein, Verbindungen anzunehmen.
2.5.2 Stand-alone Dämonen
Um die Samba-Prozesse als stand-alone Dämonen zu betreiben, musst du die in der vorhergehenden Sektion angeführten Kommandos in deine Standard-Unix-Startskripten eingeben. Das variiert abhängig davon, ob du ein BSD-artiges Unix-System oder ein System V Unix besitzt.
2.5.2.1 BSD Unix
Bei einem BSD-artigen Unix musst du zur rc.local -Datei den folgenden Code hinzufügen, den man typischerweise im /etc oder /etc/rc.d -Verzeichnis findet:
if [ -x /usr/local/samba/bin/smbd]; then echo "Starting smbd..." /usr/local/samba/bin/smbd -D echo "Starting nmbd..." /usr/local/samba/bin/nmbd -D fiDieser Code ist sehr einfach, er prüft, ob die smbd -Datei Freigaben ausgeführt hat, und wenn sie das tut, startet er jeden Samba-Dämon beim Booten des Systems.
2.5.2.2 System V Unix
Beim System V können die Dinge etwas komplizierter werden. Das System V verwendet typischerweise Skripts zum Starten und Stoppen der Dämonen auf dem System. Daher musst du Samba beibringen, wie es beim Starten und Stoppen vorgehen soll. Du kannst die Inhalte des Verzeichnisses /etc/rc.local modifizieren und etwas hinzufügen, ähnlich dem folgenden Programm namens smb:
#!/bin/sh # Contains the "killproc" function on Red Hat Linux ./etc/rc.d/init.d/functions PATH="/usr/local/samba/bin:$PATH" case $1 in 'start') echo "Starting smbd..." smbd -D echo "Starting nmbd..." nmbd -D ;; 'stop') echo "Stopping smbd and nmbd..." killproc smbd killproc nmbd rm -f /usr/local/samba/var/locks/smbd.pid rm -f /usr/local/samba/var/locks/nmbd.pid ;; *) echo "usage: smb {start|stop}" ;; esacMit diesem Skript kannst du den SMB-Dienst mit den folgenden Kommandos starten und stoppen:
# /etc/rc.local/smb start Starting smbd... Starting nmbd... # /etc/rc.local/smb stop Stopping smbd and nmbd...2.5.3 Start über Inetd
Der inetd -Dämon ist ein Internet-"Super-Dämon" des Unix Systems. Er hört auf in /etc/services definierten TCP-Ports und führt das passende Programm für jeden Port aus, der in /etc/inetd.conf festgelegt ist. Der Vorteil dieses Schemas ist, dass du eine große Zahl Dämonen haben kannst, um Anfragen zu beantworten, aber sie müssen nicht alle laufen. An ihrer Stelle horcht der inetd -Dämon. Der Nachteil ist wenig Platz zum Erzeugen eines neuen Dämon-Prozesses und die Tatsache, dass du zwei Dateien editieren musst, um Dinge durchzuführen. Das ist praktisch, wenn du nur einen oder zwei User hast oder deine Maschine schon zu viele Dämonen hat. Es ist auch leichter, ein Upgrade durchzuführen, ohne eine bestehende Verbindung zu stören.
Wenn du über den inetd starten willst, öffne zuerst /etc/services in deinem Texteditor. Wenn du sie noch nicht eingetragen hast, ergänze die folgenden zwei Zeilen:
netbios-ssn 139/tcp netbios-ns 137/udpAls Nächstes editiere /etc/inetd.conf. Suche die folgenden zwei Zeilen und füge sie hinzu, wenn sie nicht existieren. Wenn du bereits
smbd
- undnmbd
-Zeilen in der Datei hast, editiere sie, damit sie auf die neuen smbd und nmbd hinweisen, die du installiert hast. Deine Unix-Version mag eine geringfügig andere Syntax in dieser Datei verwenden; benütz die vorliegenden Einträge und die inetd.conf -man-Page als Hilfe:netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbdZum Schluss beende alle smbd oder nmbd -Prozesse und sende dem inetd-Prozess ein Hangup- (HUP) Signal. (Der inetd-Dämon liest bei einem HUP-Signal seine Konfigurationsdatei wieder ein.) Um dies zu tun, finde mit dem
ps
-Kommando seine Prozess-ID heraus, dann zeige sie mit dem folgenden Kommando an:#kill -HUP process_id
Danach sollte Samba aktiv sein und laufen.
© 1999, O'Reilly & Associates, Inc.