Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David CollierBrown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-8...
102 downloads
3264 Views
6MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David CollierBrown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-89721-359-1 www.oreilly.de/catalog/samba2ger/ Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.
Inhalt Vorwort
1 Lerne den Samba Was ist Samba? Was leistet Samba? Sich mit einem SMB-Netzwerk vertraut machen Eine Einführung in das SMB-Protokoll Windows-Arbeitsgruppen und -Domänen Was ist neu in Samba 2.2? Was ist neu in Samba 3.0? Was leistet Samba? Ein Überblick über die Samba-Distribution Woher bekomme ich Samba?
2 Samba auf einem Unix-System installieren In der Distribution enthaltene Versionen Die Samba-Distribution herunterladen Samba konfigurieren
Kompilierung und Installation von Samba SWAT aktivieren Eine grundlegende Samba-Konfigurationsdatei Firewall-Konfiguration Starten der Samba-Daemons Die Samba-Daemons testen
3 Windows-Clients konfigurieren Windows-Netzwerkkonzepte Windows 95/98/Me-Computer einrichten Windows NT 4.0-Computer einrichten Windows 2000-Computer einrichten Windows XP-Computer einrichten
4 Windows NT-Domänen Samba als primärer Domänen-Controller Anlegen von Computerzugängen Windows-Clients für Domänen-Anmeldungen konfigurieren Anmeldeskripten Roaming-Profile Systemrichtlinien Samba als Domänen-Member-Server Optionen für Windows NT-Domänen
5 Unix-Clients Dateien unter Windows 95/98/Me freigeben Dateien unter Windows NT/2000/XP freigeben smbclient smbfs smbsh smbutil und mount_smbfs
6 Die Samba-Konfigurationsdatei Die Samba-Konfigurationsdatei Besondere Abschnitte Konfigurationsoptionen Server-Konfiguration Die Konfiguration einer Plattenfreigabe Netzwerkoptionen für Samba Virtuelle Server Konfigurationsoptionen für die Protokollierung
7 Die Namensauflösung und das Durchsuchen Namensauflösung Das Durchsuchen
8 Erweiterte Verzeichnisfreigaben Unterschiede zwischen Dateisystemen Dateiberechtigungen und Attribute unter MS-DOS und Unix Windows NT/2000/XP-ACLs Namensverkürzung und Groß-/Kleinschreibung Sperren und Oplocks Verbindungsskripten Microsoft Distributed Filesystems Mit NIS arbeiten
9 Benutzer und Sicherheit Benutzer und Gruppen Zugriff auf Freigaben steuern Authentifizierung von Clients
Kennwörter Authentifizierung mit winbind
10 Drucken Druck-Jobs an Samba senden Auf Windows-Druckern drucken
11 Weitere Informationen über Samba Zeit-Synchronisierung Magische Skripten Internationalisierung Der Windows-Nachrichtendienst Diverse Optionen
12 Fehlersuche und Problembehandlung Der Werkzeugkasten Der Fehlerbaum Weitere Ressourcen
A Beispielkonfigurationsdateien
B Kurzreferenz der Samba-Konfigurationsoptionen
C Zusammenfassung der Samba-Daemons und -Befehle
D Samba mit CVS herunterladen
E Konfigurationsoptionen
F Samba unter Mac OS X Server betreiben
G GNU Free Documentation License Index
Copyright © 2003 by O'Reilly Verlag GmbH & Co.KG
Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David CollierBrown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-89721-359-1 www.oreilly.de/catalog/samba2ger/ Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.
Vorwort Sie lesen ein Buch über Samba, eine Software-Sammlung, die Windows, Unix und andere Betriebssysteme mit Hilfe des Windows-eigenen Netzwerkprotokolls verbindet. Samba erlaubt es Unix-Servern, WindowsNetzwerkdienste anzubieten, indem es das Dateisystem und die Netzwerkmodelle von Unix an diejenigen von Windows anpasst. Samba bildet dabei eine Brücke zwischen den beiden Systemen, indem es die entsprechenden Teile ihrer Architekturen miteinander verbindet und eine Übersetzung anbietet, wenn dies erforderlich ist. Das Überbrücken der Lücke zwischen Systemen, die so unterschiedlich sind wie Windows und Unix, ist eine komplizierte Aufgabe, die Samba jedoch überraschend gut erledigt. Um ein guter Samba-Administrator zu sein, müssen Ihre Fähigkeiten denen von Samba ähneln. Sie brauchen Kenntnisse in grundlegender Unix-System- und Netzwerkadministration und benötigen ein gutes Verständnis der Windows-Dateisystem- und Netzwerkgrundlagen. Darüber hinaus müssen Sie lernen, wie Samba den »grauen Bereich« zwischen Unix und Windows füllt. Sobald Sie wissen, wie alles zusammenpasst, werden Sie leicht in der Lage sein, einen Samba-Server zu konfigurieren, um Ihrem Netzwerk zuverlässige und leistungsstarke Computer-Ressourcen zur Verfügung zu stellen. Unsere Aufgabe besteht darin, Ihnen all dies zu erleichtern. Dazu beginnen wir in Kapitel 1 mit einem schnellen und dabei doch umfassenden Überblick über den Windows-Netzwerkbetrieb, gefolgt von den eher anleitungsorientierten Kapiteln 2 und 3, in denen Sie erfahren, wie Sie einen minimalen Samba-Server aufsetzen und Windows-Clients für das Zusammenspiel mit diesem Server konfigurieren. Wahrscheinlich werden Sie überrascht sein, wie schnell Sie die erforderlichen Aufgaben ausführen
können. Wir glauben, dass ein praktischer Ansatz am effektivsten ist. Daher können Sie den Samba-Server, den Sie in den Kapiteln 2 und 3 aufgebaut haben, als Testsystem zum Ausprobieren der Beispiele einsetzen, die wir im Laufe des Buches zeigen und beschreiben. Sie können die Kapitel in beliebiger Reihenfolge lesen, aber wenn Sie von Kapitel 4 an nacheinander alle Kapitel durcharbeiten, haben Sie nach dem Beenden des Buches einen gut konfigurierten Samba-Server, den Sie sofort einsetzen können. Sie müssen lediglich die entsprechende Unterstützung für Ihre gewünschten Aufgabenstellungen hinzufügen, wenn wir die einzelnen Funktionen und Merkmale erläutern.
An wen sich dieses Buch richtet Dieses Buch ist vorrangig für Unix-Administratoren gedacht, die WindowsClients in ihrem Netzwerk unterstützen müssen. Außerdem richtet sich das Buch an alle, die von einem Unix-Client aus auf die Ressourcen eines Windows-Netzwerks zugreifen möchten. Wir gehen zwar davon aus, dass Sie mit den Grundlagen der Unix-Systemadministration vertraut sind, erwarten jedoch nicht, dass Sie ein Netzwerkexperte sind. Aus diesem Grund bemühen wir uns, Ihnen ungewöhnliche Definitionen und Begriffe näher zu bringen. Außerdem verlangen wir nicht, dass Sie ein Experte für Microsoft Windows sind. Wir erklären sorgfältig alle grundlegenden Konzepte, die mit dem Netzwerkbetrieb unter Windows zusammenhängen, und betrachten den Windows-Anteil bei den Installationsaufgaben relativ ausführlich, wobei wir Beispiele sowohl für Windows 95/98/Me als auch für Windows NT/2000/XP liefern, die sich deutlich voneinander unterscheiden. Für die Unix-Seite liefern wir Beispiele, die mit verbreiteten Unix-Betriebssystemen, wie etwa Linux, Solaris, FreeBSD und Mac OS X, funktionieren.
Aufbau des Buches Hier folgt eine kurze Beschreibung der einzelnen Kapitel: Kapitel 1, Lerne den Samba, stellt Samba und seine Fähigkeiten vor und beschreibt anschließend die wichtigsten Konzepte von NetBIOS und SMB/ CIFS-Netzwerken. Schließlich liefern wir einen Überblick über die Daemons und Dienstprogramme, die in der Samba-Distribution enthalten sind. Kapitel 2, Samba auf einem Unix-System installieren, behandelt Konfiguration, Kompilierung, Installation, Einrichtung und Tests eines SambaServers auf einer Unix-Plattform. Kapitel 3, Windows-Clients konfigurieren, erklärt, wie Sie Microsoft Windows 95/98/Me- und Windows NT/2000/XP-Clients so konfigurieren, dass sie Teil eines SMB-Netzwerks werden.
Kapitel 4, Windows NT-Domänen, erläutert die Vor- und Nachteile von Windows NT-Domänen und gibt an, wie Sie Samba dazu bringen, in einem Netzwerk zu funktionieren, das als Windows NT-Domäne eingerichtet ist. Kapitel 5, Unix-Clients, beschreibt Methoden zum Zugriff auf SMB-Freigaben im Netzwerk von Unix-Client-Systemen aus. Kapitel 6, Die Samba-Konfigurationsdatei, geht auf die Struktur der SambaKonfigurationsdatei ein und zeigt Ihnen, wie Sie Filesharing-Dienste verwalten. Kapitel 7, Die Namensauflösung und das Durchsuchen, führt Sie in die Namensauflösung ein, die dazu dient, NetBIOS-Computernamen in IPAdressen umzuwandeln. Außerdem wird Ihnen das Durchsuchen vorgestellt, das Verfahren, mit dessen Hilfe in SMB-Netzwerken ermittelt werden kann, welche Ressourcen im Netzwerk freigegeben werden. Kapitel 8, Erweiterte Verzeichnisfreigaben, setzt die Diskussion der Freigabeoptionen fort und behandelt höhere Funktionen wie Berechtigungen, Zugriffskontrolllisten, opportunistische Sperren und das Einrichten eines Dfs(Distributed filesystem-)Baums. Kapitel 9, Benutzer und Sicherheit, behandelt, wie Sie SambaBenutzer einrichten, führt Sie in die Samba-Sicherheit ein und zeigt Ihnen, wie Sie mit verschlüsselten und unverschlüsselten Kennwörtern arbeiten. Kapitel 10, Drucken, bespricht das Einrichten von Druckern zum Freigeben von Unix-Druckern im SMB-Netzwerk und zeigt, wie Sie Unix-Workstations den Zugriff auf freigegebene SMB-Drucker ermöglichen. Kapitel 11, Weitere Informationen über Samba, fasst verschiedene Themen zusammen, die mit Samba zu tun haben, wie etwa das Konfigurieren von Samba-Freigaben für Programmierer und Probleme mit der Internationalisierung. Kapitel 12, Fehlersuche und Problembehandlung, erklärt, was Sie tun müssen, wenn Sie Probleme mit der Installation von Samba haben. Dieses vergleichsweise lange Kapitel ist vollgestopft mit Hinweisen zur Fehlersuche und Strategien zum Feststellen, was schiefgegangen ist. Anhang A, Beispielkonfigurationsdateien, liefert funktionsfähige Beispiele für smb.conf-Dateien, die Sie benutzen können, um Samba für seine allgemeineren Aufgaben zu konfigurieren. Sie können die Beispiele leicht verändern und an eine Vielzahl von Gegebenheiten anpassen. Anhang B, Kurzreferenz der Samba-Konfigurationsoptionen, behandelt alle Optionen, die in der Samba-Konfigurationsdatei auftauchen können.
Anhang C, Zusammenfassung der Samba-Daemons und -Befehle, ist eine Kurzreferenz, die alle Server-Daemons und Werkzeuge des Samba-Pakets vorstellt. Anhang D, Samba mit CVS herunterladen, erläutert, wie Sie die neueste Entwicklungsversion des Samba-Quellcodes mit Hilfe des CVS herunterladen können. Anhang E, Konfigurationsoptionen, dokumentiert alle Optionen, die vor der Kompilierung des Samba-Quellcodes zusammen mit dem configure-Befehl eingesetzt werden können. Anhang F, Samba unter Mac OS X Server betreiben, enthält Anweisungen zum Freigeben von Dateien und Druckern mit der Server-Ausgabe von Mac OS X. Anhang G, GNU Free Documentation License, ist die Copyright-Lizenz, unter der dieses Buch veröffentlicht wurde.
In diesem Buch verwendete Konventionen Die folgenden typographischen Konventionen werden in diesem Buch verwendet: Kursiv Dateinamen, Dateierweiterungen, URLs, ausführbare Dateien, Befehlsoptionen und besonders wichtige Begriffe. Nichtproportionalschrift Samba-Konfigurationsoptionen, Computernamen, Benutzer- und Gruppennamen, Hostnamen, Domainnamen, anderer Code, der im Text auftaucht, und Kommandozeilen-Informationen, die wörtlich eingegeben werden sollen. Nichtproportionalschrift fett Befehle, die vom Benutzer eingegeben werden, und neue Konfigurationsoptionen, auf die wir die Leser hinweisen wollen. Nichtproportionalschrift kursiv Zu ersetzender Inhalt in Code und Kommandozeilen-Informationen.
Dies kennzeichnet einen Hinweis, der wichtige Informationen zum Text enthält.
Dies kennzeichnet eine Warnung.
Danksagungen Wir danken Leon Towns-von Stauber dafür, dass er den Einsatz von Samba unter Mac OS X so gründlich untersucht und Texte geschrieben hat, die in den Kapiteln 2, 5 und 10 auftauchen. Außerdem stammt der gesamte Anhang F von ihm. Wir danken darüber hinaus unseren technischen Lektoren Sam Johnston, Matthew Temple, Marty Leisner und Don McCall.
Jay Ts Das Schreiben dieses Buches wäre außerordentlich schwierig gewesen, wenn die Firma VMware, Inc. mir nicht großzügigerweise eine Kopie von VMware Workstation zur Verfügung gestellt hätte. Ich möchte Rik Farrow für seine klärenden Kommentare zu den Sicherheitsthemen im Bereich Samba und Windows danken und sowohl ihm als auch Rose Moon für ihre unterstützende Freundschaft. Mein Dank geht auch an Mark Watson für seine Ermutigung und seine Ratschläge hinsichtlich des Schreibens technischer Bücher. Außerdem möchte ich auf diesem Wege meine Wertschätzung für Andy Oram von O'Reilly zum Ausdruck bringen, der ein hilfsbereiter, freundlicher und unbeschwerter Lektor ist und mir Begriffe angeboten hat, mit denen ich mich einverstanden erklären konnte - etwas, das nur wenige Lektoren überhaupt versuchen. SuSE, Inc. hat dankenswerterweise eine Kopie von SuSE Linux 8.1 Professional bereitgestellt.
Robert Eckstein Zunächst gilt mein Dank Dave Collier-Brown und Peter Kelly für ihre Hilfe bei der Entstehung dieses Buches. Ich möchte außerdem allen technischen Lektoren danken, die dabei geholfen haben, dieses Buch in so kurzer Zeit in die jetzige Form zu bringen: Matthew Temple, Jeremy Allison und natürlich Andrew Tridgell. Andrew und Jeremy, die nicht nur ein wunderbares Produkt geschaffen, sondern mich auch beim Schreiben dieses Buches in der letzten Phase unermüdlich unterstützt haben - Hut ab, Jungs! Eine herzliche Umarmung geht an meine Frau Michelle, die wieder einmal mit einem Ehemann auskommen musste, dem zu viel Koffein und ein enger Zeitplan zugesetzt hatten. Dank auch an Dave Sifry und die Leute bei LinuxCare, San Francisco, die mich bereitwillig beherbergten, als ich Andrew Tridgell besucht habe. Schließlich vielen, vielen Dank an meinen Lektor Andy Oram, der das Buch (sehr) geduldig durch viele Phasen geleitet hat, bis es zu unserer
Zufriedenheit ausfiel.
David Collier-Brown Ich möchte mich besonders bei Joyce bedanken, die während der manchmal aufregenden Entstehungszeit dieses Buches mit mir zurechtkommen musste. Dank an Andy Oram, dessen wohlmeinende Kritik meinen Beitrag zu diesem Buch erst ermöglicht hat. Dank auch an das Team bei Opcom, das dem offenbar »Verrückten« in seiner Mitte seinen Willen ließ, an Ian MacMillan, der freiwillig mehrere meiner frühen Entwürfe von der ComputerfreakSprache ins Englische »übersetzte«. Ich möchte mich außerdem besonders bei Perry Donham, Drew Sullivan und Jerry DeRoo dafür bedanken, dass sie dieses irre Projekt begannen und unterstützten. Schließlich danke ich Bob Eckstein für die letzte, nachhaltige und professionelle Anstrengung, die das ganze Buch auf das Niveau brachte, das Andy erwartete.
Alle Wir möchten besonders Perry Donham und Peter Kelly dafür danken, dass sie den ersten Entwurf dieses Buches ausgearbeitet haben. Perry konnte zu späteren Entwürfen zwar nichts mehr beisteuern, aber sein Material war unentbehrlich, um das Buch auf den rechten Weg zu bringen. Außerdem stammt der Teil des Texts über das Durchsuchen des Netzwerks ursprünglich von O'Reilly-Mitarbeiter Dan Shearer.
Copyright © 2003 by O'Reilly Verlag GmbH & Co.KG
Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David CollierBrown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-89721-359-1 www.oreilly.de/catalog/samba2ger/ Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.
Symbole %$-Variable 203 %a-Variable 151 , 202 Variablenersetzung 202 %d-Variable 203 %G-Variable 202 %g-Variable 202 %H-Variable 202 , 298 %h-Variable 203 %I-Variable 202 %L-Variable 147 , 151 , 203 %M-Variable 202 %m-Variable 147 , 151 , 202 %N-Variable 203 %P-Variable 203 %p-Variable 203 %R-Variable 203 %S-Variable 202 %T-Variable 203 %U-Variable 202 , 298 %u-Variable 147 , 151 , 202 , 298 %v-Variable 203 . (Punkt) (siehe auch Punktdateien) NetBIOS-Namen und 14 .bak-Dateien 263 .bat-Dateien 146 .cmd-Dateien 146 .dat-Dateien ändern in .man-Dateien 157 NTUSER.DAT 148 USER.DAT 148 .ini-Dateien 197
.man-Dateien, erstellen aus .dat-Dateien 157 .nsmbrc-Dateien 191 .old-Dateien 54 .pwl-Dateien 30 .win_profile-Verzeichnis 151 Beispiel 153 /etc/fstab-Datei, Warnung vor Bearbeiten 187 /etc/group 298 /etc/hosts-Datei 75 /etc/nsswitch.conf-Datei 75 /etc/passwd-Datei, manuelles Erzeugen der Einträge 134 /etc/printcap.local-Datei 349 /etc/resolv.conf-Datei 77 , 231 /usr/local/etc/nsmb.conf-Datei 191 [global]-Abschnitt (smb.conf-Datei) 204 [homes]-Freigabe (smb.conf-Datei) 131 , 205 , 245 , 299 Besonderheiten der 300 [netlogon]-Freigabe (smb.conf-Datei) 131 , 145 , 245 [printers]-Freigabe (smb.conf-Datei) 205 , 342 Beispiel für ein Linux-System 342 [profiles]-Freigabe (smb.conf-Datei) 131 _ _MSBROWSE_ _-Ressourceneintrag 17 , 240
Zahlen 127.0.0.1 (Localhost) 78 bind interfaces only-Option 219
A abort shutdown script-Option (smb.conf-Datei) 426 ACLs 32 abbilden auf Unix-Berechtigungen 453 Installieren von Samba mit Unterstützung für 525 Konfigurationsoptionen 273-275 POSIX.1e 272 Unix 272 Unterstützung in Samba 2.2 39 vererben 441 verglichen mit Unix-Dateiberechtigungen 32 Windows NT/2000/XP 173 , 266-275 Active Directory Samba 2.2 36 , 127 Samba 3.0 36 Server, festlegen 427 Zeitsynchronisation und 360 Adapter 73 add machine script-Option (smb.conf-Datei) 427 add printer command-Option (smb.conf-Datei) 426
add share command-Option (smb.conf-Datei) 427 add user script-Option (smb.conf-Datei) 167 , 427 admin users-Option (smb.conf-Datei) 301 , 303 , 427 administrative Benutzer (siehe root-Zugänge) Administrator (siehe Domänenadministrator) ads server-Option (smb.conf-Datei) 427 AFS (Andrew Filesystem), Installieren von Samba mit Unterstützung für 525 Aktualisieren von Samba 54 , 55 Albitz, Paul 407 algorithmic rid base-Option (smb.conf-Datei) 428 allow hosts-Option (smb.conf-Datei) 428 allow trusted domains-Option (smb.conf-Datei) 428 analogX Atomic TimeSync 360 Änderungsbenachrichtigung 374 Anleitungen, Samba 48 Anmeldeparameter, einstellen 25 Anmeldepfad, Unterstützen von Roaming-Profilen für Windows NT/2000/XP-Clients 130 Anmeldeskripten 126 , 144-147 erstellen 145-147 Optionen 158 Überprüfen des Formats 146 Verwenden von Variablen in 147 announce as-Option (smb.conf-Datei) 246 , 428 announce version-Option (smb.conf-Datei) 247 , 428 anonym (siehe auch Gastzugang) Beschränken des Zugriffs 461 ANSI C-Compiler benötigt von Samba-Quellen 47 Arbeitsgruppen 27-31 definiert 16 die mehrere Subnetze umfassen 36 Hinzufügen des ersten Samba-Servers zu 420 Probleme im Zusammenhang mit 31 Windows 2000 108 Windows 95/98/Me 87 Windows NT 99 Windows XP 119 Arbeitsstationsdienst, installieren unter Windows NT 94 Ausblenden von Dateien 252-254 ausführbare-Datei-Berechtigungsbit 260 auth methods-Option (smb.conf-Datei) 428 Authentifizierung Aktivieren von Samba als WINS-Server, Beispiel für Konfigurationsdatei 419 Client 306-312 Einstellen der Methode der 462 Dateien, Festlegen des Ablageortes für Samba 527 definiert 32 Methoden, festlegen 428
mit winbind 324-337 Pass-Through 35 Sambas normale benutzerbezogene verglichen mit Windows 79 Samba-Sicherheitsstufen 306 Überblick 33 Windows 95/98/Me 30 (siehe auch Kennwörter) auto services-Option (smb.conf-Datei) 245 , 248 , 428 automatisch mountende Freigaben 525 available-Option (smb.conf-Datei) 429
B Backends (CUPS-Module) 351 Backup-Domänen-Controller (BDC) 32 (siehe auch primäre Domänen-Controller) Unfähigkeit von Samba 2.2, mit BDCs zusammenzuarbeiten 128 Backups, erzeugen und wiederherstellen mittels smbclient 181-184 Benutzer Account-Dateien in Windows 30 Anlegen neuer 427 automatisches Löschen eines Zugangs 434 einzelne, hinzufügen unter Unix 297-299 Festlegen des schreibgeschützten Zugriffs 460 Gruppenzugehörigkeit, außer Kraft setzen 438 hinzufügen zu Windows 2000 110 Windows 95/98/Me 88 Windows NT 101 Windows XP 121 mehrere, hinzufügen unter Unix 299-300 Untersuchen bestimmter 432 Benutzer-Accounting 529 Benutzer-ID (UID, User ID) 32 Berechtigungen (siehe auch Dateiberechtigungen; Verzeichnisberechtigungen) zuordnen zu Windows NT-ACLs 453 Bereichs-ID (SMB-Paket) 17 bind interfaces only-Option (smb.conf-Datei) 219 , 429 --bindir (configure-Option) 51 Bindungen 73 Windows 2000 106 Windows 95/98/Me 86 Windows NT 99 Windows XP 116 Bitmasken 185 CIDR-Format 219 b-Knoten (NetBios-Knotentyp) 14 block size-Option (smb.conf-Datei) 429 blocking locks-Option (smb.conf-Datei) 429
Broadcast Namensauflösung 75 verglichen mit NBNS-Namensregistrierung 11 Broadcast-Adresse 414 Broadcasting 13 browsable-Option (smb.conf-Datei) 245 , 247 , 300 , 429 browse list-Option (smb.conf-Datei) 247 , 429 browseable-Option (smb.conf-Datei) (siehe browsable-Option (smb. conf-Datei)) Browse-Master (siehe lokaler Hauptsuchdienst) Browse-Server (siehe lokaler Hauptsuchdienst) Browsing and Windows 95 Networking und CIFS/E Browser Protocol 241 BROWSING.txt und BROWSING-Config.txt 241 BSD-Unix automatisches Starten der Samba-Daemons 65 Drucker 349-350
C Caching-Regeln, Client-seitige 432 case sensitive-Option (smb.conf-Datei) 278 , 430 casesignames-Option (smb.conf-Datei) 430 change notify timeout-Option (smb.conf-Datei) 374 , 430 change share command-Option (smb.conf-Datei) 430 character set-Option (smb.conf-Datei) 365 , 430 checking (Nachricht des configure-Skripts) 52 CIDR-Format-Bitmaske 219 CIFS 22 Unix-Erweiterungen 39 , 469 (siehe auch SMB) CIFS Technical Reference 21 client code page-Option (smb.conf-Datei) 364 , 430 Cluster-Umgebung, Samba in 464 (siehe auch Multihomed-System; mehrere Subnetze) 464 code page directory-Option (smb.conf-Datei) 431 Codeseiten 364 coding system-Option (smb.conf-Datei) 366 , 431 comment-Option (smb.conf-Datei) 213 , 431 Common Internet File System (siehe CIFS) comp.protocols.smb-Newsgroup 417 Computer, hinzufügen zu Domänen 427 Computernamen Namensauflösung (siehe Namensauflösung) Windows 2000 108 Windows 95/98/Me 87 Windows NT 99 Windows XP 119 Computerzugänge, hinzufügen 132 Concurrent Versions System (CVS) 521 config file-Option (smb.conf-Datei) 207 , 431
config.log-Datei 52 config.pol-Datei 163 config.status-Datei 55 configure-Skript 50 Beispielausführung 51 Optionen 523-529 --bindir 51 --datadir 51 --eprefix 51 --include dir 51 --infodir 51 --libdir 51 --libexec dir 51 --mandir 51 --prefix 51 --sbindir 51 with Funktion 50 --with-acl-support 525 --with-afs 525 --with-automount 525 --with-codepagedir 525 --with-configdir 525 --with-dce-dfs 525 --with-fhs 525 --with-included-popt 525 --with-krb4 525 --with-krb5 526 --with-ldapsam 526 --with-libiconv 526 --with-libsmbclient 526 --with-lockdir 526 --with-logfilebase 526 --with-manpages-langs 526 --with-msdfs 50 , 526 --with-nisplus-home 527 --with-nisplussam 527 without Funktion 50 --with-pam 527 --with-pam_smbpass 527 --with-piddir 527 --with-privatedir 527 --with-profiling-data 527 --with-quotas 527 --with-readline 527 --with-sendfile-support 528 --with-smbmount 51 , 528 --with-smbwrapper 51 , 528 --with-spinlocks 528 --with-ssl 528 --with-sslinc 528 --with-ssllib 528
--with-swatdir 528 --with-syslog 529 --with-tdbsam 529 --with-utmp 529 --with-winbind 529 copy-Option (smb.conf-Datei) 208 , 431 Core und Core Plus 22 create mask-Option (smb.conf-Datei) 261 , 263 , 431 create mode-Option (smb.conf-Datei) 299 , 432 creating (Nachricht des configure-Skripts) 52 csc policy-Option (smb.conf-Datei) 432 CVS (Concurrent Versions System) 521
D Daemons (siehe inetd-Daemon; nmbd-Daemon; smbd-Daemon; xinetd-Daemon) Darwin, automatisches Starten der Samba-Daemons 68 --datadir (configure-Skript-Option) 51 Datagramm-Dienste (NBT) definiert 17 Hinweise 19 Datagramm-Dienste, definiert 11 Datagramm-Funktionen 18 Dateiberechtigungen Ausführbarkeitsbit 260 Einstellen der maximal zulässigen 431 Einstellen in Windows NT/2000/XP 173 Optionen 262-266 Unix-Berechtigungen verglichen mit ACLs 32 unter MS-DOS und Unix 257-266 verglichen mit ACLs 32 Zusammenfassung der Unix-Berechtigungsbits 259 Dateinamen Konventionen 275 (siehe auch Namensverkürzung) speichern und suchen in Samba 277 Dateisperren (siehe Sperren und Oplocks) Dateisystemoptionen 255-257 Dateiübertragung mittels smbclient 178 deadtime-Option (smb.conf-Datei) 370 , 432 debug hires timestamp-Option (smb.conf-Datei) 432 debug pid-Option (smb.conf-Datei) 432 debug timestamp-Option (smb.conf-Datei) 225 , 432 debug uid-Option (smb.conf-Datei) 432 debuglevel-Option (smb.conf-Datei) 433 default case-Option (smb.conf-Datei) 278 , 279 , 433 default devmode-Option (smb.conf-Datei) 433 default service-Option (smb.conf-Datei) 248 , 433 default-Option (smb.conf-Datei) 433 delete printer command-Option (smb.conf-Datei) 433
delete readonly-Option (smb.conf-Datei) 262 , 264 , 434 delete share command-Option (smb.conf-Datei) 434 delete user script-Option (smb.conf-Datei) 167 , 434 delete veto files-Option (smb.conf-Datei) 253 , 257 , 434 deny hosts-Option (smb.conf-Datei) 434 dfree command-Option (smb.conf-Datei) 370 , 434 Dfs (Microsofts Distributed Filesystem) 291-294 Bereitstellen von Diensten 441 Installieren von Samba mit Unterstützung für 526 Konfigurieren von Samba als Dfs-Server 292-294 Unterstützung in Samba 2.2 38 Windows-Clients 292 DHCP und IP-Adressen 74 DIAGNOSIS.txt 380 dig-Befehl (Unix) 77 Digital Pathworks-Clients 373 directory mask-Option (smb.conf-Datei) 261 , 263 , 435 directory mode-Option (smb.conf-Datei) 299 , 435 directory security mask-Option (smb.conf file) 275 directory security mask-Option (smb.conf-Datei) 274 , 435 directory-Option (smb.conf-Datei) 435 disable spools-Option (smb.conf-Datei) 435 Distributed Computing Environment/Distributed Filesystem (DCE/DFS) 525 Distributed Filesystem (siehe Dfs) dmask-Option 185 DNS 75 Konfiguration Windows 2000 107 Windows 95/98/Me 85 Windows NT 98 Windows XP 117 NetBIOS-Namen Übersetzen zwischen DNS-Namen und 192 verglichen mit Hostnamen 14 Server, Namensauflösung und 229 Überblick 77 dns proxy-Option (smb.conf-Datei) 231 , 234 , 435 DNS-Proxy, konfigurieren auf WINS-Server 231 Dokumentation, Samba 48 , 49 , 416 domain admin group-Option (smb.conf-Datei) 168 , 436 Domain Admins-Gruppe 436 domain guest group-Option (smb.conf-Datei) 436 Domain Guest-Gruppe 436 domain logons-Option (smb.conf-Datei) 166 , 436 domain master-Option (smb.conf-Datei) 167 , 250 , 436 Domain Name System (siehe DNS) Domänen Hinzufügen von Computern zu 427 Vertrauensbeziehungen 34 vertrauenswürdige 428 Vorteile von 126
weitere Informationen über das Einrichten von 128 (siehe auch Windows NT-DomänenOptionen) Domänenadministrator 132 , 436 Domänenanmeldungen Konfigurieren von Windows-Clients für 134-144 Windows 2000 140-142 Windows 95/98/Me 134-138 Windows beschwert sich, dass Sie bereits angemeldet sind 134 Windows NT 138-140 Windows XP Professional 142-144 Domänen-Controller 31 primäre (siehe primäre Domänen-Controller) Sicherungs- (siehe Backup-Domänen-Controller) Domänen-Hauptsuchdienst 36 , 237 Erzwingen von Samba als 250 , 436 Konfigurieren von Samba sowohl als lokaler Hauptsuchdienst als auch als 130 Probleme mit 37 Samba als 242 Synchronisieren der Suchlisten mit allen 437 Verifizieren von Samba als 243 Domänen-Member-Server 35 Samba als 163-165 smb.conf-Datei-Beispiel 424 Domänenmitgliedschaft 132 dont descend-Option (smb.conf-Datei) 253 , 255 , 436 dos filemode-Option (smb.conf-Datei) 436 dos filetime resolution-Option (smb.conf-Datei) 362 , 436 dos filetimes-Option (smb.conf-Datei) 361 , 437 dos2unix-Befehl 179 Druckbefehle 340 Drucken 338-358 Anlegen eines Unix-Druckers 349-352 CUPS-kompatibles 516 Einrichten und Testen eines Windows-Clients 344 Fehlerbehebung bei Druckern 344 Freigaben Beispiel 340 wichtige Informationen über 341 Mac OS X-Umgebung 344 Netzwerk 338 Optionen 352-358 Systemtypen 353 Testen der Konfiguration 343 Variablen 340 verbreitetes Problem mit Samba-Drucker-Konfiguration 344 zu Windows von Unix aus 347-358 (siehe auch Drucker) Drucker Beispiel für das Freigeben 8 BSD 349-350
CUPS 351 einrichten von Windows aus 8 Einstellen des Standardgerätemodus 433 entfernen aus System 433 freigeben 338 unter Mac OS X 531 Hinzufügen neuer zum System 426 Namen in Suchlisten 444 Senden von Dateien mittels smbclient 343 System V 351 (siehe auch Drucken) Druckerstatus, Einstellen eines Befehls für 446 Druck-Jobs anhalten 446 Begrenzen der Anzahl der 450 fortsetzen 447 löschen 447 senden über Samba 339 Durchsuchen 227 , 235-251 eine Liste mit Computern und freigegebenen Ressourcen, definiert 28 Fehlersuche 400-406 freigegebene Ressource eines bestimmten Computers 28 in einem Windows-Netzwerk 236-241 Konfigurieren von Samba für 241 Optionen 246-251 Server vom Client aus 406 über Subnetzgrenzen hinaus 243 Überblick 27-30 unsichtbare Freigaben 245
E emacs-Texteditor 146 encrypt passwords-Option (smb.conf-Datei) 320 , 437 enhanced browsing-Option (smb.conf-Datei) 437 entfernte Logins (siehe Roaming-Profile) enumports command-Option (smb.conf-Datei) 437 --eprefix (configure-Skript-Option) 51 Erstellungsmasken 259-262 Ethereal (SMB-Schnüffler) 21 , 383 exec-Option (smb.conf-Datei) 437 ext2/ext3-Dateisystem 39
F fake directory create times-Option (smb.conf-Datei) 362 , 437 fake oplocks-Option (smb.conf-Datei) 287 , 438 FAQs, Samba 416 Fehlerbaum, Fehlersuche bei Samba 383-416
Fehlerbehebung bei Samba 376-418 Durchsuchen 400-406 Fehlerbaum 383-416 Hostnamen 408 lange und kurze 410 IP-Protokoll auf niederer Ebene 384-389 Localhost-Probleme 412 Namensdienste 407-412 NetBIOS-Namen 415 Netzwerkadressen 413-415 Server-Daemons 390-393 Prüfen von smbd mit telnet 392 Suchen nach an Ports gebundenen Daemons 391 Suchen nach Daemon-Prozessen mit ps 390 Testen von Daemons mit testparm 392 Untersuchen des Starts der Daemons 390 SMB-Verbindungen 394-400 TCP 389 Testen Client-Durchsuchen mit net view 405 Clients mit nmblookup 404 Durchsuchen des Servers vom Client aus 406 Durchsuchen mit smbclient 401 lokal mit smbclient 394 Namensdienste mit ping 385 Netzwerk mit nmblookup 404 Netzwerkhardware mit ping 385 Netzwerksoftware mit ping 384 Server mit nmblookup 403 Verbindungen mit net use 397 Verbindungen mit ping 386 Verbindungen mit smbclient 396 Verbindungen mit Windows Explorer 399 ungewöhnliche Verzögerungen 412 Werkzeuge 376 ping 384-389 Protokolldateien 377-380 Testprogramme 380-383 Fehlermeldungen von configure-Skript 52 Filesystem Hierarchy Standard 525 findsmb-Programm 42 , 483 Firewall-Konfiguration 64 fmask-Option (sbmount) 185 follow symlinks-Option (smb.conf-Datei) 255 , 256 , 438 force create mode-Option (smb.conf-Datei) 263 , 438 force directory mode-Option (smb.conf-Datei) 264 , 438 force directory security mode-Option (smb.conf-Datei) 275 , 438 force group-Option (smb.conf-Datei) 261 , 264 , 438 force security mode-Option (smb.conf-Datei) 274 , 439 force unknown acl user-Option (smb.conf-Datei) 439 force user-Option (smb.conf-Datei) 261 , 264 , 439 Freigaben
Abschnitte in smb.conf-Datei 131 Anlegen neuer 427 Drucker, Einstellen des Standardgerätemodus 433 Einstellen der maximalen Anzahl 449 erlauben und verbieten 441 festlegen in Suchlisten 428 , 429 , 457 Festlegen von Systemen, die sich anmelden dürfen 428 Kopieren von Konfigurationen 431 löschen 434 unsichtbare 245 verändern 430 Verbieten des Zugriffs auf 429 Verwalten von Verbindungen zu (siehe Verbindungsskripten) freigeben Dateien Mac OS X 531 Windows 95/98/Me 170 Windows NT/2000/XP 172 , 173 Drucker (siehe Drucker, freigeben) Verzeichnisdienstbeispiel 5-7 Frisch, Æleen 344 fstab-Datei, Warnung vor dem Bearbeiten 187 fstype-Option (smb.conf-Datei) 371 , 439
G Gastzugriff 301 gcc-Binaries 47 get-Befehl 178 getwd cache-Option (smb.conf-Datei) 256 , 439 GNU Free Documentation License 542-548 GNU-configure-Skript (siehe configure-Skript) Google 416 Groß-/Kleinschreibung 275-281 Bewahren der Schreibweise von Dateinamen 458 Sambas Umgang mit 278 group-Option (smb.conf-Datei) 439 grouppol.inf-Datei 161 Gruppen Einstellen einer Gruppenfreigabe in smb.conf-Datei 298 Systemgruppendatei 298 Überschreiben der normalen Gruppenmitgliedschaft eines Benutzers 438 zusätzliche Informationen 16 (siehe auch Arbeitsgruppen; SMB, Gruppen) Gruppen-ID (GID) 32 guest account-Option (smb.conf-Datei) 301 , 304 , 439 guest ok-Option (smb.conf-Datei) 301 , 440 guest only-Option (smb.conf-Datei) 304 , 440
H Hauptsuchdienst (siehe lokaler Hauptsuchdienst) hide dot files-Option (smb.conf-Datei) 252 , 256 , 440 hide files-Option (smb.conf-Datei) 253 , 256 , 440 hide local users-Option (smb.conf-Datei) 440 hide unreadable-Option (smb.conf-Datei) 440 h-Knoten (NetBios-Knotentyp) 14 homedir map-Option (smb.conf-Datei) 295 , 440 Home-Verzeichnis, einstellen 446 host msdfs-Option (smb.conf-Datei) 294 , 441 Hostname, verteidigen 13 hosts allow-Option (smb.conf-Datei) 215-218 , 441 hosts deny-Option (smb.conf-Datei) 215-218 , 441 hosts equiv-Option (smb.conf-Datei) 323 , 441 hosts.sam-Datei 78 HOSTS-Datei 75 , 78 Hunt, Craig 93
I iconv( )-Funktion 526 ifconfig-Befehl 414 Implementing Policies and Profiles for Windows NT 4.0 149 --include dir (configure-Skript-Option) 51 include-Option (smb.conf-Datei) 203 , 207 , 441 inetd-Daemon 56 Starten der smbd- und nmbd-Daemons 70 --infodir (configure-Skript-Option) 51 inherit acls-Option (smb.conf-Datei) 441 inherit permissions-Option (smb.conf-Datei) 265 , 442 Installationsverzeichnisse für Samba 54 Installieren von Samba 52-56 auf einem Unix-System 45-71 ANSI C-Compiler benötigt von Samba-Quelle 47 Binär oder Quelle 46 Konfiguration (siehe configure-Skript) Paketversionen 45-48 Quelle, Überblick über Schritte 48 Fehlersuche (siehe Fehlersuche bei Samba, Fehlerbaum) interfaces-Option (smb.conf-Datei) 218 , 442 Internationalisierung 364-367 Funktionen von Samba 2.2 483 Installieren von Samba mit Unterstützung für 525 invalid users-Option (smb.conf-Datei) 300 , 303 , 442 IP-Adressen 74 127.0.0.1 (Localhost) 78 bind interfaces only-Option 219 Übersetzen zwischen NetBIOS-Namen und 192
Windows 2000 107 Windows 95/98/Me-Netzwerke 84 Windows NT 96 Windows XP 117 IPC$-Kennwort 79 ipconfig /all-Befehl (Windows NT/2000/XP) 14 ipconfig-Befehl 414
K keepalive-Option (smb.conf-Datei) 371 , 442 Kennwort-Chat, gelieferte Zeichen 318 Kennwort-Chat, gesendete Zeichen 318 Kennwörter 78 , 312-324 Beschränken der Länge der 451 Deaktivieren verschlüsselter 314 Einrichten der Server, die validieren 456 Einrichten unter Windows 95/98/Me 88 hinzufügen zu smb.conf-Datei 79 IPC$ 79 Klartext oder verschlüsselte 79 Konfigurationsoptionen 320-324 Synchronisation 317-319 verschlüsselte (siehe verschlüsselte Kennwörter) Windows verglichen mit Unix 30 (siehe auch Authentifizierung) Kennwort-Server (Mac OS X) 534 einschalten 536 Kerberos-Authentifizierung 40 Installieren von Samba mit Unterstützung für 525 Samba 2.2 und 127 Zeitsynchronisation und 360 kernel oplocks-Option (smb.conf-Datei) 286 , 442 Knotentypen 14 Kommandozeilenoptionen, parsen 525 Kompilieren von Samba 52-56 Komponenten, Windows 73 Konfigurationsdatei Auswählen einer neuen 431 Sambas Haupt- (siehe smb.conf-Datei) Variablen (siehe smb.conf-Datei, Variablen) (siehe auch Konfigurieren von Samba) Konfigurationsverwaltungswerkzeug (siehe CVS) Konfigurationswertetypen 475-476 Konfigurieren von Samba 49-52 Fehlersuche (siehe Fehlersuche bei Samba, Fehlerbaum) für die Installation (siehe configure-Skript) für Roaming-Profile 150-155 Identifizieren von in früheren Installationen benutzten Optionen 55 Konfigurationsdatei (siehe smb.conf-Datei) zum Durchsuchen 241
L LAN Manager Versionen 1.0, 2.0 und 2.1 22 LAN Manager-Host-Ankündigungen 249 lanman auth-Option (smb.conf-Datei) 443 large readwrite-Option (smb.conf-Datei) 443 Lastausgleich und Dfs 292 , 294 Laufwerksbuchstabe, Verbinden eines Verzeichnisses mit 6 , 145 LDAP 36 , 40 Installieren von Samba mit Unterstützung für 526 Samba 2.2 und 127 ldap admin dn-Option (smb.conf-Datei) 443 ldap filter-Option (smb.conf-Datei) 443 ldap port-Option (smb.conf-Datei) 443 ldap server-Option (smb.conf-Datei) 443 ldap ssl-Option (smb.conf-Datei) 444 ldap suffix-Option (smb.conf-Datei) 444 Leistungssteigerung, Zwischenspeichern von Verzeichnissen 439 level2 oplocks-Option (smb.conf-Datei) 286 , 444 --libdir (configure-Skript-Option) 51 --libexec dir (configure-Skript-Option) 51 libnss_winbind.so-Bibliothek 326 Linux-PAM System Administrator's Guide 331 Liu, Cricket 407 lm announce-Option (smb.conf-Datei) 249 , 444 lm interval-Option (smb.conf-Datei) 249 , 444 LMHOSTS-Datei 76 Namensauflösung und 230 Windows 2000 107 Windows 95/98/Me 86 Windows NT 98 Windows XP 118 load printers-Option (smb.conf-Datei) 355 , 444 local master-Option (smb.conf-Datei) 241 , 248 , 445 Localhost-Adresse (siehe 127.0.0.1 (Localhost)) lock directory-Option (smb.conf-Datei) 288 , 445 lock dir-Option (smb.conf-Datei) 445 lock spin count-Option (smb.conf-Datei) 445 lock spin time-Option (smb.conf-Datei) 445 locking-Option (smb.conf-Datei) 285 , 445 log file-Option (smb.conf-Datei) 224 , 377 , 445 log level-Option (smb.conf-Datei) 225 , 445 log.smb-Datei 71 logon drive-Option (smb.conf-Datei) 159 , 446 logon home-Option (smb.conf-Datei) 159 , 446 logon home-Zeile (smb.conf-Datei) 151 logon path-Option (smb.conf-Datei) 159 , 446 logon path-Zeile (smb.conf-Datei) 151 logon script-Option (smb.conf-Datei) 158 , 446
logon.bat 145 lokale Profile 148 lokaler Hauptsuchdienst 28 , 236 Konfigurieren von Samba sowohl als Domänen-Hauptsuchdienst als auch als 130 lpadmin-Befehl (Unix) 352 lppause command-Option (smb.conf-Datei) 356 , 446 lppause-Befehl (Unix) 341 lpq cache time-Option (smb.conf-Datei) 354 , 446 lpq command-Option (smb.conf-Datei) 356 , 446 lpq-Befehl (Unix) 341 lpr-Befehl (Unix) 340 lpresume command-Option (smb.conf-Datei) 356 , 447 lpresume-Befehl (Unix) 341 lprm command-Option (smb.conf-Datei) 356 , 447 lprm-Befehl (Unix) 341
M Mac OS X Aktivieren der SMB-Druckerfreigabe 344 automatisches Starten der Samba-Daemons 68 Kenntwort-Server 534 aktivieren 535 einschalten 536 Konfigurationsdetails 537-540 smbutil und mount_smbfs 193-195 Überwachen der Dienste 536 Mac OS X Server Ausführen von Samba unter 530-541 Freigeben von Dateien 531 Freigeben von Druckern 531 Konfigurationseinstellungen 539 Konfigurieren und Aktivieren von Diensten 532 Mac OS X Server Administrator's Guide 530 machine password timeout-Option (smb.conf-Datei) 168 , 447 magic output-Option (smb.conf-Datei) 363 , 447 magic script-Option (smb.conf-Datei) 363 , 447 magische Skripten 363 Mailinglisten, Samba 417 Archive 48 make install-Befehl (Unix) 54 Aktualisieren der Installationen 55 make revert-Befehl (Unix) 54 make_smbcodepage-Programm 42 , 483 make_unicodemap-Programm 42 , 484 make-Dienstprogramm (Unix) 52 makefile, erzeugen für Samba-Konfiguration 50 Mandatory-Profile 157 Ändern aus Roaming-Profilen 157 --mandir (configure-Skript-Option) 51
mangle case-Option (smb.conf-Datei) 280 , 447 mangled map-Option (smb.conf-Datei) 281 , 447 mangled names-Option (smb.conf-Datei) 280 , 448 mangled stack-Option (smb.conf-Datei) 280 , 448 mangling char-Option (smb.conf-Datei) 280 , 448 mangling method-Option (smb.conf-Datei) 448 Manpages (siehe Online-Handbuch) MANPATH-Umgebungsvariable 56 map archive-Option (smb.conf-Datei) 259 , 264 , 448 map hidden-Option (smb.conf-Datei) 259 , 265 , 448 map system-Option (smb.conf-Datei) 259 , 265 , 448 map to guest-Option (smb.conf-Datei) 449 max connections-Option (smb.conf-Datei) 304 , 449 max disk size-Option (smb.conf-Datei) 372 , 449 max log size-Option (smb.conf-Datei) 225 , 449 max mux-Option (smb.conf-Datei) 372 , 449 max open files-Option (smb.conf-Datei) 372 , 449 max print jobs-Option (smb.conf-Datei) 450 max protocol-Option (smb.conf-Datei) 450 max smbd processes-Option (smb.conf-Datei) 450 max ttl-Option (smb.conf-Datei) 235 , 450 max wins ttl-Option (smb.conf-Datei) 235 , 450 max xmit-Option (smb.conf-Datei) 372 , 450 mehrere Subnetze Durchsuchen über Subnetzgrenzen hinweg 243 mit Samba-Servern 244 (siehe auch Cluster-Umgebung, Samba in; Multihomed-System) message command-Option (smb.conf-Datei) 368 , 450 mget-Befehl 179 Microsoft Distributed Filesystem (siehe Dfs) min passwd length-Option (smb.conf-Datei) 451 min password length-Option (smb.conf-Datei) 451 min print space-Option (smb.conf-Datei) 357 , 451 min protocol-Option (smb.conf-Datei) 451 min wins ttl-Option (smb.conf-Datei) 235 , 451 m-Knoten (NetBios-Knotentyp) 14 mount_smbfs-Programm 169 , 192 Optionen 193 mput-Befehl 179 msdfs root-Option (smb.conf-Datei) 294 , 451 MS-DOS-Dateiberechtigungen 257-266 MSN Messenger 367-369 Multihomed-System (siehe auch Cluster-Umgebung, Samba in; mehrere Subnetze) Ausführen von Samba auf 214
N Nachrichtendienst 367-369 name resolve order-Option (smb.conf-Datei) 230 , 235 , 452
Namensauflösung 11-13 , 75 , 227-235 Broadcast-Methode 75 Konfigurationsoptionen 232-235 konfigurieren in Samba 230 Methoden 228 mittels Broadcast-Paketen 228 Namensdienste definiert 11 Fehlerbehebung 407-412 feststellen, was verwendet wird 407 wechseln 75 Namensregistrierung 11-13 Namensverkürzung 275-281 Optionen 278-281 , 447 wie Samba einen langen Dateinamen zu einem 8.3-Dateinamen verkürzt 276 NBNS-Namensregistrierung verglichen mit Broadcast 11 NBT 11 , 73 Dienste 17 Standard 11 nbtstat-Dienstprogramm 240 Beispiele 15 , 16 net time-Befehl 145 , 359 net use-Befehl 145 , 151 Testen von Verbindungen mit 397 net view-Programm 236 Testen des Client-Durchsuchens 405 NetBEUI-Protokoll 10 ausführen zur gleichen Zeit wie NetBIOS over TCP/IP 73 NetBIOS eindeutige Ressourcentypen 16 Knotentypen 14 Namen Fehlerbehebung 415 übersetzen zwischen IP-Adresse oder DNS-Namen und 192 verglichen mit DNS-Hostnamen 14 Ressourcennamen und -typen 15 Ressourcentypen für Gruppen 16 Sitzung, etablieren 23 Überblick 10 Windows 95/98/Me 86 netbios aliases-Option (smb.conf-Datei) 220 , 452 netbios name-Option (smb.conf-Datei) 210 , 452 NetBIOS over TCP/IP (siehe NBT) netbios scope-Option (smb.conf-Datei) 452 net-Programm 42 , 484-490 Network Information Service (siehe NIS) Network Time Protocol (NTP) 360 Netzmaske, einsetzen zur Fehlerbehebung 413 Netzwerkadapter 73 Netzwerkadressen
Ermitteln Ihrer speziellen Adresse 414 Fehlerbehebung 413-415 Netzwerkbetrieb Komponenten Windows 2000 104 Windows XP 115 Konzepte, Windows (siehe Windows, Netzwerkkonzepte) Optionen 214-219 Netzwerkumgebung 28 Netzwerkverkehr, überwachen (siehe tcpdump-Programm) neue Funktionen in Samba 2.2 38 in Samba 3.0 40 Neuigkeiten, Samba 48 Neukonfigurieren von Samba 55 Newsgroups, Samba 416 NFS, Installieren von Samba mit Unterstützung für 525 NIS (Network Information Service) 75 , 295 Konfigurationsoptionen 295 Server 32 nis homedir-Option (smb.conf-Datei) 295 , 452 NIS+ Installieren von Samba mit Unterstützung für 527 Server, Installieren von Samba mit Unterstützung zum Suchen 527 nmake-Befehl 437 nmap-Befehl (Unix) 77 nmbd-Daemon 3 , 41 , 64 , 480 automatisches Starten 65-69 BSD Unix 65 Darwin und Mac OS X 68 System V Unix 65 manuell starten 65 Starten durch inetd 70 testen 71 automatischer Start 69 Time-Service 469 nmbd-Protokolldatei 243 nmblookup-Programm 42 , 240 , 243 , 490 Testen der Clients 404 Testen der Server 403 Testen des Netzwerks 404 nobody-Zugang 302 non unix account range-Option (smb.conf-Datei) 452 nslookup-Befehl (Unix) 77 nsmb.conf-Datei 191 nsswitch, konfigurieren 326 nsswitch.conf-Datei 75 nt acl support-Option (smb.conf-Datei) 273 , 453 NT LAN Manager 1.0 22 nt pipe support-Option (smb.conf-Datei) 373 , 453 nt smb support-Option (smb.conf-Datei) 373 , 453
nt status support-Option (smb.conf-Datei) 453 ntconfig.pol-Datei 163 NT-specifische SMB-IPC$-Pipes 373 NTUSER.DAT-Datei 148 null passwords-Option (smb.conf-Datei) 323 , 453
O obey pam restrictions-Option (smb.conf-Datei) 453 od-Befehl 146 ole locking compatibility-Option (smb.conf-Datei) 373 Online-Handbuch 56 in unterschiedlichen Sprachen 526 only guest-Option (smb.conf-Datei) 453 only user-Option (smb.conf-Datei) 309 , 454 Open Directory Password Server 535 oplock break wait time-Option (smb.conf-Datei) 454 oplock contention limit-Option (smb.conf-Datei) 454 oplocks-Option (smb.conf-Datei) 286 , 454 opportunistische Sperren (siehe Sperren und Oplocks) os level-Option (smb.conf-Datei) 241 , 250 , 454 os2 driver map-Option (smb.conf-Datei) 455
P padc-Befehl 380 PAM (Pluggable Authentication Modules) 40 konfigurieren 331-334 pam password change-Option (smb.conf-Datei) 455 pam_stack.so-Modul 333 pam_winbind.so-Modul 333 panic action-Option (smb.conf-Datei) 373 , 455 par-Befehl 380 passdb backend-Option (smb.conf-Datei) 455 Pass-Through-Authentifizierung 35 passwd chat debug-Option (smb.conf-Datei) 322 , 455 passwd chat-Option (smb.conf-Datei) 318 , 322 , 455 passwd program-Option (smb.conf-Datei) 322 , 456 passwd-Datei, manuelles Erzeugen der Einträge 134 PASSWD-Umgebungsvariable 176 password level-Option (smb.conf-Datei) 322 , 456 password server-Option (smb.conf-Datei) 168 , 311 , 456 path-Option (smb.conf-Datei) 213 , 456 PATH-Umgebungsvariable 56 pdbedit-Programm 42 , 492 PDC-Emulator 127 PDCs (siehe primäre Domänen-Controller) Pearce, Eric 16 , 168 pid directory-Option (smb.conf-Datei) 456
PIDs, hinzufügen zu Protokollzeilen 432 ping, Fehlerbehebung mit 384-389 p-Knoten (NetBios-Knotentyp) 14 Pluggable Authentication Modules (siehe PAM) Portnamen, angepasst 437 posix locking-Option (smb.conf-Datei) 286 , 456 POSIX.1e ACLs 272 POSIX-ACL-Unterstützung 441 postexec-Option (smb.conf-Datei) 291 , 457 postscript-Option (smb.conf-Datei) 355 , 457 preexec close-Option (smb.conf-Datei) 291 , 457 preexec-Option (smb.conf-Datei) 288 , 290 , 457 preferred master-Option (smb.conf-Datei) 249 , 457 preferred master-Parameter (smb.conf-Datei) 242 --prefix (configure-Skript-Option) 51 preload-Option (smb.conf-Datei) 248 , 457 preserve case-Option (smb.conf-Datei) 278 , 279 , 458 primäre Domänen-Controller (PDCs) 32 , 237 Samba als 127-132 smb.conf-Datei-Beispiel 421-424 Umgang mit Authentifizierung (siehe winbind) Verändern der smb.conf-Datei 128-132 primärer WINS-Server 34 Synchronisationsprobleme mit Samba 2.2 34 print command-Option (smb.conf-Datei) 340 , 356 , 458 print ok-Option (smb.conf-Datei) 459 printable-Option (smb.conf-Datei) 341 , 354 , 458 printcap name-Option (smb.conf-Datei) 357 , 458 printcap.local-Datei 349 printcap-Datei 444 Beispiel 355 printcap-Option (smb.conf-Datei) 357 printer admin-Option (smb.conf-Datei) 458 printer driver file-Option (smb.conf-Datei) 459 printer driver location-Option (smb.conf-Datei) 459 printer driver-Option (smb.conf-Datei) 459 printer name-Option (smb.conf-Datei) 354 , 459 printer-Option (smb.conf-Datei) 354 , 458 printing-Option (smb.conf-Datei) 353 , 459 private directory-Option (smb.conf-Datei) 459 prompt-Befehl 180 protocol-Option (smb.conf-Datei) 460 Protokolldateien 71 Ändern der Zeitstempel 432 Beispiel 221 Beispielausgabe der Stufen 2 und 3 378 Einstellen des Ablageortes der 445 Fehlersuche mit 377-380 Festlegen der maximalen Größe 449 Festlegen des Ablageverzeichnisses bei Samba 526 nmbd 243
Protokollierungsstufen 377-379 (siehe auch Protokollierung) Protokollierung (siehe auch Protokolldateien) aktivieren und deaktivieren 379 Hinzufügen der Prozess-ID 432 Konfigurationsoptionen 221-226 Untersuchen eines bestimmten Benutzers 432 Prozesse, betrachten in Unix 9 Prozess-IDs, hinzufügen zu Protokollzeilen 432 ps-Befehl (Unix) 9 Suchen nach Daemon-Prozessen mit 390 public-Option (smb.conf-Datei) 460 Punkt (.) (siehe auch Punkt-Dateien) NetBIOS-Namen und 14 Punkt-Dateien 252 (siehe auch Verbergen von Dateien) verbergen 440 Punkt-zu-Punkt-Kommunikation 13 put-Befehl 178
Q queuepause command-Option (smb.conf-Datei) 358 , 460 queueresume command-Option (smb.conf-Datei) 358 , 460
R read bmpx-Option (smb.conf-Datei) 460 read list-Option (smb.conf-Datei) 301 , 303 , 460 read only-Option (smb.conf-Datei) 214 , 460 read raw-Option (smb.conf-Datei) 460 read size-Option (smb.conf-Datei) 461 readline( )-Unterstützung 527 realm-Option (smb.conf-Datei) 461 recurse-Befehl 180 Registry-Dateien 148 Einstellungen und Kennwörter 79 Relative Identifier (RID) 32 remote announce-Option (smb.conf-Datei) 244 , 251 , 461 remote browse sync-Option (smb.conf-Datei) 250 , 461 reservierte Adressbereiche 414 resolv.conf-Datei 77 , 231 Ressourcennamen und -typen (NetBIOS) 15 restrict anonymous-Option (smb.conf-Datei) 461 Richtlinien, definiert 126 Roaming-Profile 126 , 147-159 ändern in Mandatory-Profile 157
Benutzer an mehreren Clients angemeldet 149 Definieren eines Anmeldepfades für Windows NT/2000/XP-Clients 130 definitive Dokumentation 149 Einschränken der Benutzer beim Bearbeiten ihrer eigenen 157 Einstellen des Pfades auf das Verzeichnis (Windows NT/2000/XP) 446 Funktionsweise 148 konfigurieren Samba für 150-155 Windows 95/98/Me für 155 Windows NT/2000/XP für 156 mögliche Probleme 150 Optionen 158 smb.conf-Datei 145 Temporary Internet Files-Ordner 150 Warnung 148 Zeitsynchronisation 359 (siehe auch Mandatory-Profile) root directory-Option (smb.conf-Datei) 462 root dir-Option (smb.conf-Datei) 462 root postexec-Option (smb.conf-Datei) 291 , 462 root preexec close-Option (smb.conf-Datei) 290 , 462 root preexec-Option (smb.conf-Datei) 289 , 290 , 462 root-Option (smb.conf-Datei) 461 root-Zugänge (siehe auch Domänen-Administrator) Festlegen von Benutzern mit root-Rechten 427 Hinzufügen des root-Benutzers zu Sambas Kennwortdatenbank 132 root-Zugriff 301 Roving-Profile (siehe Roaming-Profile) rpcclient-Befehle 495-498 rpcclient-Programm 42 , 494 rpm-Befehl (Unix) 46
S SAM (Security Account Manager) 32 Datenbank 132 Samba Aktualisieren der Installationen 55 ausführen auf einem Multihomed-System 214 Beispiele einfaches Netzwerk 4 Freigeben eines Druckers 8 Freigeben eines Verzeichnisdienstes 5-7 beziehen 44 Definition 2 Distribution, Überblick 41 als Domänen-Member-Server 35 externen Anwendungen den Zugriff auf Samba-Funktionen erlauben 526
Fehlerbehebung (siehe Fehlerbehebung bei Samba) herunterladen 48 in einer Cluster-Umgebung 464 (siehe auch Multihomed-System; mehrere Subnetze) 464 installieren (siehe Installieren von Samba) kompilieren (siehe Kompilieren von Samba) Konfigurationsdatei (siehe smb.conf-Datei) konfigurieren (siehe Konfigurieren von Samba) Online-Handbuch 56 in verschiedenen Sprachen 526 Überblick 1-44 Variablen (siehe smb.conf-Datei, Variablen) Vorteile des Einsatzes von 3 Website 44 Samba 2.2 in einer Domäne mit einem Windows 2000-Server mit Native Mode 36 neue Funktionen 38 Probleme mit Active Directory 36 , 127 Samba 3.0 neue Funktionen 40 Rollen 41 veraltete Optionen block size 429 character set 430 client code page 430 code page directory 431 coding system 431 domain guest group 436 force unknown acl user 439 im Zusammenhang mit SSL 465-467 ldap admin dn 443 ldap filter 443 ldap port 443 ldap server 443 ldap ssl 444 ldap suffix 444 nt smb support 453 status 467 unix extensions 469 userhosts 470 valid chars 471 Samba Web Administration Tool (siehe SWAT) Samba-BDC-HOWTO.html 128 Samba-PDC-HOWTO.html 128 Sambas NT LM 0.12 22 Samba-Server Anlegen von Verzeichnissen auf 132 Dienste 2 hinzufügen zu Arbeitsgruppe, Beispiel für Konfigurationsdatei 420
neustarten 132 Senden eines Druck-Jobs 339 Verbinden von Windows 2000 113 Windows 95/98/Me 90 Windows NT 102 Windows XP 123 Verbindungslisten (siehe smbstatus-Programm) SASL (Simple Authentication and Security Layer) standard 535 --sbindir (configure-Skript-Option) 51 Schnittstellenliste 429 schreibgeschützter Zugriff, Festlegen von Benutzern 460 secrets.tdb-Datei 164 Security Access Token (SAT) 33 Security Account Manager (SAM) 32 security mask-Option (smb.conf-Datei) 274 , 463 security-Option (smb.conf-Datei) 307 , 462 sendfile( )-Systemaufruf 528 Server Message Block- (SMB) Protokoll (siehe SMB) server string-Option (smb.conf-Datei) 211 , 463 Server-Ankündigungen 241 set directory-Option (smb.conf-Datei) 373 , 463 share modes-Option (smb.conf-Datei) 463 Sharpe, Richard 20 short preserve case-Option (smb.conf-Datei) 278 , 279 , 463 show add printer wizard-Option (smb.conf-Datei) 463 shutdown script-Option (smb.conf-Datei) 464 Sicherheit Benutzerebene für Windows 95/98/Me 135 Samba-Sicherheitsstufen Benutzer (siehe Sicherheit auf Benutzerebene) Domäne (siehe Sicherheit auf Domänenebene) Freigabe (siehe Sicherheit auf Freigabeebene) Server (siehe Sicherheit auf Serverebene) (siehe auch Authentifizierung) Sicherheit auf Benutzerebene 306 , 310 für Windows 95/98/Me 135 verglichen mit Sicherheit auf Freigabeebene 170 Sicherheit auf Domänenebene 307 , 312 Sicherheit auf Freigabeebene 306 Optionen 309 verglichen mit Sicherheit auf Benutzerebene 170 Sicherheit auf Serverebene 306 , 311 Sicherheits-IDs (SIDs) 32 Sicherheitsmodelle, Unix verglichen mit Windows 266 Sicherheitsprobleme Deaktivieren von Oplocks in smb.conf-Datei 62 manuelles Erzeugen der Einträge für /etc/passwd und smbpasswd 134 Sicherungssuchdienste 29 , 237 SIDs (Sicherheits-Identifiers) 32
Sitzungsdienst, definiert 11 Sitzungsdienste (NBT) definiert 17 Hinweise 19 Sitzungsfunktionen 18 Sitzungsparameter, einstellen 25 SMB 2 Befehlsformat 21 CIFS und 22 Clients 22 einfache Verbindung 23 Gruppen 16 Header-Felder 20 Header-Format 20 Nachrichtenformat 20 Netzwerk, Überblick 9-19 Online-Zusammenfassung 20 Pakete 17 Protokoll Aushandeln einer Protokollvariante 24 Überblick 19-27 Versionen 21 zusätzliche Informationen 21 Server 22 Verbindungen, Fehlerbehebung 394-400 smb passwd file-Option (smb.conf-Datei) 323 , 464 smb.conf-Datei 197-226 [global]-Abschnitt 204 [printers]-Abschnitt 205 Ablageort der Paketinstallation 45 Änderungen zur Laufzeit 200 Beispiele 197 Aktivieren von Samba als WINS-Server 419 Einrichten von Samba als Domänen-Member-Server 424 Einrichten von Samba als PDC 421-424 Konfigurieren von Samba für die Benutzung eines anderen WINSServers 420 Server-Konfigurationsdatei 208-211 Verzeichnisfreigabe 211-214 Dateistruktur 198-201 Deaktivieren von Oplocks 62 Einstieg 58-63 erzeugen und verändern (siehe SWAT) Freigaben 131 , 205 Großschreibung 199 Hinzufügen von Benutzerkennwörtern 79 include-Option 203 Kommentare 200 Konfigurieren von winbind 326 Mac OS X 540 Namen in eckigen Klammern 198
(siehe auch Freigaben, Abschnitte in smb.conf-Datei) Namensauflösung 230 Optionen 199 , 206-208 ACLs 273-275 Datei- und Verzeichnisberechtigungen 262-266 Dateisystem 255-257 Drucken 352-358 Durchsuchen 246-251 Internationalisierung 364-367 Kennwort 320-324 Namensauflösung 232-235 Namensverkürzung 278-281 Netzwerkbetrieb 214-219 NIS 295 Protokollierung 221-226 Punkt-Dateien 252 Server 209 Sperren und Oplocks 284-288 Verbindungsskripten 290-291 Verzeichnisfreigabe 212 virtuelle Server 220 winbind 334-337 Zeitsynchronisation 361-362 Zugriffssteuerung 302-304 Roaming-Profile 145 Samba so ändern, dass es Domänen-Member-Server ist 164 Samba so ändern, dass es PDC ist 128-132 signifikante Änderungen vornehmen 201 smbmount-Programm und 184 smbsh und 189 testen 63 Variablen 201-204 Beispiele für Benutzung 203 Tabelle 202 verwendet zur Laufzeit 147 verschlüsselte Kennwörter und 59 WINS-Unterstützung 76 Zeilenfortsetzung 200 smbcacls-Programm 42 , 498 smbclient-Befehle 177 smbclient-Programm 42 , 71 , 169 , 174-184 , 500-507 Auflisten von Diensten 174 Authentifizieren mit 175 Dateiübertragung 178 Erzeugen und Wiederherstellen von Backups 181-184 interaktive Sitzung 177-180 programmieren mit 180 Senden einer Datei an den Drucker 343 Sicherheit und 176 testen Durchsuchen 401
lokal mit 394 Verbindungen mit 396 verglichen mit smbfs und smbsh 174 smbcontrol-Programm 42 , 507 smbd-Daemon 3 , 41 , 64 , 478 automatisch starten 65-69 BSD-Unix 65 Darwin und Mac OS X 68 System V Unix 65 manuell starten 65 prüfen mit telnet 392 starten durch inetd 70 testen 71 automatischer Start 69 smbfs-Dateisystem 169 , 183-188 automatisch mounten 186 Installieren von Samba mit Unterstützung für 528 verglichen mit smbclient 174 smbgroupedit-Programm 43 , 509 smbmnt-Programm 43 , 183 , 510 smbmount-Programm 43 , 184 , 510 Installieren von Samba mit Unterstützung für 528 Optionen 187 smb.conf-Datei 184 SMBnegprot-Anforderung 24 smbpasswd-Datei 132 , 315-317 manuelles Erzeugen der Einträge 134 smbpasswd-Programm 43 , 59 , 512 smbprint.sysv 349 smbprint-Programm 349 SMB-Schnüffler (Ethereal) 21 SMBSesssetupX-Befehl 25 smbsh-Programm 43 , 169 , 188 , 515 Installieren von Samba mit Unterstützung für 528 interaktive Sitzung 189 smb.conf-Datei 189 verglichen mit smbclient 174 smbspool 349 smbspool-Dienstprogramm 351 smbspool-Programm 43 , 516 smbstatus-Programm 9 , 43 , 516 smbtar-Programm 43 , 517 SMBtconX-Nachricht 26 smbumount-Programm 43 , 518 smbutil-Programm 169 , 190 Optionen 193 Testen der Druckkonfiguration 344 smbwrapper-Bibliothek 188 , 528 socket address-Option (smb.conf-Datei) 464 socket options-Option (smb.conf-Datei) 464 source environment-Option (smb.conf-Datei) 464
source/config.status-Datei 55 Sperren und Oplocks 281-288 Einstellen von Dateisperren 445 Fehlschlagen von Oplock 283 Festlegen des Verzeichnisses, in dem Samba Sperrdateien ablegt 526 komplizierterer Tuning-Parameter 454 Freigeben eines Oplocks 454 Konfigurationsoptionen 284-288 spinlocks 528 Unix und Oplocks 284 Vorgang des opportunistischen Sperrens 282 Sperren von Dateien (siehe Sperren und Oplocks) Spinlocks 528 SSL Installieren von Samba mit Unterstützung für 528 Optionen 465-467 ssl CA certDir-Option (smb.conf-Datei) 465 ssl CA certFile-Option (smb.conf-Datei) 465 ssl ciphers-Option (smb.conf-Datei) 465 ssl client cert-Option (smb.conf-Datei) 465 ssl client key-Option (smb.conf-Datei) 465 ssl compatibility-Option (smb.conf-Datei) 466 ssl hosts resign-Option (smb.conf-Datei) 466 ssl hosts-Option (smb.conf-Datei) 466 ssl require clientcert-Option (smb.conf-Datei) 466 ssl require servercert-Option (smb.conf-Datei) 466 ssl server cert-Option (smb.conf-Datei) 466 ssl server key-Option (smb.conf-Datei) 467 ssl version-Option (smb.conf-Datei) 467 ssl-Option (smb.conf-Datei) 465 Standardgerätemodus, einstellen 433 stat cache size-Option (smb.conf-Datei) 375 , 467 stat cache-Option (smb.conf-Datei) 375 , 467 status (smb.conf-Datei) 374 status-Option (smb.conf-Datei) 467 Stern, Hal 407 Steuern des Zugriffs auf Freigaben 300-304 strace-Befehl 380 strict allocate-Option (smb.conf-Datei) 467 strict locking-Option (smb.conf-Datei) 285 , 468 strict sync-Option (smb.conf-Datei) 374 , 468 strip dot-Option (smb.conf-Datei) 374 , 468 Subnetze, Arbeitsgruppen, die mehrere umfassen 36 Suchdienste Domänen-Hauptsuchdienst (siehe Domänen-Hauptsuchdienst) lokale Hauptsuchdienste (siehe lokaler Hauptsuchdienst) Sicherungs (siehe Sicherungssuchdienste) Suchdienstwahlen 29 , 238-241 , 445 Suchlisten 28 , 236 Druckernamen 444
Festlegen des Verzeichnisses, in dem Samba diese ablegt 527 Festlegen einer Liste von Freigaben 457 Festlegen von Freigaben in 428 , 429 synchronisieren mit allen Domänen-Hauptsuchdiensten 437 unsichtbare Freigaben 245 Suchpfade, einstellen 56 Superuser- (root) Zugriff 301 SWAT aktivieren 56 benutzen 60-62 festlegen, wo Dateien zu installieren sind für 528 Login 60 symbolische Links 254 erzeugen, bevor Clients in das Netzwerk eingefügt werden 154 in Dateifreigaben 438 symlinks-Option (smb.conf-Datei) 254 sync always-Option (smb.conf-Datei) 374 , 468 Synchronisation, Kennwort (siehe Kennwörter, Synchronisation) Synchronisationsprobleme mit WINS-Servern in Samba 34 , 76 syslog 223 Fehlerprotokollierung, Installieren von Samba mit Unterstützung für 529 syslog only-Option (smb.conf-Datei) 226 , 468 syslog.conf-Datei 223 syslog-Option (smb.conf-Datei) 226 , 468 System V Unix automatisches Starten der Samba-Daemons 65 Drucker 351 Systemgruppendatei 298 Systemrichtlinien 160-163 Windows Me 163 Systemrichtlinien-Editor 160-163
T TCP, Fehlerbehebung 389 TCP/IP hinzufügen zu Windows 95/98/Me-Netzwerk 82 konfigurieren für Windows 2000 106 konfigurieren für Windows 95/98/Me 82 konfigurieren für Windows NT 95 konfigurieren für Windows XP 116 Windows NT 93 tcpdump-Programm 381 Beispiel 23 herunterladen 23 telnet, Prüfen von smbd mit 392 template homedir-Option (smb.conf-Datei) 332 , 337 , 468 template shell-Option (smb.conf-Datei) 332 , 337 , 469 Temporary Internet Files-Ordner 150
Testen von Samba (siehe testparm-Programm; Fehlerbehebung bei Samba) testparm-Programm 43 , 63 , 132 , 518 Testen der Daemons mit 392 testprns-Programm 43 , 519 Testprogramme, Fehlerbehebung mit 380-383 Thompson, Robert Bruce 93 time offset-Option (smb.conf-Datei) 361 , 469 time server-Option (smb.conf-Datei) 361 , 469 Time To Live (TTL, Lebensdauer) 450 , 451 Time-Service 360 konfigurieren in Samba für den Netzwerkeinsatz 131 timestamp logs-Option (smb.conf-Datei) 225 , 469 total print jobs-Option (smb.conf-Datei) 469 trace-Befehl 380 Tree Identifier (TID), definiert 24 Tridgell, Andrew 2 , 381 truss-Befehl 380 tusc-Befehl 380
U Überschreiben von Dateien (siehe Sperren und Oplocks) Übersetzen zwischen IP-Adressen oder DNS-Namen und NetBIOSNamen 192 umasks 259 Umgebungsvariablen, zwingen von Samba zum Einlesen der Liste der 464 UNC (Universal Naming Convention), definiert 6 ungültige Benutzer, Festlegen der Liste der 300 Unicode 483 Uniform Resource Locators (siehe URLs, definiert) Unix ACLs 272 Berechtigungsbits, Zusammenfassung 259 Betrachten von Prozessen 9 CIFS-Erweiterungen 39 Dateiberechtigungen 257-266 verglichen mit ACLs 32 Konfigurieren von Clients zum Zugriff auf freigegebene Ressourcen 169-196 unix extensions-Option (smb.conf-Datei) 469 unix password sync-Option (smb.conf-Datei) 317 , 321 , 469 unix2dos-Programm 146 , 179 Unterstützung für Festplattenquota 527 update encrypted-Option (smb.conf-Datei) 323 , 470 URLs, definiert 7 use client driver-Option (smb.conf-Datei) 470 use mmap-Option (smb.conf-Datei) 470 use rhosts-Option (smb.conf-Datei) 324 , 470 use sendfile-Option (smb.conf-Datei) 470
USER.DAT-Datei 148 username level-Option (smb.conf-Datei) 305 , 471 username map-Option (smb.conf-Datei) 305 , 471 username-Option (smb.conf-Datei) 310 , 470 user-Option (smb.conf-Datei) 470 users-Option (smb.conf-Datei) 471 USER-Umgebungsvariable 176 utmp directory-Option (smb.conf-Datei) 471 utmp-Datei 529 utmp-Option (smb.conf-Datei) 471
V valid chars-Option (smb.conf-Datei) 366 , 471 valid users-Option (smb.conf-Datei) 297 , 303 , 472 Variablen, verwendet zur Laufzeit in smb.conf-Datei (siehe smb.confDatei, Variablen) Verbergen von Dateien 252-254 Verbindungen Festlegen von Zeitbegrenzungen für unbenutzte 432 verbieten 434 Verbindungsskripte 288-291 Optionen 290-291 Überwachen des Verzeichnisinhalts 289 Verhindern des Dateiüberschreibens (siehe Sperren und Oplocks) verschlüsselte Kennwörter deaktivieren 314 smb.conf-Datei und 59 verwalten 512 (siehe auch smbpasswd-Programm) (siehe auch Kennwörter) Verteidigung des Hostnamens 13 Vertrauensbeziehungen 34 vertrauenswürdige Domänen 428 Verwalten von Verbindungen zu Freigaben (siehe Verbindungsskripten) Verzeichnis, Beispiel für Freigabe 5-7 Verzeichnisberechtigungen 442 Optionen 262-266 Verzeichnisfreigabekonfiguration 211-214 Verzeichnisrekursion 180 Verzeichnisse anlegen auf dem Samba-Server 132 Einstellen der maximal zulässigen Berechtigungen 435 Einstellen der Pfade 435 Home, einstellen 446 löschen, wenn unsichtbare Dateien vorhanden sind 253 , 434 Überwachen des Inhalts 289 verbinden mit Laufwerksbuchstaben 145 zwischenspeichern zur Leistungssteigerung 439 veto files-Option (smb.conf-Datei) 253 , 257 , 472
veto oplock files-Option (smb.conf-Datei) 283 , 284 , 287 , 472 vfs object-Option (smb.conf-Datei) 472 vfs options-Option (smb.conf-Datei) 472 vim-Texteditor 146 virtuelle Server 220 Konfigurationsoptionen 220 vi-Texteditor 146 volume-Option (smb.conf-Datei) 214 , 472 VPN (Virtuelles Privates Netzwerk) 528
W wbinfo-Programm 43 , 519 wide links-Option (smb.conf-Datei) 254 , 256 , 472 winbind 39 Authentifizierung mit 324-337 Installieren 325 Installieren von Samba mit Unterstützung für 529 Konfigurationsoptionen 334-337 Konfigurieren in smb.conf-Datei 326 korrekte Funktionsweise überprüfen 328-330 RID-Zuordnungsdatei 327 winbind cache time-Option (smb.conf-Datei) 336 , 473 winbind enum groups-Option (smb.conf-Datei) 473 winbind enum users-Option (smb.conf-Datei) 473 winbind gid-Option (smb.conf-Datei) 336 , 473 winbind separator-Option (smb.conf-Datei) 335 , 473 winbind uid-Option (smb.conf-Datei) 335 , 473 winbindd-Daemon 42 , 43 , 482 Windows .ini-Dateien 197 Benutzer-Account-Dateien 30 Betriebssysteme und Standard für Kennwortformat 313 Domäne mit einem lokalen Hauptsuchdienst und einem lokalen Sicherungssuchdienst (Grafik) 35 Drucker, Einrichten 8 Komponenten 73 Konfigurieren von Clients für den Zugriff auf freigegebene Ressourcen 72-125 Netzwerkkonzepte 72-80 Registry-Einstellungen und Kennwörter 79 Windows 2000 ACLs 266-275 Anlegen von Benutzern 110 Arbeitsgruppen 108 Bindungen 106 Client-Verbindung zum Samba-Server 113 Computernamen 108 DNS-Konfiguration 107 Domänenanmeldungen 140-142 einrichten 104-114
Einstellen des Pfads auf das Verzeichnis der Roaming-Profile 446 Freigeben von Dateien 172 Einstellen der Berechtigungen 173 Identifizierung des Knotentyps, ipconfig /all-Befehl 14 IP-Adressen 107 konfigurieren für Roaming-Profile 156 Konfigurieren von TCP/IP 106 LMHOSTS-Datei 107 Netzwerkkomponenten 104 Registry-Datei 148 Server Betrieb im Native Mode 36 PDC-Emulationsmodus 36 Sicherheitsmodell (siehe ACLs) WINS-Server 107 Windows 95/98/Me Authentifizierung 30 Benutzername und Kennwort 88 Bindungen 86 DNS-Konfiguration 85 Domänenanmeldungen 134-138 Einrichten 80-93 Einrichten des Computernamens 87 Einstellen der Arbeitsgruppe 87 Freigeben von Dateien 170 Hinzufügen von TCP/IP 82 Identifizierung des Knotentyps 14 IP-Adressen 84 Konfigurieren für Roaming-Profile 155 Konfigurieren von TCP/IP 82 LMHOSTS-Datei 86 NetBIOS 86 Registry-Datei 148 Sicherheit auf Benutzerebene für 135 Sicherheitsmodell 266 Systemrichtlinien 163 WINS-Konfiguration 84 Zugriff auf Samba-Server 90 (siehe auch Windows) Windows Explorer, Testen von Verbindungen mit 399 Windows Internet Naming Service (WINS) Architecture and Capacity Planning 229 Windows NT ACLs 266-275 Anlegen eines Benutzers 101 Arbeitsgruppen 99 Bindungen 99 Computernamen 99 DNS-Konfiguration 98 Domänen 126-168 Anmeldungen 138-140 Überblick 31-36
einrichten 93-104 Einstellen des Pfads auf das Verzeichnis der Roaming-Profile 446 Freigeben von Dateien 172 Einrichten der Berechtigungen 173 grundlegende Konfiguration 93 Identifizierung des Knotentyps, ipconfig/all-Befehl 14 Installieren des Arbeitsstationsdienstes 94 IP-Adressen 96 Konfigurieren für Roaming-Profile 156 Konfigurieren von TCP/IP 95 LMHOSTS-Datei 98 Registry-Datei 148 Sicherheitsmodell 32 (siehe auch ACLs) TCP/IP installieren 93 Verbinden mit einem Samba-Server 102 WINS-Server 96 Windows NT-Domänenoptionen 166 Windows Time Service 360 Windows XP ACLs 266-275 Anlegen von Benutzern 121 Arbeitsgruppen 119 Bindungen 116 Computernamen 119 DNS-Konfiguration 117 Domänenanmeldungen 142-144 einrichten 115-125 Einstellen des Pfads auf das Verzeichnis der Roaming-Profile 446 Freigeben von Dateien 172 Einrichten der Berechtigungen 173 Home-Version, Probleme in einer Domänenumgebung 142 Identifizierung des Knotentyps, ipconfig/all-Befehl 14 IP-Adressen 117 Konfigurieren für Roaming-Profile 156 Konfigurieren von TCP/IP 116 LMHOSTS-Datei 118 Netzwerkkomponenten 115 Registry-Datei 148 Sicherheitsmodell (siehe ACLs) Verbinden mit Samba-Server 123 WINS-Server 118 Windows-Arbeitsgruppen (siehe Arbeitsgruppen) Windows-Nachrichtendienst 367-369 winipcfg-Befehl (Windows 95/98/Me) 14 WinPopup-Werkzeug 367 WINS 34 Client- und Server-Interaktion 229 Konfiguration, Windows 95/98/Me 84 Proxy, konfigurieren 232 Replikation 40 Unterstützung, smb.conf-Datei 76
wins hook-Option (smb.conf-Datei) 234 , 473 wins proxy-Option (smb.conf-Datei) 232 , 234 , 474 wins server-Option (smb.conf-Datei) 232 , 233 , 474 wins support-Option (smb.conf-Datei) 233 , 474 wins support-Parameter (smb.conf-Datei) 231 WINS-Server Aktivieren von Samba als, Konfigurationsdateibeispiel 419 Einrichten von Samba als 231 Konfigurieren eines DNS-Proxy 231 Konfigurieren von Samba zur Benutzung eines anderen 232 Konfigurationsdateibeispiel 420 mehrere 34 primäre (siehe primärer WINS-Server) Synchronisationsprobleme in Samba 76 Windows 2000 107 Windows NT 96 Windows XP 118 with Funktion-Option, Konfigurieren von Samba 50 --with-acl-support (configure-Skript-Option) 525 --with-afs (configure-Skript-Option) 525 --with-automount (configure-Skript-Option) 525 --with-codepagedir (configure-Skript-Option) 525 --with-configdir (configure-Skript-Option) 525 --with-dce-dfs (configure-Skript-Option) 525 --with-fhs (configure-Skript-Option) 525 --with-included-popt (configure-Skript-Option) 525 --with-krb4 (configure-Skript-Option) 525 --with-krb5 (configure-Skript-Option) 526 --with-ldapsam (configure-Skript-Option) 526 --with-libiconv (configure-Skript-Option) 526 --with-libsmbclient (configure-Skript-Option) 526 --with-lockdir (configure-Skript-Option) 526 --with-logfilebase (configure-Skript-Option) 526 --with-manpages-langs (configure-Skript-Option) 526 --with-msdfs (configure-Skript-Option) 50 , 526 --with-nisplus-home (configure-Skript-Option) 527 --with-nisplussam (configure-Skript-Option) 527 without Funktion-Option, Konfigurieren von Samba 50 --with-pam (configure-Skript-Option) 527 --with-pam_smbpass (configure-Skript-Option) 527 --with-piddir (configure-Skript-Option) 527 --with-privatedir (configure-Skript-Option) 527 --with-profiling-data (configure-Skript-Option) 527 --with-quotas (configure-Skript-Option) 527 --with-readline (configure-Skript-Option) 527 --with-sendfile-support (configure-Skript-Option) 528 --with-smbmount (configure-Skript-Option) 51 , 528 --with-smbwrapper (configure-Skript-Option) 51 , 528 --with-spinlocks (configure-Skript-Option) 528 --with-ssl (configure-Skript-Option) 528 --with-sslinc (configure-Skript-Option) 528 --with-ssllib (configure-Skript-Option) 528
--with-swatdir (configure-Skript-Option) 528 --with-syslog (configure-Skript-Option) 529 --with-tdbsam (configure-Skript-Option) 529 --with-utmp (configure-Skript-Option) 529 --with-winbind (configure-Skript-Option) 529 workgroup-Option (smb.conf-Datei) 474 workgroup-Parameter (smb.conf-Datei) 211 writable-Option (smb.conf-Datei) 214 , 474 write cache size-Option (smb.conf-Datei) 474 write list-Option (smb.conf-Datei) 301 , 303 , 474 write ok-Option (smb.conf-Datei) 214 , 475 write raw-Option (smb.conf-Datei) 475 writeable-Option (smb.conf-Datei) 214
X XFS-Dateisystem 39 xinetd-Daemon 56
Z Zeichensätze, übersetzen 430 Zeitstempel ändern in Protokollen 432 Bedeutung von 149 Zeitsynchronisation 359-362 Zeitsynchronisationsoptionen 361-362 Zugänge (siehe Computerzugänge, hinzufügen; Benutzer) Zugriff, steuern (siehe ACLs; Steuern des Zugriffs auf Freigaben) Zugriffskontrolleinträge (Access Control Entries, ACEs) 32 , 266 Zugriffskontrolllisten (Access Control Lists, siehe ACLs) Zugriffssteuerungsoptionen 302-304 Zuordnen eines frei formatierten Client-Benutzernamens zu einem Unix-Benutzernamen 305 Zuweisen eines Netzlaufwerks (siehe Laufwerksbuchstabe, verbinden eines Verzeichnisses mit)
Copyright © 2003 by O'Reilly Verlag GmbH & Co.KG
Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David Collier-Brown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-89721-359-1 www.oreilly.de/catalog/samba2ger/ Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.
Kapitel 1 Lerne den Samba Samba ist für jeden, der sowohl Windows- als auch Unix-Systeme in seinem Netzwerk betreibt, ein außergewöhnlich nützliches Werkzeug. Es läuft auf einem Unix-System und erlaubt dabei Windows, Dateien und Drucker auf dem Unix-Host freizugeben, und Unix-Benutzern, auf Ressourcen zuzugreifen, die durch Windows-Systeme freigegeben wurden. Es mag zwar nur natürlich sein, einen Windows-Server einzusetzen, um Dateien und Drucker in einem Netzwerk bereitzustellen, das Windows-Clients enthält, allerdings gibt es gute Gründe, für diese Aufgabe einen Samba-Server vorzuziehen. Samba ist eine zuverlässige Software, die auf zuverlässigen Unix-Betriebssystemen läuft. Dadurch treten weniger Probleme auf, und die Wartungskosten verringern sich. Samba bietet darüber hinaus eine bessere Leistung bei starker Last, wobei beispielsweise ein Server mit Windows 2000 auf identischer PC-Hardware um den Faktor 2 übertroffen wird (entsprechend veröffentlichten unabhängigen Benchmarks). Wenn gewöhnliche, preiswerte PC-Hardware den Anforderungen einer großen Client-Last nicht mehr gerecht wird, kann der Samba-Server leicht auf ein proprietäres Unix-Mainframe umgesetzt werden, dessen Leistungsfähigkeit die von Windows auf einem PC um ein Vielfaches übertrifft. Und als wenn all dies noch nicht genug wäre, bietet Samba einen ausgesprochen netten Kostenvorteil: Es ist nämlich kostenlos. Nicht nur die Software selbst steht frei zur Verfügung, es werden auch keine Client-Lizenzen benötigt. Außerdem läuft es auf qualitativ hochwertigen, freien Betriebssystemen wie Linux und FreeBSD. Nach dem Lesen des vorangegangenen Absatzes könnten Sie zu dem Schluss kommen, dass Samba üblicherweise von großen Einrichtungen mit tausenden von Benutzern im Netzwerk eingesetzt wird - und Sie könnten Recht haben! Zu den Benutzern von Samba jedoch gehören Organisationen auf der ganzen Welt, in allen Arten und Größen: von internationalen Unternehmen über kleine und mittelständische Firmen bis hin zu Einzelpersonen, die Samba auf ihren Linux-Laptops ausführen. Im letzten Fall wird ein Programm wie VMware verwendet, um Windows auf dem gleichen Computer laufen zu lassen, wobei Samba es den beiden Betriebssystemen erlaubt, Dateien gemeinsam zu nutzen. Die Vielfalt der Benutzer ist sogar noch größer - Samba wird von Unternehmen, Banken und anderen Finanzeinrichtungen, Regierungen und Militäreinrichtungen, Schulen, Bibliotheken, Kunstgalerien, Familien und sogar Autoren benutzt! Dieses Buch wurde auf einem Linux-System mit VMware und Windows 2000 erstellt. Der Adobe FrameMaker lief unter Windows, und die Dokumentdateien wurden mittels Samba auf dem Linux-Dateisystem bereitgestellt. Hört sich all das verlockend an? In diesem Fall ermuntern wir Sie, weiterzulesen, Samba kennen zu lernen und unseren Beispielen zu folgen, um einen eigenen Samba-Server einzurichten. In diesem und den folgenden Kapiteln werden wir Ihnen genau sagen, wie Sie anzufangen haben.
Was ist Samba? Samba ist eine Sammlung mehrerer Unix-Anwendungen, die über das SMB-Protokoll (Server Message Block-Protokoll) kommunizieren. Die Betriebssysteme Microsoft Windows und OS/2 verwenden SMB für Client/Server-Netzwerke zum Bereitstellen gemeinsam genutzter Dateien und Drucker sowie verwandter Operationen. Weil Samba dieses Protokoll unterstützt, können Sie Unix-Server einbeziehen, indem diese über das gleiche Netzwerkprotokoll wie Microsoft WindowsProdukte kommunizieren. Dadurch kann sich eine Unix-Maschine mit Samba in Ihrem Microsoft Windows-Netzwerk als Server ausgeben. Ein Samba-Server stellt folgende Dienste zur Verfügung: ● ● ●
● ● ●
Freigabe eines oder mehrerer Verzeichnisbäume Freigabe eines oder mehrerer Dfs-Bäume (Distributed file system) Freigabe von Druckern, die auf dem Server installiert sind, für Windows-Clients im Netzwerk Unterstützung von Clients beim Durchsuchen des Netzwerks Authentifizierung von Clients, die sich an einer Windows-Domäne anmelden Bereitstellung oder Unterstützung der Namensauflösung über WINS (Windows Internet Name Service)
Das Samba-Programmpaket enthält außerdem Client-Werkzeuge, die es Benutzern auf einem Unix-System erlauben, auf Ordner und Drucker zuzugreifen, die Windows-Systeme und SambaServer im Netzwerk bereitstellen. Samba verdanken wir Andrew Tridgell, der derzeitig das Samba-Entwicklerteam leitet. Andrew begann das Projekt im Jahr 1991, als er mit einem DEC-Programm namens Pathworks arbeitete, das DEC-VAX-Computer mit Computern anderer Hersteller verbinden sollte. Ohne sich der Wichtigkeit dessen bewusst zu sein, was er tat, schuf Andrew ein Datei-Server-Programm für ein eigenartiges Protokoll, das Bestandteil von Pathworks war. Später stellte sich heraus, dass es sich bei diesem Protokoll um SMB handelte. Einige Jahre später erweiterte er den auf seine Bedürfnisse zugeschnittenen Server und begann, ihn im Internet unter dem Namen »SMB Server« zu verteilen. Allerdings konnte Andrew diesen Namen nicht lange benutzen, da eine Firma ihn bereits für ihre Produkte hatte eintragen lassen - er schlug daraufhin folgenden UnixWeg ein, um sein Programm umzubenennen: $ grep -i '^s.*m.*b' /usr/dict/words
Die Ausgabe lautete: salmonberry samba sawtimber scramble
Und so wurde der Name »Samba« geboren. Heutzutage konzentriert sich die Samba-Sammlung um einige Unix-Daemons, die freigegebene Ressourcen - so genannte Freigaben oder Dienste (oder Services) - für SMB-Clients im Netzwerk bereitstellen. Dabei handelt es sich um folgende Daemons: smbd Ein Daemon, der Verzeichnisse und Drucker in einem SMB-Netzwerk freigibt und die Echtheit von Clients überprüft (authentifiziert) und bestätigt (autorisiert). nmbd Ein Daemon, der den NetBIOS-Namensdienst und WINS, die Microsoft-Implementierung
eines NetBIOS-Name-Servers (NBNS), unterstützt. Er hilft außerdem beim Durchsuchen des Netzwerks. Samba wird derzeit von einer Gruppe Freiwilliger unter der Leitung von Andrew Tridgell gewartet und erweitert. Wie das Linux-Betriebssystem wird auch Samba von seinen Autoren als Open Source Software (http://open-source.org) angesehen und unter der GNU General Public License (GPL) vertrieben. Seit seiner Einführung wurde die Entwicklung von Samba teilweise von der Australian National University gesponsert, an der Andrew Tridgell promoviert hat. Seitdem haben viele andere Organisationen Samba-Entwickler unterstützt, einschließlich LinuxCare, VA Linux Systems, Hewlett-Packard und IBM. Es zeugt von einer hohen Wertschätzung für Samba, dass sowohl kommerzielle als auch nicht-kommerzielle Einrichtungen bereit sind, ein Open SourceProjekt zu unterstützen. Auch Microsoft leistete einen Beitrag, indem die Firma im Jahr 1996 ihre Definitionen des SMBProtokolls der Internet Engineering Task Force (IETF) als Common Internet File System (CIFS) zur Verfügung stellte. In diesem Buch ziehen wir es zwar vor, den Begriff »SMB« zu benutzen, allerdings werden Sie das Protokoll auch oft unter der Bezeichnung »CIFS« finden. Das gilt besonders für die Website von Microsoft.
Was leistet Samba? Wie bereits beschrieben, kann Samba Ihnen dabei helfen, Windows- und Unix-Systeme in einem Netzwerk nebeneinander einzusetzen. Es gibt jedoch noch weitere Gründe, die Sie zur Verwendung von Samba in Ihrem Netzwerk bewegen können: ●
●
●
● ●
●
●
Sie wollen oder können sich keinen voll ausgestatteten Windows-Server leisten, sind aber dennoch auf dessen Funktionalität angewiesen. Die Client Access Licenses (CALs), die Microsoft für den Zugriff jedes Windows-Clients auf einen Windows-Server verlangt, sind für Sie unerschwinglich. Sie wollen einen gemeinsamen Bereich für Daten oder Benutzerverzeichnisse bereitstellen, um den Übergang von einem Windows-Server auf einen Unix-Server bzw. umgekehrt zu erleichtern. Sie wollen Drucker sowohl für Windows- als auch für Unix-Workstations bereitstellen. Sie unterstützen eine Gruppe von Computer-Benutzern, die eine Mischung aus Windowsund Unix-Computern einsetzen. Sie wollen die Unix- und die Windows-Authentifizierung integrieren, indem Sie eine einzige Datenbank mit Benutzerzugängen bereitstellen, die auf beiden Systemen funktionieren. Sie wollen Unix-, Windows-, Macintosh- (OS X) und andere Systeme mit Hilfe eines einzigen Protokolls vernetzen.
Lassen Sie uns eine kurze Tour durch ein Samba-System im Einsatz machen. Gehen Sie von folgender grundlegender Netzwerkkonfiguration aus: ein Unix-System mit Samba und dem Namen toltec sowie ein paar Windows-Clients mit den Namen maya und aztec; alle Computer sind über ein LAN miteinander verbunden. Nehmen Sie weiterhin an, dass lokal an toltec der Tintenstrahldrucker lp angeschlossen ist. Außerdem ist auf diesem Computer ein Verzeichnis namens spirit im Netzwerk freigegeben. Beide Ressourcen können den beiden anderen Computern angeboten werden. Ein Modell dieses Netzwerks sehen Sie in Abbildung 1-1.
Abbildung 1-1 Ein einfaches Netzwerk mit einem Samba-Server
In diesem Netzwerk befinden sich alle erwähnten Computer in derselben Arbeitsgruppe. Eine Arbeitsgruppe ist einfach nur eine Kennzeichnung für eine beliebige Sammlung von Computern mit ihren Ressourcen in einem SMB-Netzwerk. Mehrere Arbeitsgruppen können friedlich nebeneinander existieren - in unserem Beispiel aber gibt es ausschließlich die Arbeitsgruppe METRAN.
Ein Verzeichnis freigeben Wenn alles korrekt konfiguriert ist, sollten Sie in der Lage sein, den Samba-Server toltec in der Netzwerkumgebung des Windows-Rechners maya zu sehen. Und in der Tat, Abbildung 1-2 zeigt die Netzwerkumgebung auf dem Computer maya, die toltec und alle anderen Rechner enthält, die sich in der Arbeitsgruppe METRAN befinden. Beachten Sie das Symbol Gesamtes Netzwerk ganz oben in der Liste. Wie wir bereits erwähnten, kann es in einem SMB-Netzwerk mehrere Arbeitsgruppen gleichzeitig geben. Klickt ein Benutzer auf das Symbol Gesamtes Netzwerk, erscheint eine Liste aller Arbeitsgruppen, die momentan im Netzwerk existieren.
Abbildung 1-2 Das Verzeichnis Netzwerkumgebung
Sie können sich den Server toltec näher ansehen, indem Sie auf das entsprechende Symbol doppelklicken. Dadurch wird toltec selbst angesprochen und eine Liste seiner bereitgestellten Freigaben - der Datei- und Druckerressourcen - angefordert. In unserem Fall gibt es auf dem Server einen Drucker namens lp, ein Home-Verzeichnis namens jay und eine Verzeichnisfreigabe namens spirit, wie Sie in Abbildung 1-3 sehen.
Abbildung 1-3 Freigaben des Servers Toltec, von maya aus gesehen
Beachten Sie, dass Windows standardmäßig eine gemischte Schreibweise für Computernamen verwendet (Toltec). Die Groß-/Kleinschreibung spielt bei Computernamen keine Rolle, so dass Sie je nach verwendeter Anzeige oder Ausgabe toltec, Toltec und TOLTEC sehen werden sämtliche Namen beziehen sich auf dasselbe System. Dank Samba sieht Windows 98 den UnixServer als gültigen SMB-Server an und kann auf das freigegebene Verzeichnis spirit zugreifen, als handele es sich dabei um einen weiteren Systemordner. Ein beliebtes Merkmal von Windows ist, dass Sie einem bekannten, freigegebenen Verzeichnis im Netzwerk einen Laufwerkbuchstaben (wie etwa E:, F: oder Z:) zuweisen können, indem Sie im Windows-Explorer die Funktion Netzlaufwerk verbinden verwenden.1 Sobald Sie das getan haben, können Ihre Anwendungen den Ordner im Netzwerk über den Laufwerkbuchstaben ansprechen. Sie können Daten darauf speichern, Programme darauf installieren und ausführen und ihn sogar mit einem Kennwort gegen unerwünschte Besucher schützen. In Abbildung 1-4 sehen Sie, wie ein Laufwerkbuchstabe einem Netzwerkverzeichnis zugeordnet wird.
Abbildung 1-4 Zuordnung eines Netzlaufwerks zu einem WindowsLaufwerkbuchstaben
Schauen Sie sich den Eintrag Pfad: in der Dialogbox von Abbildung 1-4 an. Eine andere Schreibweise für ein Verzeichnis auf einem Netzwerk-Computer besteht aus zwei Rückstrichen (Backslashes), gefolgt vom Namen des Computers im Netzwerk, einem weiteren Backslash sowie dem Namen des Netzwerkverzeichnisses: \\Netzwerkcomputer\Verzeichnis
Diese Angabe wird in der Windows-Welt Universal Naming Convention (UNC) genannt. Die Dialogbox in Abbildung 1-4 repräsentiert beispielsweise das Netzwerkverzeichnis auf dem Server toltec als:
\\toltec\spirit
Wenn Ihnen diese Schreibweise bekannt vorkommt, denken Sie wahrscheinlich an Uniform Resource Locators (URLs), die Adressen darstellen, die von Webbrowsern wie Netscape Navigator und Internet Explorer verwendet werden, um Systeme im Internet zu finden. Verwechseln Sie die beiden besser nicht: URLs wie http://www.oreilly.com benutzen normale (d. h. vorwärts geneigte) Schrägstriche an Stelle von Backslashes, und vor den Schrägstrichen steht die Abkürzung für das verwendete Datenübertragungsprotokoll (z.B. ftp, http) mit einem Doppelpunkt (:). URLs und UNCs sind also zwei völlig unterschiedliche Dinge, obwohl Sie manchmal eine SMB-Freigabe mit Hilfe einer URL an Stelle eines UNC angeben können. In der URL-Schreibweise würde die Freigabe \\toltec\spirit so aussehen: smb://toltec/spirit. Sobald das Netzlaufwerk eingerichtet ist, verhalten sich Windows und seine Programme, als wäre das Netzwerkverzeichnis eine lokale Festplatte. Falls Sie Anwendungen besitzen, die eine Mehrbenutzerfunktionalität im Netzwerk unterstützen, können Sie diese auf dem Netzlaufwerk installieren.2 Abbildung 1-5 zeigt das resultierende Netzlaufwerk, wie es zusammen mit anderen Speichermedien im Windows 98-Client erscheint. Beachten Sie das Symbol des Laufwerks J:, es zeigt ein Kabel, das Sie darauf hinweist, dass es sich um ein Netzlaufwerk und nicht um eine lokale Festplatte handelt.
Abbildung 1-5 Das dem Buchstaben J auf dem Client zugewiesene Netzwerkverzeichnis
Die Netzwerkumgebung von Windows Me, 2000 und XP funktioniert anders als die Netzwerkumgebung von Windows 98. Es müssen mehr Symbole angeklickt werden, aber schließlich erhalten Sie auch hier die Darstellung des Servers toltec aus Abbildung 1-6. Sie sehen hier ein Windows 2000-System. Das Einrichten des Netzlaufwerks mit Hilfe der Option Netzlaufwerk verbinden funktioniert unter Windows 2000 ähnlich wie auf anderen WindowsVersionen.
Abbildung 1-6 Auf Toltec verfügbare Freigaben (von dine aus gesehen)
Einen Drucker freigeben Sie haben wahrscheinlich bemerkt, dass der Drucker lp als Freigabe des Servers toltec in Abbildung 1-3 erscheint. Das bedeutet, dass der Unix-Server einen Drucker besitzt, der von den diversen SMB-Clients in der Arbeitsgruppe verwendet werden kann. Daten, die von einem der Clients an den Drucker gesandt werden, werden auf dem Unix-Server zwischengespeichert und in der Reihenfolge ihres Eintreffens an den Drucker weitergeleitet. Einen Samba-Drucker unter Windows einzurichten ist sogar noch einfacher, als ein Netzlaufwerk zu verwenden. Doppelklicken Sie auf den Drucker und geben Sie dessen Hersteller und Modellbezeichnung an, um auf dem Windows-Client den passenden Druckertreiber zu installieren. Windows ist dann in der Lage, Daten für den Drucker korrekt aufzubereiten und auf ihn zuzugreifen, als würde es sich um einen lokalen Drucker handeln. Unter Windows 98 wird durch einen Doppelklick auf das Drucker-Symbol in der Systemsteuerung das Drucker-Fenster geöffnet, das Sie in Abbildung 1-7 sehen. Beachten Sie auch hier das mit dem Kabel versehene Symbol, das den Drucker als Netzwerkgerät kennzeichnet.
Abbildung 1-7 Ein auf Toltec verfügbarer Netzwerkdrucker
Die Dinge von der Unix-Seite aus sehen Wie bereits erwähnt, besteht Samba unter Unix aus einer Sammlung von Daemon-Programmen. Sie können sie mit dem Unix-Befehl ps sehen und von ihnen erzeugte Nachrichten in eigenen Protokolldateien oder im Unix-syslog finden (je nachdem, wie Samba eingerichtet ist). Außerdem können Sie Samba in einer einzigen Datei konfigurieren: smb.conf. Falls Sie darüber hinaus eine Vorstellung davon bekommen wollen, was die einzelnen Daemons tun, verwenden Sie das Programm smbstatus, das alle wichtigen Informationen ausgibt. Es funktioniert folgendermaßen:
# smbstatus Processing section "[homes]" Processing section "[printers]" Processing section "[spirit]"
Samba version 2.2.6 Service
uid
gid
pid
machine
----------------------------------------spirit
jay
jay
7735
maya
(172.16.1.6) Sun Aug 12 12:17:14 2002
spirit
jay
jay
7779
aztec
(172.16.1.2) Sun Aug 12 12:49:11 2002
jay
jay
jay
7735
maya
(172.16.1.6) Sun Aug 12 12:56:19 2002
Locked files: Pid
DenyMode
R/W
Oplock
Name
-------------------------------------------------7735
DENY_WRITE RDONLY
NONE
/u/RegClean.exe
Sun Aug 12 13:01:22 2002
Share mode memory usage (bytes): 1048368(99%) free + 136(0%) used + 72(0%) overhead = 1048576(100%) total
Der Samba-Statusbericht in dieser Ausgabe besteht aus drei Datenbereichen, die als einzelne Abschnitte dargestellt werden. Dem ersten Abschnitt können Sie entnehmen, welche Systeme eine Verbindung zum Samba-Server hergestellt haben, wobei jeder Client sowohl durch seinen Namen (maya und aztec) als auch durch seine IP-Adresse identifiziert wird. Der zweite Abschnitt enthält den Namen und den Zustand der Dateien, die gegenwärtig über eine Freigabe auf dem Server verwendet werden, und zwar einschließlich ihres Schreib-/Lesestatus und aller Dateisperren. Schließlich zeigt Samba an, wie viel Speicher es momentan für die verwalteten Freigaben belegt, einschließlich des für aktive Freigaben und andere Verwaltungszwecke benutzten Speichers. (Beachten Sie, dass diese Größe nicht der Gesamtgröße entspricht, die die Prozesse smbd und nmbd verwenden.) Machen Sie sich nichts daraus, falls Sie diese Statistiken nicht verstehen; das wird sich ändern, während Sie dieses Buch lesen.
Sich mit einem SMB-Netzwerk vertraut machen Jetzt, da wir Ihnen Samba kurz erläutert haben, wollen wir ein wenig Zeit damit verbringen, Sie mit der Umgebung von Samba vertraut zu machen: mit einem SMB-Netzwerk. Ein Netzwerk mit SMB unterscheidet sich deutlich vom Arbeiten mit herkömmlichen TCP/IP-Protokollen wie FTP und Telnet, da es verschiedene neue Konzepte zu lernen und viele neue Informationen zu verstehen gilt. Zunächst beschreiben wir die grundlegenden Konzepte eines SMB-Netzwerks, gefolgt von einigen Microsoft-Implementierungen. Schließlich zeigen wir Ihnen, wann ein SambaServer sich nahtlos einpassen lässt und wann nicht.
NetBIOS verstehen Lassen Sie uns das Rad der Zeit auf das Jahr 1984 zurückdrehen. IBM schrieb für die Vernetzung seiner Computer eine einfache Programmierschnittstelle (Application Programming Interface; API) mit dem Namen Network Basic Input/Output System (NetBIOS). Die NetBIOS-API war äußerst simpel gestrickt und ermöglichte es Anwendungen, Verbindungen zu anderen Computern aufzubauen und auf deren Daten zuzugreifen. Stellen Sie sich die NetBIOS-API vereinfacht als eine Art Netzwerkerweiterung der bekannten API-Aufrufe des BIOS vor. Das BIOS enthält Anweisungen auf niedriger Ebene zur Ausführung von Dateisystem-Operationen auf dem lokalen Computer. NetBIOS musste ursprünglich Anweisungen mit anderen Computern über IBM-PC- oder Token-Ring-Netzwerke austauschen. Es benötigte daher ein Transportprotokoll auf niedriger Ebene, um seine Anforderungen von einem Computer zum nächsten weiterzuleiten. Ende 1985 veröffentlichte IBM ein solches Protokoll und verschmolz es mit der NetBIOS-API zum NetBIOS Extended User Interface (NetBEUI ). NetBEUI war für (kleine) lokale Netzwerke (Local Area Network; LAN) gedacht. Jeder Computer konnte einen Namen (mit maximal 15 Zeichen) beanspruchen, sofern er nicht bereits im Netzwerk verwendet wurde. Mit einem »kleinen« Netzwerk meinen wir eines mit nicht mehr als 255 Systemen - das galt 1985 noch als ausgesprochen großzügig bemessen! Das NetBEUI-Protokoll war bei Netzwerkanwendungen sehr beliebt, auch bei denen, die unter Windows for Workgroups liefen. Später kamen Implementierungen von NetBIOS mit den IPXNetzwerkprotokollen von Novell auf, die dann in Konkurrenz zu NetBEUI traten. Die wachsende Internet-Gemeinschaft verwendete als Transportprotokolle hingegen TCP/IP und UDP/IP, so dass eine Implementierung der NetBIOS-APIs über diese Protokolle erforderlich wurde. Denken Sie daran, dass TCP/IP Zahlen verwendet, um Computer zu identifizieren (zum Beispiel 192.168.220.100), während NetBIOS ausschließlich Namen benutzt. Dies stellte ein ziemlich großes Problem dar, als versucht wurde, die beiden Protokolle zusammenzufassen. 1987 veröffentlichte die Internet Engineering Task Force (IETF) Dokumente mit den Titeln RFC 1001 und 1002, die beschrieben, wie NetBIOS über ein TCP/UDP-Netzwerk funktionieren kann. Diese Dokumente bestimmen alle heute existierenden Implementierungen, und zwar einschließlich derjenigen, die Microsoft in den Windows-Betriebssystemen verwendet, sowie die der SambaProgramme. Seitdem ist der durch diese Dokumente geregelte Standard als NetBIOS over TCP/IP oder kurz NBT bekannt.3 Der NBT-Standard (RFC 1001/1002) beschreibt derzeit drei Netzwerkdienste: ● ●
einen Namensdienst zwei Verbindungsdienste: - Datagramme - Sitzungen
Der Namensdienst löst das bereits erwähnte Problem, dass IP numerische Adressen und NetBIOS alphanumerische Namen verwendet. Er ermöglicht es allen Computern im Netzwerk, einen bestimmten Namen im Netzwerk kundzutun. Dieser kann in eine IP-Adresse umgewandelt werden, die von Computern verwendet wird, ganz ähnlich, wie das im heutigen Domain Name System (DNS) im Internet geschieht. Sowohl Datagramm- als auch Sitzungsdienste sind sekundäre Kommunikationsprotokolle, die Daten zwischen den NetBIOS-Computern im Netzwerk transportieren.
Einen Namen erhalten In der NetBIOS-Welt will jeder Computer, der gestartet wird, einen Namen für sich selbst beanspruchen. Dieser Vorgang wird Namensregistrierung genannt. Es darf jedoch nicht
vorkommen, dass zwei Computer im selben Netzwerk denselben Namen beanspruchen, denn dadurch entstünde heillose Verwirrung für jeden Computer, der mit einem der beiden Systeme kommunizieren will. Um dieses mögliche Problem zu vermeiden, gibt es zwei Ansätze: ●
●
Die Verwendung eines NetBIOS-Name-Servers (NBNS), der über die Systeme Buch führt, die einen NetBIOS-Namen registriert haben. Es wird jedem Computer die Möglichkeit eingeräumt, seinen Namen zu verteidigen, falls ein anderer Computer versucht, ihn zu verwenden.
Abbildung 1-8 veranschaulicht eine (fehlgeschlagene) Namensregistrierung mit und ohne NBNS.
Abbildung 1-8 Namensregistrierung mit und ohne NBNS
Außerdem muss es - wie bereits erwähnt - eine Möglichkeit geben, einen NetBIOS-Namen in eine entsprechende IP-Adresse umzuwandeln. Dieser Vorgang wird als Namensauflösung bezeichnet. Auch hier kann man bei NBT auf zweierlei Weise vorgehen: ●
●
Jeder Computer gibt seine IP-Adresse bekannt, wenn er eine Broadcast-Anforderung seines NetBIOS-Namens »hört«. Ein NBNS wird verwendet, um NetBIOS-Namen in IP-Adressen aufzulösen.
Abbildung 1-9 veranschaulicht die beiden Verfahren zur Namensauflösung.
Abbildung 1-9 Namensauflösung mit und ohne NBNS
Wie Sie sich wahrscheinlich schon denken, kann Ihnen ein NBNS im Netzwerk eine enorme Hilfe sein. Um Ihnen zu erklären, warum das so ist, beschreiben wir zunächst die Broadcast-Methode (ohne NetBIOS-Name-Server). Wenn ein Client-Computer bootet, verschickt er eine Broadcast-Meldung (eine Nachricht, die an alle lokalen Systeme gerichtet ist, also quasi ein Rundschreiben) mit dem Inhalt, dass er für sich einen bestimmten NetBIOS-Namen registrieren möchte. Falls kein System Einspruch erhebt, verwendet er den Namen. Benutzt jedoch ein anderer Computer im lokalen Subnetz bereits den angeforderten Namen, sendet er dem anfragenden System die Nachricht, dass der Name schon vergeben ist. Diesen Vorgang nennt man Verteidigung des Hostnamens. Dieses Verfahren der Namensregistrierung ist praktisch, wenn ein Client unerwartet aus dem Netzwerk genommen wird - kann doch ein anderer seinen Namen übernehmen -, aber es belastet das Netzwerk für so einfache Dinge wie die Namensregistrierung. Mit einem NBNS verläuft die Namensregistrierung ähnlich, mit dem Unterschied, dass die Daten lediglich zwischen dem anfragenden Computer und dem NetBIOS-Name-Server ausgetauscht werden. Es sind keine Broadcast-Meldungen erforderlich, wenn ein System seinen Namen registrieren lassen will. Die Registrierungsanforderung wird direkt vom Client an den NBNS gesendet, und der NBNS antwortet unabhängig davon, ob der Name bereits belegt ist. Diese Art des Datenaustauschs wird häufig Punkt-zu-Punkt-Kommunikation genannt und erweist sich oft in Netzwerken als nützlich, die mehr als ein Subnetz besitzen. Der Grund dafür liegt darin, dass Router im Allgemeinen so konfiguriert sind, dass sie eingehende Pakete blockieren, die als Broadcast an alle Computer im Subnetz gerichtet sind. Die gleichen Prinzipien gelten für die Namensauflösung. Ohne NBNS würde die NetBIOSNamensauflösung ebenfalls über den Broadcast-Mechanismus ausgeführt werden. Jede Anfrage nach einer IP-Adresse würde also an jeden Computer des lokalen Subnetzes gesendet werden, in der Hoffnung, dass das betroffene System direkt antworten kann. Die Verwendung eines NetBIOS-Name-Servers und der Punkt-zu-Punkt-Kommunikation für diesen Zweck belastet das Netzwerk viel weniger stark, als es die Broadcast-Nachrichten tun, die das Netzwerk für jede Namensanfrage »fluten«. Jetzt könnte man ja einwenden, dass Broadcast-Pakete in modernen Netzwerken mit hoher Bandbreite, in denen Rechner mit schnellen CPUs verbunden sind, keine nennenswerten Probleme verursachen, wenn sich nur wenige Hosts im Netzwerk befinden oder der Bandbreitenbedarf gering ist. Sicherlich gibt es Fälle, in denen dies zutrifft. Unser Rat in diesem Buch lautet jedoch, sich möglichst nicht auf Broadcasts zu verlassen. Für große, ausgelastete Netzwerke ist dieser Ratschlag sehr wichtig, und falls Sie ihn auch beim Einrichten eines kleinen
Netzwerks befolgen, werden Sie in der Lage sein, bei einer möglichen Erweiterung des Netzwerks Probleme zu vermeiden, die später nur schwer zu diagnostizieren sind.
Knotentypen Wie aber erfahren Sie, welche Strategie ein Client im Netzwerk verfolgt, wenn er seinen Namen registriert und Namen auflösen will? Jeder Computer (auch Knoten genannt) in einem NBTNetzwerk besitzt einen bestimmten Typ, der festlegt, wie die Namensregistrierung und auflösung arbeitet: b-Knoten, p-Knoten, m-Knoten und h-Knoten. Wie sich die einzelnen Knotentypen verhalten, ist in Tabelle 1-1 zusammengefasst.
Tabelle 1-1 NetBIOS-Knotentypen Funktion
Wert
b-Knoten
Verwendet ausschließlich Broadcast-Meldungen zur Registrierung und Auflösung.
p-Knoten
Verwendet ausschließlich die Punkt-zu-Punkt-Kommunikation zur Registrierung und Auflösung.
Verwendet Broadcast zur Registrierung. Ist dies erfolgreich, wird der NBNS von dem Ergebnis unterrichtet. Verwendet m-Knoten (gemischt) Broadcast zur Auflösung und greift auf den NBNS zurück, falls der Broadcast erfolglos ist. h-Knoten (hybrid)
Verwendet den NBNS zur Registrierung und Auflösung. Greift auf Broadcast zurück, falls der NBNS nicht antwortet oder nicht funktioniert.
Im Fall von Windows-Clients werden Sie üblicherweise h-Knoten bzw. Hybrid-Knoten aufgelistet finden. Die ersten drei Knotentypen stehen in RFC 1001/1002; h-Knoten dagegen wurden erst zu einem späteren Zeitpunkt von Microsoft erfunden, um die Fehlertoleranz zu erhöhen. Sie können den Knotentyp eines Windows 95/98/Me-Computers ermitteln, indem Sie den Befehl winipcfg ausführen (über Start ✞ Ausführen oder in der MS-DOS-Eingabeaufforderung) und auf den Button Weitere Info>> klicken. Unter Windows NT/2000/XP können Sie den Befehl ipconfig /all in einer Eingabeaufforderung verwenden. Suchen Sie in jedem Fall nach der Zeile mit der Bezeichnung Knotentyp.
Woraus besteht ein Name? Die NetBIOS-Namen unterscheiden sich erheblich von den DNS-Hostnamen, mit denen Sie möglicherweise vertraut sind. Zum einen existieren NetBIOS-Namen in einem flachen Namensraum. Das heißt, es gibt keine hierarchischen Ebenen wie in oreilly.de (zwei Ebenen) oder ftp.samba.org (drei Ebenen). NetBIOS-Namen bestehen aus einem einzigen eindeutigen String wie navaho oder hopi innerhalb jeder Arbeitsgruppe oder Domäne. Zum anderen dürfen NetBIOS-Namen maximal 15 Zeichen lang sein und nur aus alphanumerischen Zeichen (a-z, AZ, 0-9) sowie den folgenden Zeichen bestehen: ! @ # $ % ^ & ( ) - ' { } . ~
Auch wenn Sie einen Punkt (.) in einem NetBIOS-Namen verwenden dürfen, raten wir davon ab, weil diese Namen möglicherweise nicht in künftigen Versionen von NBT funktionieren werden.
Es ist kein Zufall, dass gültige DNS-Namen auch gültige NetBIOS-Namen sind. In der Tat wird der unqualifizierte DNS-Name eines Samba-Servers (das ist der Name ohne den DomänenAnteil) häufig auch als sein NetBIOS-Name eingesetzt. Wenn Sie beispielsweise ein System mit dem Hostnamen mixtec.ora.com hätten, wäre sein NetBIOS-Name wahrscheinlich MIXTEC (gefolgt von neun Leerzeichen). Namen und Typen von Ressourcen Ein NetBIOS-Computer kündigt nicht nur seine Anwesenheit an, sondern gibt auch bekannt, welche Arten von Diensten er anbietet. mixtec könnte also zum Beispiel mitteilen, dass er nicht nur eine Workstation, sondern auch ein Datei-Server ist und Windows Messenger-Nachrichten empfangen kann. Dazu wird an das Ende des Maschinen-(Ressourcen-)Namens ein 16. Byte angehängt, das den Ressourcentyp angibt und den Namen mehrfach - für jeden angebotenen Dienst - registriert (siehe Abbildung 1-10).
Abbildung 1-10 Die Struktur von NetBIOS-Namen
Der ein Byte große Ressourcentyp bezeichnet einen bestimmten Dienst, den der Computer bereitstellt. In diesem Buch kennzeichnen wir den Ressourcentyp häufig durch spitze Klammern (<>), wie in: MIXTEC<00>
Sie können feststellen, welche Namen für einen bestimmten NBT-Computer registriert sind, indem Sie das Windows-Kommandozeilen-Programm nbtstat einsetzen. Da diese Dienste eindeutig sind (d.h., sie können nur jeweils einmal registriert sein), werden sie in der Ausgabe als UNIQUE (engl. eindeutig) bezeichnet. Der folgende Ausschnitt aus einer Ausgabe beschreibt zum Beispiel den Server toltec: C:\>nbtstat -a toltec
NetBIOS Remote Machine Name Table Name
Type
Status
--------------------------------------------TOLTEC
<00>
UNIQUE
Registered
TOLTEC
<03>
UNIQUE
Registered
TOLTEC
<20>
UNIQUE
Registered
...
Diese Ausgabe besagt, dass der Server den NetBIOS-Namen toltec als Maschinen- (d.h. Computer-)Namen, als Empfänger von Nachrichten des Windows Messenger-Diensts und als Datei-Server registriert hat. Mögliche Attribute eines Namens sind in Tabelle 1-2 aufgeführt.
Tabelle 1-2 Eindeutige NetBIOS-Ressourcentypen Benannte Ressource
Hexadezimaler Wert des Byte
Standard-Workstation-Dienst
00
Messenger-Dienst
03
Modem/ISDN-Server-Fernzugriffsdienst (RAS, Remote Access Service)
06
Domain Master Browser Service (DomänenHauptsuchdienst; ausgeführt auf primären Domänen-Controllern)
1B
Hauptsuchdienst
1D
NetDDE-Dienst
1F
Datei-Server (einschließlich Drucker-Server)
20
RAS-Client-Dienst
21
Netzwerkmonitoragent
BE
Netzwerkmonitor
BF
Gruppennamen und -typen SMB kennt auch das Konzept der Gruppen, bei denen sich die Computer selbst registrieren können. Wir haben bereits an früherer Stelle erwähnt, dass die Computer in unserem Beispiel einer Arbeitsgruppe angehören. Eine Arbeitsgruppe fasst mehrere Computer in einem Netzwerk zusammen. Eine Firma kann zum Beispiel die Arbeitsgruppen BUCHHALTUNG und VERKAUF besitzen, die mit jeweils eigenen Servern und Druckern ausgestattet sind. In der Windows-Welt entsprechen Arbeitsgruppen den SMB-Gruppen. Führen wir unser nbtstat-Beispiel fort. Der Samba-Server toltec ist Mitglied der Arbeitsgruppe METRAN (GROUP-Attribut: hexadezimal 00) und steht bei der Auswahl als Hauptsuchdienst zur Verfügung (GROUP-Attribut: hexadezimal 1E). Hier ist der Rest der Ausgabe von nbtstat: NetBIOS Remote Machine Name Table Name
Type
Status
--------------------------------------------METRAN
<00>
GROUP
Registered
METRAN
<1E>
GROUP
Registered
.._ _MSBROWSE_ _.<01>
GROUP
Registered
Die möglichen GROUP-Attribute, die ein Computer besitzen kann, sind in Tabelle 1-3 aufgeführt.
Weitere Informationen finden Sie im Buch Windows NT in a Nutshell von Eric Pearce, ebenfalls im O'Reilly Verlag erschienen.
Tabelle 1-3 NetBIOS-Ressourcentypen für Gruppen Benannte Ressource
Hexadezimaler Wert des Byte
Standard-Workstation-Gruppe
00
Anmelde-Server
1C
Hauptsuchdienst
1D
Normaler Gruppenname (wird bei der Bestimmung des Suchdienstes verwendet)
1E
Internet-Gruppenname (administrativ)
20
<01><02>_ _MSBROWSE_ _<02>
01
Der letzte Eintrag, _ _ MSBROWSE _ _ , wird dazu verwendet, eine Gruppe anderen Hauptsuchdiensten anzukündigen. Die nicht-druckbaren Zeichen im Namen werden in der Ausgabe von nbtstat als Punkte angezeigt. Stören Sie sich nicht daran, wenn Sie nicht alle Ressourcen- oder Gruppentypen verstehen. Sie werden einige davon für Samba nicht benötigen. Die Bedeutung der anderen werden wir im Laufe dieses Kapitels erläutern. Was Sie sich unbedingt merken sollten, ist die Funktionsweise des Namensmechanismus. Bereichs-ID In den Anfangstagen der SMB-Netzwerke, bevor NetBIOS-Gruppen eingeführt wurden, gab es eine sehr primitive Methode, um Gruppen von Computern vom Rest des Netzwerks zu isolieren. Jedes SMB-Paket enthält ein Feld namens Bereichs-ID (Scope ID). Dahinter steckte die Idee, dass die Systeme im Netzwerk so konfiguriert werden können, dass sie nur Pakete akzeptieren, deren Bereichs-ID ihrer Konfiguration entspricht. Dieses Merkmal wurde kaum eingesetzt, ist jedoch leider in modernen Implementierungen immer noch vorhanden. Einige der in der SambaDistribution vorhandenen Programme erlauben es, die Bereichs-ID zu setzen. Allerdings wird dies in einem Netzwerk mit hoher Wahrscheinlichkeit Probleme verursachen. Wir erwähnen die Bereichs-ID nur, damit Sie sich nicht wundern, falls sie Ihnen irgendwo einmal begegnet.
Datagramme und Sitzungen Lassen Sie uns an dieser Stelle ein wenig abschweifen, um eine andere Aufgabe zu beschreiben, die in der Verantwortung von NBT liegt: die Bereitstellung der Verbindungsdienste zwischen zwei NetBIOS-Computern. NBT bietet zwei Dienste an: den Sitzungsdienst und den Datagrammdienst. Sie müssen diese Dienste nicht vollständig verstehen, um mit Samba zu arbeiten, aber Sie erhalten zumindest eine Vorstellung davon, wie NetBIOS over TCP/IP (NBT) funktioniert und wo Sie nach Fehlern suchen müssen, falls Samba einmal nicht funktionieren sollte. Der Datagrammdienst stellt keine stabilen Verbindungen zwischen Computern her. Datenpakete werden einfach von einem Computer an einen anderen (oder per Broadcast an alle Rechner im lokalen Netzwerk) gesendet, ohne dass beachtet wird, in welcher Reihenfolge die Pakete am Ziel eintreffen oder ob sie überhaupt ankommen. Datagramme erfordern einen geringeren Verarbeitungsaufwand als Sitzungen, allerdings kann die Zuverlässigkeit der Verbindung leiden. Datagramme werden daher für das schnelle Versenden weniger wichtiger Datenblöcke an einen oder mehrere Computer verwendet. Der Datagrammdienst benutzt für die Kommunikation die einfachen, in Tabelle 1-4 gezeigten Funktionen.
Tabelle 1-4 Datagrammfunktionen Funktion
Beschreibung
Datagramm senden (Send Datagram)
Sendet ein Datagrammpaket an einen Computer oder an Gruppen von Computern.
Broadcast-Datagramm senden (Send Broadcast Datagram)
Sendet ein Broadcast-Datagramm an alle Computer, die mit der Funktion Receive Broadcast Datagram eines erwarten.
Datagramm empfangen (Receive Datagram)
Empfängt ein Datagramm von einem Computer.
Broadcast-Datagramm empfangen (Receive Broadcast Datagram)
Erwartet ein Broadcast-Datagramm.
Der Sitzungsdienst ist komplizierter. Sitzungen bedienen sich einer Kommunikationsmethode, durch die theoretisch problematische oder unterbrochene Verbindungen zwischen zwei NetBIOSAnwendungen erkannt werden können. Stellen Sie sich eine NBT-Sitzung mit den Begriffen einer Telefonverbindung vor, einer Analogie, die ganz offensichtlich die Gestaltung des CIFSStandards beeinflusst hat. Eine einmal aufgebaute Verbindung bleibt während der gesamten Dauer des Gesprächs bestehen, jede Seite weiß, wer der Anrufer und wer der angerufene Computer ist, und beide können über die einfachen Funktionen miteinander kommunizieren, die Sie in Tabelle 1-5 finden.
Tabelle 1-5 Sitzungsfunktionen Funktion
Beschreibung
Anrufen
Eine Sitzung zu einem Computer herstellen, der unter einem bestimmten Namen empfangsbereit ist.
Hören
Auf einen Anruf eines bekannten oder anderen Anrufers warten.
Auflegen
Ein Gespräch beenden.
Senden
Daten an den anderen Computer senden.
Empfangen
Daten vom anderen Computer empfangen.
Sitzungszustand Informationen über die angeforderten Sitzungen erhalten. Sitzungen bilden das Rückgrat der Ressourcenfreigabe in einem NBT-Netzwerk. Sie werden üblicherweise verwendet, um stabile Verbindungen zwischen Client-Computern und Verzeichnisoder Druckerfreigaben auf einem Server herzustellen. Der Client »ruft« den Server an und teilt ihm mit, welche Dateien er öffnen möchte, welche Daten er austauschen will usw. Diese »Anrufe« können sehr lange dauern, unter Umständen mehrere Stunden oder sogar Tage - alles während einer einzigen Verbindung. Tritt ein Fehler auf, sorgt die Sitzungs-Software (TCP) für eine erneute Übertragung der Daten, bis sie korrekt übermittelt worden sind. Im Gegensatz dazu verwendet der Datagrammdienst, der ohne Kontrolle arbeitet, das verbindungslose UDPProtokoll.
In der Realität funktioniert die Abwicklung problematischer Sitzungen häufig nicht ganz korrekt. Wenn die Verbindung aus irgendeinem Grund unterbrochen wird, können die Sitzungsinformationen leicht ungültig werden. In diesem Fall kann die Sitzung nur wieder hergestellt werden, indem einer der Computer den anderen »anruft« und von vorn beginnt. Wenn Sie weitere Informationen zu diesem Thema wünschen, sehen Sie sich RFC 1001 an. Folgende Punkte sollten Sie sich aber auf jeden Fall merken: ●
●
Sitzungen bestehen grundsätzlich zwischen genau zwei NetBIOS-Computern. Wenn ein Sitzungsdienst unterbrochen wird, sollte der Client genügend Zustandsdaten gespeichert haben, um die Sitzung wieder herzustellen. In der Praxis funktioniert das jedoch nur selten. Datagramme können als Broadcast an mehrere Computer gleichzeitig verschickt werden, sind allerdings nicht zuverlässig. Mit anderen Worten, es gibt für die Quelle keine Möglichkeit nachzuprüfen, ob die Datagramme, die sie verschickt hat, auch wirklich an ihrem Ziel angekommen sind.
Eine Einführung in das SMB-Protokoll Nun werden wir einige grundlegende technische Details betrachten und die Einzelheiten des SMBProtokolls erkunden. Vermutlich müssen Sie gar nicht so viel darüber wissen, um ein einfaches Samba-Netzwerk zu implementieren, und werden deshalb beim ersten Lesen diesen Abschnitt möglicherweise auslassen oder überspringen und sich gleich dem nächsten Abschnitt widmen (»Windows-Arbeitsgruppen und -Domänen«). Da wir jedoch davon ausgehen, dass Sie länger für die Wartung eines Samba-Netzwerks zuständig sein werden, denken wir, dass es Ihnen hilft, wenn Sie verstehen, wie es tatsächlich funktioniert. Sie werden schneller in die Lage versetzt, auftretende Probleme zu diagnostizieren und zu beheben. Auf einer höheren Ebene ist die SMB-Protokollsammlung relativ einfach. Sie enthält Befehle für alle Datei- und Druck-Operationen, die Sie auf einer lokalen Festplatte oder einem lokalen Drucker ausführen könnten: ● ● ● ● ●
Öffnen und Schließen von Dateien Erzeugen und Löschen von Dateien und Verzeichnissen Lesen und Schreiben von Dateien Suchen nach Dateien Ein- und Aussortieren von Dateien in eine Druckwarteschlange (Spool)
Jede Operation kann in Form einer SMB-Nachricht kodiert und zu bzw. von einem Server übermittelt werden. Der Originalname »SMB« stammt von der Art und Weise, in der die Befehle formatiert sind: Es handelt sich um Versionen der Datenstrukturen für die normalen DOSSystemaufrufe oder Server Message Blocks, die für die Übertragung an einen anderen Computer im Netzwerk umgestaltet wurden.
Das SMB-Format Richard Sharpe vom Samba-Team definiert SMB als ein Request-Response-Protokoll (Anforderung/Antwort-Protokoll).4 Im Prinzip bedeutet dies, dass ein Client eine SMBAnforderung an einen Server sendet. Der Server übermittelt dann eine SMB-Antwort an den Client. Es gibt nur einen einzigen, selten auftretenden Fall, in dem ein Server eine Nachricht sendet, die keine Antwort an einen Client darstellt. Eine SMB-Nachricht ist nicht so kompliziert, wie Sie vielleicht glauben. Schauen wir uns die interne Struktur einer solchen Nachricht einmal genauer an. Sie kann in zwei Teile unterteilt werden: den Header, der eine feste Größe hat, und den Befehls-String, dessen Größe je nach dem Inhalt der Nachricht deutlich variieren kann. Das SMB-Header-Format
Tabelle 1-6 zeigt das Format eines SMB-Headers. Das COM-Feld kennzeichnet den ausgeführten Befehl. SMB-Befehle müssen nicht unbedingt alle Felder des SMB-Headers verwenden. Wenn beispielsweise ein Client das erste Mal versucht, eine Verbindung zu einem Server herzustellen, besitzt er nicht einmal einen TID-Wert (Tree Identifier) - dieser Wert wird nach einem erfolgreichen Verbindungsaufbau zugeordnet -, daher wird in das entsprechende Header-Feld keine TID eingetragen. Andere Felder können bei Nichtbenutzung mit Nullen aufgefüllt werden. Die SMB-Header-Felder sind in Tabelle 1-6 aufgeführt.
Tabelle 1-6 SMB-Header-Felder Feld
Größe (Bytes)
Beschreibung
0xFF 'SMB' 1
Protokollkennzeichnung
COM
1
Befehlscode, von 0x00 bis 0xFF
RCLS
1
Fehlerklasse
REH
1
Reserviert
ERR
2
Fehlercode
REB
1
Reserviert
RES
14
Reserviert
TID
2
TID; eine eindeutige ID für eine Ressource, die vom Client benutzt wird
PID
2
Prozess-ID des Anrufers
UID
2
Benutzer-ID
MID
2
Multiplex-ID; wird verwendet, um Anfragen innerhalb eines Prozesses zu leiten
Das SMB-Befehlsformat Unmittelbar hinter dem Header steht eine variable Anzahl von Bytes, die einen SMB-Befehl oder eine SMB-Antwort bilden. Jeder Befehl, wie etwa Open File (COM-Feld-ID: SMBopen) oder Get Print Queue (SMBsplretq ), besitzt seine eigene Gruppe von Parametern und Daten. Wie die SMB-Header-Felder müssen auch die Befehlsfelder nicht unbedingt alle ausgefüllt sein - je nachdem, um welchen Befehl es sich handelt. So setzt beispielsweise der Befehl Get Server Attributes (SMBdskattr) die Felder WCT und BCC auf null. Die Felder des Befehlssegments werden in Tabelle 1-7 dargestellt.
Tabelle 1-7 Inhalt eines SMB-Befehls Feld
Größe (Bytes)
Beschreibung
WCT
1
Wortzähler
VWV
Variable
Parameterwörter (Größe durch WCT vorgegeben)
BCC
2
Parameter-Byte-Zähler
DATA Variable
Daten (Größe durch BCC vorgegeben)
Machen Sie sich keine Sorgen, falls Sie nicht jedes Feld verstehen - dies ist für die Benutzung von Samba auf Administratorebene nicht notwendig. Allerdings sind sie für das Auswerten von Systemmeldungen ganz nützlich. Weiter hinten in diesem Abschnitt werden wir Ihnen einige der gebräuchlicheren SMB-Meldungen zeigen, die Clients und Server mit Hilfe einer angepassten Version von tcpdump versenden. (Falls Sie einen SMB-Sniffer mit einer grafischen Oberfläche bevorzugen, versuchen Sie es einmal mit Ethereal, der die GTK-Bibliotheken verwendet. Unter http://www.ethereal.com finden Sie nähere Informationen über dieses Werkzeug.)
Weitere Informationen über die einzelnen Befehle im SMB-Protokoll finden Sie in der CIFS Technical Reference unter http://www.snia.org/ tech_activities/ CIFS. SMB-Variationen Das SMB-Protokoll wurde seit seiner Einführung mehrere Male um neue Befehle erweitert. Jede neue Version ist abwärts kompatibel zu den vorangegangenen Versionen. Dadurch ist es möglich, in einem LAN Clients und Server zu betreiben, die gleichzeitig unterschiedliche Versionen des SMB-Protokolls benutzen. Tabelle 1-8 stellt die wichtigsten Versionen des SMB-Protokolls vor. Innerhalb jedes »Dialekts« von SMB gibt es viele Unterversionen, die Befehle enthalten, die wiederum bestimmte Releases wichtiger Betriebssysteme unterstützen. Der ID-String in Spalte 2 wird von Clients und Servern verwendet, um festzustellen, auf welcher Ebene des Protokolls sie miteinander kommunizieren werden.
Tabelle 1-8 SMB-Protokolldialekte Protokollname
ID-String
Verwendet durch
Core
PC NETWORK PROGRAM 1.0
Core Plus
MICROSOFT NETWORKS 1.03
LAN Manager 1.0
LANMAN1.0
LAN Manager 2.0
LM1.2X002
LAN Manager 2.1
LANMAN2.1
NT LAN Manager 1.0
NT LM 0.12
Windows NT 4.0
Sambas NT LM 0.12
Samba
Samba
Common Internet File System CIFS 1.0
Windows 2000/XP
Samba implementiert die Spezifikation NT LM 0.12 für NT LAN Manager 1.0. Sie ist abwärts
kompatibel mit all den anderen SMB-Varianten. Die CIFS-Spezifikation ist in Wirklichkeit LAN Manager 0.12 mit einigen speziellen Ergänzungen.
SMB-Clients und -Server Wie bereits erwähnt, handelt es sich bei SMB um ein Client/Server-Protokoll. Im Wortsinn bedeutet dies, dass ein Client eine Anforderung an einen Server sendet, der auf die Anforderung reagiert und eine Antwort zurückschickt. Die Rollen von Client und Server können allerdings oft vertauscht werden, manchmal sogar innerhalb einer einzigen SMB-Sitzung. Betrachten Sie zum Beispiel die beiden Windows 95/98/Me-Computer in Abbildung 1-11. Der Rechner mit dem Namen maya gibt einen Drucker im Netzwerk frei, und der Rechner mit dem Namen toltec hat ein Festplattenverzeichnis freigegeben. Beim Zugriff auf das Netzlaufwerk von toltec übernimmt maya die Rolle des Clients. Führt maya dagegen einen Druckjob für toltec aus, ist er in der Rolle des Servers.
Abbildung 1-11 Zwei Computer, die Ressourcen freigeben
Dadurch ergibt sich ein wichtiger Punkt in der Samba-Terminologie: ● ● ●
Ein Server ist ein Computer, der eine Ressource freigibt. Ein Client ist ein Computer, der diese Ressource nutzen möchte. Ein Computer kann zu einem bestimmten Zeitpunkt ein Client, ein Server, beides oder keines von beiden sein.
Bei Microsoft Windows-Produkten ist sowohl der SMB-Client als auch der SMB-Server in das Betriebssystem integriert. Oft kommt es in einem normalen Netzwerk vor, dass Windows zu einem bestimmten Zeitpunkt als Server, als Client, in beiden Rollen oder als keiner von beiden agiert. Samba wurde zwar vorrangig dafür entwickelt, als Server zu fungieren, es gibt jedoch auch Möglichkeiten, es selbst und die mit ihm verbundene Software als SMB-Client agieren zu lassen. Es ist sogar möglich, ein Unix-System so einzurichten, dass es als SMB-Client und nicht als Server arbeitet. In Kapitel 5 finden Sie weitere Informationen zu diesem Thema.
Eine einfache SMB-Verbindung Client und Server müssen drei Schritte ausführen, um eine Verbindung zu einer Ressource aufzubauen: 1. Eine NetBIOS-Sitzung beginnen. 2. Die Protokollvariante aushandeln. 3. Die Sitzungsparameter setzen und eine Verbindung zu einer Ressource herstellen. Wir werden jeden Schritt durch die Augen eines nützlichen Werkzeugs betrachten, das wir bereits erwähnten: das modifizierte tcpdump, das auf der Samba-Website zur Verfügung steht.
Sie können das Programm tcpdump von http://www.samba.org aus dem Verzeichnis samba/ftp/tcpdump-smb herunterladen; die neueste Version war beim Schreiben dieses Buches die Version 3.7.2. Benutzen Sie dieses Programm genau wie das normale tcpdump-Programm, fügen Sie jedoch die Option -s 1500 hinzu, um sicherzugehen, dass Sie das ganze Paket und nicht nur die ersten paar Bytes erhalten.
Eine NetBIOS-Sitzung beginnen Wenn ein Benutzer zum ersten Mal die Anforderung für den Zugriff auf ein Netzlaufwerk ausgibt oder einen Druckjob an einen entfernten Drucker sendet, sorgt NetBIOS dafür, dass eine Verbindung auf der Sitzungsschicht aufgebaut wird. Das Ergebnis ist ein bidirektionaler Kanal zwischen dem Client und dem Server. Client und Server benötigen nur zwei Nachrichten, um diese Verbindung zu etablieren. Sie sehen dies im folgenden Request-Response-Beispiel, das von tcpdump aufgezeichnet wurde. Zuerst sendet der Client eine Anforderung, um eine Sitzung zu öffnen. tcpdump gibt Folgendes aus: >>> NBT Packet NBT Session Request Flags=0x81000044 Destination=TOLTEC
NameType=0x20 (Server)
Source=MAYA
NameType=0x00 (Workstation)
Dann antwortet der Server und sichert dem Client eine Sitzung zu: >>> NBT Packet NBT Session Granted Flags=0x82000000
Nun gibt es einen offenen Kanal zwischen dem Client und dem Server.
Die Protokollvariante aushandeln Als Nächstes sendet der Client eine Nachricht an den Server, um ein SMB-Protokoll auszuhandeln. Wie bereits erwähnt, setzt der Client sein TID-Feld (Tree Identifier) auf null, weil er noch nicht weiß, welche TID er benutzen soll. Ein Tree Identifier ist eine Zahl, die eine Verbindung zu einer Freigabe auf einem Server repräsentiert. Der Befehl in der Nachricht lautet SMBnegprot, das ist eine Anforderung zur Aushandlung einer Protokollvariante, die während der gesamten Sitzung verwendet werden soll. Beachten Sie, dass der Client dem Server eine Liste aller Varianten schickt, die er versteht, und nicht umgekehrt:
>>> NBT Packet NBT Session Packet Flags=0x0 Length=154
SMB PACKET: SMBnegprot (REQUEST) SMB Command
=
0x72
Error class
=
0x0
Error code
=
0
Flags1
=
0x0
Flags2
=
0x0
Tree ID
=
0
Proc ID
=
5315
UID
=
0
MID
=
257
Word Count
=
0
Dialect=PC NETWORK PROGRAM 1.0 Dialect=MICROSOFT NETWORKS 3.0 Dialect=DOS LM1.2X002 Dialect=DOS LANMAN2.1 Dialect=Windows for Workgroups 3.1a Dialect=NT LM 0.12
Der Server antwortet auf die SMBnegprot-Anforderung mit einem Index (bei dem der Zähler bei 0 beginnt) in die Liste der Varianten, die der Client anbietet, oder dem Wert 0xFF, falls keine der Protokollvarianten akzeptabel ist: >>> NBT Packet NBT Session Packet Flags=0x0 Length=84
SMB PACKET: SMBnegprot (REPLY) SMB Command
=
0x72
Error class
=
0x0
Error code
=
0
Flags1
=
0x80
Flags2
=
0x1
Tree ID
=
0
Proc ID
=
5315
UID
=
0
MID
=
257
Word Count
=
17
NT1 Protocol DialectIndex=5 [...]
In diesem Beispiel antwortet der Server mit dem Wert 5, der angibt, dass für den Rest der Sitzung der NT LM 0.12-Dialekt verwendet werden wird.
Setzen der Sitzungs- und Anmeldeparameter Der nächste Schritt besteht darin, die Sitzungs- und Anmeldeparameter für die Sitzung zu übermitteln. Dies erledigen Sie mit dem Befehl SMBSesssetupX. Zu den Parametern gehören unter anderem: ● ● ● ●
der Account-Name und das Kennwort (falls es eines gibt) der Arbeitsgruppenname die maximale Größe der Daten, die übertragen werden können die Anzahl der Anforderungen, die gleichzeitig in der Warteschlange vorliegen können
Die Ausgabe von tcpdump sieht folgendermaßen aus: >>> NBT Packet NBT Session Packet Flags=0x0 Length=150
SMB PACKET: SMBsesssetupX (REQUEST) SMB Command
=
0x73
Error class
=
0x0
Error code
=
0
Flags1
=
0x10
Flags2
=
0x0
Tree ID
=
0
Proc ID
=
5315
UID
=
1
MID
=
257
Word Count
=
13
Com2=0x75 Res1=0x0 Off2=120 MaxBuffer=2920 MaxMpx=50 VcNumber=0 SessionKey=0x1380 CaseInsensitivePasswordLength=24 CaseSensitivePasswordLength=0 Res=0x0 Capabilities=0x1 Pass1&Pass2&Account&Domain&OS&LanMan= JAY METRAN Windows 4.0 Windows 4.0
SMB PACKET: SMBtconX (REQUEST) (CHAINED) smbvwv[]= Com2=0xFF Off2=0 Flags=0x2 PassLen=1 Passwd&Path&Device= smb_bcc=23 smb_buf[]=\\TOLTEC\SPIRIT
In diesem Beispiel erlaubt es der Befehl zum Einrichten der Sitzung SMBsesssetupX, dass ein zusätzlicher SMB-Befehl an ihn angehängt wird (dies erkennt man an dem Buchstaben X am Ende des Befehlsnamens). Der hexadezimale Code des zweiten Befehls wird im Com2-Feld
angegeben. Hier lautet der Befehl 0x75, das ist der Befehl SMBtconX (Tree Connect and X). Die Nachricht SMBtconX sucht nach dem Namen der Ressource im smb_buf-Puffer. In diesem Beispiel enthält smb_buf den String \\TOLTEC\SPIRIT, also den vollständigen Pfadnamen zu einem freigegebenen Verzeichnis auf toltec. Durch die Benutzung solcher »and X«-Befehle werden die einzelnen Transaktionen beschleunigt, da der Server nicht darauf warten muss, dass der Client eine zweite Anforderung stellt. Beachten Sie, dass die TID immer noch null ist. Schließlich liefert der Server eine TID an den Client zurück, wodurch angezeigt wird, dass der Zugriff des Benutzers autorisiert wurde und die Ressource benutzt werden kann: >>> NBT Packet NBT Session Packet Flags=0x0 Length=85
SMB PACKET: SMBsesssetupX (REPLY) SMB Command
=
0x73
Error class
=
0x0
Error code
=
0
Flags1
=
0x80
Flags2
=
0x1
Tree ID
=
1
Proc ID
=
5315
UID
=
100
MID
=
257
Word Count
=
3
Com2=0x75 Off2=68 Action=0x1 [000] Unix Samba 2.2.6 [010] METRAN
SMB PACKET: SMBtconX (REPLY) (CHAINED) smbvwv[]= Com2=0xFF Off2=0
smbbuf[]= ServiceType=A:
Das Feld ServiceType wurde auf »A« gesetzt. Dies bedeutet, dass es sich um einen Dateidienst handelt. Verfügbare Diensttypen sind: ● ● ● ●
»A« für eine Festplatte oder Datei »LPT1« für eine »gespoolte« Ausgabe »COMM« für direkt angeschlossene Drucker oder Modems »IPC« für eine benannte Pipe
Nachdem eine TID zugewiesen wurde, kann der Client diese als Handle benutzen, um alle Operationen auszuführen, die er auch auf einem lokalen Laufwerk ausführen würde. Er kann Dateien öffnen, lesen und schreiben, sie löschen, neue Dateien erzeugen, nach Dateinamen suchen und so weiter.
Windows-Arbeitsgruppen und -Domänen Bisher haben wir die grundlegende SMB-Technik behandelt. Gäbe es in Ihrem Netzwerk lediglich einfache MS-DOS-Clients, wäre dies völlig ausreichend für Sie. Wir gehen aber davon aus, dass Sie Windows-Clients, vor allem neueren Datums, unterstützen wollen; deshalb wollen wir als Nächstes die Microsoft-Erweiterungen für den SMB-Netzwerkbetrieb beschreiben - das heißt Windows-Arbeitsgruppen und Windows-Domänen.
Windows-Arbeitsgruppen Windows-Arbeitsgruppen sind den bereits beschriebenen SMB-Gruppen sehr ähnlich. Sie müssen nur einige zusätzliche Dinge wissen. Durchsuchen Das Durchsuchen (Browsing) bezeichnet den Vorgang des Auffindens anderer Computer und freigegebener Ressourcen im Windows-Netzwerk. Beachten Sie, dass es keine Verbindung zu einem Webbrowser gibt, abgesehen vom allgemeinen Konzept des »Entdeckens, was es gibt«. Andererseits ähnelt das Durchsuchen des Windows-Netzwerks dem Durchsuchen des Webs dahingehend, dass sich Dinge ohne Warnung ändern können. Bevor es die Möglichkeit zum Durchsuchen des Netzwerks gab, mussten Benutzer den Namen des Computers wissen, mit dem sie eine Verbindung aufnehmen wollten, und manuell einen UNCPfad wie den folgenden in eine Anwendung oder einen Datei-Manager eingeben, um auf Ressourcen zuzugreifen: \\toltec\spirit\
Das Durchsuchen ist bedeutend bequemer. Sie können den Inhalt eines Netzwerks auf einem Windows-Client mit Hilfe des grafischen Mittels der Netzwerkumgebung5 untersuchen. In einem SMB-Netzwerk werden Ihnen zwei Arten des Durchsuchens begegnen: ● ●
Durchsuchen einer Liste von Computern und freigegebenen Ressourcen Durchsuchen der freigegebenen Ressourcen eines bestimmten Computers
Schauen wir uns zunächst das erste Verfahren an. In jedem LAN (oder Subnetz) mit einer Windows-Arbeitsgruppe oder -Domäne ist einer der Computer dafür verantwortlich, die Liste der Computer zu verwalten, die gerade über das Netzwerk erreichbar sind. Dieser Computer wird
Lokaler Hauptsuchdienst (Local Master Browser; LMB) genannt, die von ihm verwaltete Liste heißt Suchliste (Browse List). Computer in einem Subnetz verwenden die Suchliste, um den Netzwerkverkehr während des Durchsuchens zu verringern. Damit nicht jeder Computer dynamisch eine Liste der verfügbaren Computer erstellen muss, können die Computer einfach den lokalen Hauptsuchdienst befragen, der ihnen eine vollständige und aktuelle Liste zurückliefert. Um die Ressourcen eines Computers zu durchsuchen, muss der Benutzer sich mit diesem Computer verbinden; die bereitgestellten Ressourcen sind nicht in der Suchliste enthalten. Sie gelangen an die Ressourcenliste eines Computers, indem Sie auf sein Symbol in der Netzwerkumgebung doppelklicken. Wie zu Beginn dieses Kapitels beschrieben, antwortet der Computer mit der Liste der freigegebenen Ressourcen, sofern der Benutzer sich erfolgreich angemeldet hat. Jeder Server in einer Windows-Arbeitsgruppe muss seine Anwesenheit dem lokalen Hauptsuchdienst ankündigen, nachdem er seinen NetBIOS-Namen erfolgreich registriert hat. Zudem muss er sich (zumindest theoretisch) beim lokalen Hauptsuchdienst abmelden, wenn er herunterfährt oder aus anderen Gründen die Arbeitsgruppe verlässt. Es liegt in der Verantwortung des lokalen Hauptsuchdienstes, die gemeldeten Computernamen zu speichern.
Die Windows-Netzwerkumgebung kann sich merkwürdig verhalten: Solange Sie einen Computer nicht zum Durchsuchen auswählen, kann das Fenster Netzwerkumgebung veraltete Daten anzeigen. Es kann also abgestürzte oder ausgeschaltete Computer zeigen, oder es können Namen von Computern fehlen, die bereits erfolgreich registriert sind. Kurz gesagt, erst wenn Sie einen Server ausgewählt und eine Verbindung zu ihm hergestellt haben, können Sie sicher sein, dass die Freigaben und Drucker tatsächlich im Netzwerk verfügbar sind. Im Gegensatz zu den Rollen, die wir bereits beschrieben haben, kann fast jedes WindowsSystem (einschließlich Windows for Workgroups sowie Windows 95/98/Me und NT/2000/XP) als lokaler Hauptsuchdienst fungieren. Der lokale Hauptsuchdienst kann einen oder mehrere Sicherungssuchdienste im lokalen Subnetz besitzen, die seine Aufgabe übernehmen, falls er ausfällt oder unerreichbar wird. Um einen laufenden Betrieb zu gewährleisten, synchronisieren die lokalen Sicherungssuchdienste ihre Suchlisten häufig mit dem lokalen Hauptsuchdienst. Und so berechnen Sie die minimale Anzahl der Sicherungssuchdienste, die in einer Arbeitsgruppe eingesetzt werden: ●
●
●
Wenn sich bis zu 32 Windows NT/2000/XP-Workstations oder bis zu 16 Windows 95/98/ Me-Computer im Netzwerk befinden, setzt der lokale Hauptsuchdienst einen zusätzlichen Sicherungssuchdienst ein. Liegt die Anzahl der Windows NT/2000/XP-Workstations zwischen 33 und 64 oder die Anzahl der Windows 95/98/Me-Workstations zwischen 17 und 32, werden vom lokalen Hauptsuchdienst zwei Sicherungssuchdienste bestimmt. Für jede Gruppe von 32 NT/2000/XP-Workstations oder 16 Windows 95/98/Me-Computern über dieser Zahl setzt der lokale Hauptsuchdienst einen weiteren Sicherungssuchdienst ein.
Momentan gibt es keine obere Grenze für die Anzahl der Sicherungssuchdienste, die vom lokalen Hauptsuchdienst eingesetzt werden können. Suchdienstwahlen
Das Durchsuchen ist ein wichtiger Aspekt bei jeder Windows-Arbeitsgruppe. Aber nicht alles läuft in jedem Netzwerk perfekt. Nehmen wir an, dass der Windows-Rechner auf dem Schreibtisch des Geschäftsführers einer kleinen Firma der lokale Hauptsuchdienst ist - dies gilt nur so lange, bis er ihn herunterfährt, um die frei gewordene Steckdose für seinen Massagestuhl zu verwenden. Zu diesem Zeitpunkt kann die Windows NT-Workstation im Ersatzteillager damit einverstanden sein, den Suchdienst zu übernehmen. Aber dieser Computer führt gerade eine große, schlecht geschriebene Anwendung aus, die den Prozessor bis zum Äußersten belastet. Also muss das Durchsuchen sehr tolerant auf neu hinzukommende und abwandernde Computer reagieren. Da fast jeder Windows-Computer als Suchdienst fungieren kann, muss es eine Möglichkeit geben, den Computer zu bestimmen, der diese Aufgabe zu erledigen hat. Dieser Vorgang heißt Wahl (election). In fast jedes Windows-Betriebssystem ist ein Auswahlalgorithmus integriert, so dass die Windows-Computer gemeinsam entscheiden können, wer den lokalen Hauptsuchdienst und wer lokale Sicherungssuchdienste übernehmen soll. Eine solche Wahl kann jederzeit erzwungen werden. Lassen Sie uns annehmen, dass unser Geschäftsführer seine Massage beendet hat und den Server neu startet. Wenn der Server hochgefahren ist, kündigt er seine Anwesenheit an und erzwingt eine Wahl, über die festgestellt wird, ob der PC im Ersatzteillager weiterhin den Hauptsuchdienst ausführen soll. Wird eine Wahl durchgeführt, sendet jeder Computer mittels Datagrammen Angaben über sich selbst an das Netzwerk. Zu diesen Angaben gehören: ● ● ● ●
die Version des verwendeten Auswahlprotokolls das Betriebssystem des Computers die Zeitspanne, in der der Client im Netzwerk war der Hostname des Clients
Diese Werte legen fest, welcher Computer den höheren Rang besitzt und deshalb den lokalen Hauptsuchdienst ausführen wird. (Kapitel 7 beschreibt diesen Vorgang genauer.) Die Architektur, die dies gewährleisten soll, ist nicht gerade elegant gestaltet und birgt überdies Sicherheitsprobleme. Während das Durchsuchen einer Domäne in die Domänensicherheit integriert werden kann, berücksichtigt der Algorithmus nicht, welche Computer Suchdienste übernehmen. Daher ist es jedem Computer, der einen Suchdienst ausführt, möglich, sich als Teilnehmer bei Suchdienstwahlen zu registrieren und (nach dem Gewinnen einer Wahl) die Suchliste zu verändern. Nichtsdestotrotz ist das Durchsuchen eines der Schlüsselmerkmale von Windows-Netzwerken, und die Erfordernisse der Abwärtskompatibilität stellen sicher, dass dies noch mehrere Jahre lang so bleibt. Windows 95/98/Me-Authentifizierung Wenn mit Windows 95/98/Me in einer Windows-Arbeitsgruppe gearbeitet wird, können drei Arten von Kennwörtern auftreten: ● ● ●
ein Windows-Kennwort ein Windows-Netzwerkkennwort ein Kennwort für jede freigegebene Ressource, die mit Kennwortschutz ausgestattet wurde
Die Funktionsweise des Windows-Kennworts kann bei Unix-Systemadministratoren Verwirrung und Kopfschütteln auslösen. Das Kennwort dient nicht dazu, nicht-autorisierten Benutzern die Benutzung des Computers zu verwehren. (Falls Sie das nicht glauben, klicken Sie einfach einmal den Abbrechen-Button und warten, was passiert!) Stattdessen wird das Windows-Kennwort dazu verwendet, den Zugang zu einer Datei zu erlangen, die die Kennwörter für das WindowsNetzwerk und die Netzwerkressource enthält. Für jeden im System registrierten Benutzer gibt es eine solche Datei. Diese befindet sich im Verzeichnis C:\Windows. Ihr Name besteht aus dem Namen des jeweiligen Benutzer-Accounts, gefolgt von der Erweiterung .pwl. Lautet beispielsweise der Name des Benutzer-Accounts »sarah«, ist die Datei unter C:\Windows\sarah. pwl zu finden. Diese Datei ist mit dem Windows-Kennwort verschlüsselt.
Als Sicherheitsmaßnahme könnten Sie auf Windows 95/98/Me-Clients nach »falschen« .pwl-Dateien suchen, die angelegt worden sind, weil Benutzern bei der Anmeldung Fehler unterlaufen sind. Eine .pwl-Datei lässt sich leicht knacken und enthält möglicherweise gültige Kennwörter für Samba-Accounts und Netzwerkfreigaben. Beim ersten Zugriff auf das Netzwerk versucht Windows, das Windows-Kennwort als Kennwort für das Windows-Netzwerk zu verwenden. Ist dies erfolgreich, wird der Benutzer nicht nach zwei separaten Kennwörtern gefragt. Bei nachfolgenden Anmeldungen am Windows-System wird der Benutzer automatisch auch am Windows-Netzwerk angemeldet, wodurch sich die Angelegenheit für ihn deutlich vereinfacht. Auch freigegebenen Netzwerkressourcen in der Arbeitsgruppe können Kennwörter zugewiesen werden, um ihre Erreichbarkeit einzuschränken. Versucht ein Benutzer das erste Mal, auf die Ressource zuzugreifen, wird er nach deren Kennwort gefragt. Eine Checkbox in der KennwortDialogbox ermöglicht es dem Benutzer, das Kennwort in seine Kennwortliste aufzunehmen. Das ist die Standardeinstellung. Wird dies akzeptiert, speichert Windows das Kennwort in der .pwlDatei des Benutzers. Alle späteren Authentifizierungen bei dieser Ressource werden automatisch durch Windows erledigt. Sambas Ansatz für die Arbeitsgruppen-Authentifizierung ist ein wenig anders. Dies liegt daran, dass das Arbeitsgruppenmodell von Windows mit dem des Unix-Hosts gemischt wird, auf dem Samba läuft. In Kapitel 9 gehen wir darauf näher ein.
Windows NT-Domänen Das Peer-to-Peer-Netzwerkmodell der Arbeitsgruppen funktioniert ziemlich gut, solange die Anzahl der Computer im Netzwerk klein ist und es eine eng verwobene Gemeinschaft von Benutzern gibt. In größeren Netzwerken erweist sich jedoch die Einfachheit der Arbeitsgruppen als einschränkender Faktor. Arbeitsgruppen bieten nur die einfachste Stufe an Sicherheit, und da jede Ressource ihr eigenes Kennwort besitzen darf, ist es für die Benutzer unbequem, sich das Kennwort für jede einzelne Ressource in einem großen Netzwerk zu merken. Und auch wenn dies kein Problem darstellen würde, finden es viele Leute frustrierend, ihren Arbeitsfluss zu unterbrechen, um jedes Mal ein Kennwort in eine Dialogbox einzugeben, wenn auf eine freigegebene Ressource im Netzwerk zugegriffen wird. Um die Ansprüche größerer Netzwerke zu befriedigen, führte Microsoft mit Windows NT 3.51 das Konzept der Domänen ein. Eine Windows NT-Domäne ist im Prinzip eine Arbeitsgruppe von SMBComputern, die ein zusätzliches Element besitzen: einen Server, der als Domänen-Controller fungiert (siehe Abbildung 1-12).
Abbildung 1-12 Eine einfache Windows-Domäne
Domänen-Controller Ein Domänen-Controller in einer Windows NT-Domäne funktioniert fast wie ein NIS-Server (Network Information Service) in einem Unix-Netzwerk. Das heißt, er verwaltet eine domänenweite Datenbank mit Benutzer- und Gruppeninformationen und führt verwandte Dienste aus. Die Aufgaben, für die ein Domänen-Controller verantwortlich ist, drehen sich hauptsächlich um Sicherheit, einschließlich der Authentifizierung, das heißt dem Vorgang des Gewährens oder Verweigerns des Zugriffs eines Benutzers auf die Ressourcen einer Domäne. Üblicherweise wird dies durch den Einsatz eines Benutzernamens und eines Kennworts erledigt. Der Dienst, der die Datenbank auf den Domänen-Controllern verwaltet, wird Security Account Manager (SAM) genannt. Das Windows NT-Sicherheitsmodell setzt Sicherheits-IDs (Security Identifier; SIDs) und Zugriffskontrolllisten (Access Control Lists; ACLs) ein. Sicherheits-IDs werden dazu verwendet, Objekte in der Domäne zu repräsentieren. Dazu gehören unter anderem Benutzer, Gruppen, Computer und Prozesse. SIDs werden üblicherweise in ASCII-Form als durch Bindestriche getrennte Felder geschrieben: S-1-5-21-1638239387-7675610646-9254035128-545
Der Teil der SID, der mit dem »S« beginnt und bis zum am weitesten rechts gelegenen Bindestrich führt, identifiziert eine Domäne. Die Zahl hinter dem ganz rechten Bindestrich wird relative ID (Relative Identifier; RID) genannt und ist eine eindeutige Nummer innerhalb der Domäne, die den Benutzer, die Gruppe, den Computer oder ein anderes Objekt kennzeichnet. Die RID ist analog zur Benutzer-ID (UID) oder Gruppen-ID (GID) auf einem Unix-System oder innerhalb einer NIS-Domäne. ACLs stellen die gleiche Funktionalität zur Verfügung wie die »rwx«-Dateizugriffsrechte bei UnixSystemen. Allerdings sind ACLs vielseitiger. Die Unix-Dateizugriffsrechte setzen nur die Rechte für den Eigentümer und die Gruppe, zu denen die Datei gehört, sowie für »andere«, das heißt alle anderen Benutzer. Windows NT/2000/XP-ACLs erlauben es, Zugriffsrechte individuell für eine beliebige Anzahl zufällig ausgewählter Benutzer und/oder Gruppen einzustellen. ACLs bestehen aus einem oder mehreren Zugriffskontrolleinträgen (Access Control Entries; ACEs), die jeweils eine SID und die damit verknüpften Zugriffsrechte enthalten. Bei einigen Unix-Varianten wurde die ACL-Unterstützung als Standardmerkmal hinzugefügt, für andere steht sie als Zusatzfunktion zur Verfügung. Samba unterstützt die Zuordnung von Windows- auf Unix-ACLs und umgekehrt. Dies wird in Kapitel 8 näher behandelt. Primärer Domänen-Controller und Backup-Domänen-Controller Sie haben bereits etwas über Haupt- und Sicherungssuchdienste erfahren. Das Konzept der Domänen-Controller ist ähnlich. Eine Domäne besitzt einen primären Domänen-Controller (PDC) und kann außerdem einen oder mehrere Backup-Domänen-Controller (Backup Domain Controller; BDC) besitzen. Fällt der PDC aus oder wird unerreichbar, werden seine Pflichten
automatisch von einem der BDCs übernommen. Die BDCs synchronisieren ihre SAM-Daten häufig mit dem PDC. Im Bedarfsfall kann einer von ihnen daher sofort damit beginnen, die Dienste des Domänen-Controllers zu übernehmen, ohne die Clients zu beeinträchtigen. Allerdings verfügen die BDCs nur über schreibgeschützte Kopien der SAM-Datenbank; sie können ihre Daten nur aktualisieren, indem sie sie mit einem PDC abgleichen. Ein Server in einer Windows-Domäne kann die SAM-Datenbank eines beliebigen PDC oder BDC verwenden, um einen Benutzer zu authentifizieren, der versucht, auf seine Ressourcen zuzugreifen und sich an der Domäne anzumelden. Alle aktuellen Windows-Versionen können sich als Clients an einer Domäne anmelden, um auf die Ressourcen des Domänen-Servers zuzugreifen. Die Systeme, die als Mitglieder der Domäne betrachtet werden, gehören einer etwas exklusiveren Kategorie an, die aus dem PDC und den BDCs sowie den Domänen-Member-Servern besteht. Das sind Systeme, die einer Domäne als Mitglieder beigetreten sind und den Domänen-Controllern bekannt sind, da sie einen Account in der SAM-Datenbank besitzen. Authentifizierung Wenn ein Benutzer sich an einer Windows-Domäne anmeldet, indem er einen Benutzernamen und ein Kennwort eingibt, wird durch den Client-Computer und einen Domänen-Controller ein sicheres Challenge-Response-Protokoll gestartet, um zu überprüfen, ob der Benutzername und das Kennwort gültig sind. Anschließend sendet der Domänen-Controller eine SID an den Client zurück, der diese verwendet, um ein Security Access Token (SAT) zu erzeugen, das nur für dieses System gilt und für die weitere Authentifizierung benutzt wird. In dieses Zugriffs-Token sind Informationen über den Benutzer kodiert, einschließlich des Benutzernamens, der Gruppe und der Rechte, die dieser Benutzer innerhalb der Domäne besitzt. Nun ist der Benutzer an der Domäne angemeldet. Versucht der Client danach, auf eine freigegebene Ressource innerhalb der Domäne zuzugreifen, tritt das Client-System in einen sicheren Challenge-Response-Austausch mit dem Server der Ressource ein. Der Server wiederum beginnt seinerseits eine sichere Challenge-ResponseKommunikation mit einem Domänen-Controller, um festzustellen, ob der Client gültig ist. (Tatsächlich geschieht Folgendes: Der Server nutzt Informationen, die er vom Client erhalten hat, um so zu tun, als sei er der Client, und sich bei dem Domänen-Controller zu authentifizieren. Wenn der Domänen-Controller die Daten ausgewertet hat, schickt er eine SID an den Server zurück, der diese einsetzt, um sein eigenes SAT für den Client zu erzeugen und im Namen des Clients den Zugriff auf seine lokale Ressource zu erlauben.) An dieser Stelle ist der Client für die Ressourcen auf dem Server authentifiziert und darf auf sie zugreifen. Der Server verwendet die SID im Zugriffs-Token, um festzustellen, welche Zugriffsrechte der Client besitzt, um die angeforderte Ressource zu nutzen und zu modifizieren. Dazu vergleicht er die Rechte mit den Einträgen in der ACL der Ressource. Diese Authentifizierungsmethode mag zwar überaus kompliziert erscheinen, allerdings erlaubt sie es Clients, sich zu authentifizieren, ohne Klartextkennwörter durch das Netzwerk zu schicken. Darüber hinaus ist sie bedeutend schwieriger zu knacken als die relativ schwache Arbeitsgruppensicherheit, die wir zuvor beschrieben haben. Namendienst mit WINS und DNS Der Windows Internet Name Service (WINS) ist Microsofts Implementierung eines NetBIOSName-Servers (NBNS). Als solcher hat WINS viele der Eigenschaften von NetBIOS übernommen. Zunächst ist der Namensraum »flach«. Sie können Ihren Computern also nur einfache Namen wie inca, mixtec oder navaho und Ihren Arbeitsgruppen Namen wie PERU, MEXICO oder USA geben. Außerdem ist WINS dynamisch: Wenn ein Client hochfährt, muss er seinen Hostnamen, seine Adresse und seine Arbeitsgruppe an den lokalen WINS-Server melden. Der WINS-Server behält diese Informationen, solange der Client seine WINS-Registrierung regelmäßig erneuert, womit er seine Anwesenheit im Netzwerk kundtut. Beachten Sie, dass WINS-Server nicht Arbeitsgruppen- oder domänenbezogen arbeiten. Sie können Informationen für mehrere Domänen und/oder Arbeitsgruppen enthalten, die in mehr als einem Subnetz existieren. Es ist möglich, mehrere WINS-Server so einzurichten, dass sie sich gegenseitig synchronisieren.
Damit können Einträge von Computern, die sich am Netzwerk an- oder abmelden, zwischen den WINS-Servern ausgetauscht werden. In der Theorie klingt das effizient, aber in der Praxis kann sich dieses Verfahren als schwerfällig erweisen, wenn Sie mehrere WINS-Server im Netzwerk einsetzen. Da WINS-Dienste mehrere Subnetze überbrücken können (Sie können die Adresse des WINS-Servers in jedem Client fest einstellen oder sie über DHCP beziehen), ist es häufig effektiver, für alle Windows-Clients denselben WINS-Server zu verwenden, unabhängig von der Anzahl der Windows-Domänen. Auf diese Weise gibt es nur einen autoritativen WINS-Server mit den richtigen Daten, anstatt dass mehrere WINS-Server ständig aushandeln müssen, welche Daten aktueller sind. Der momentan aktive WINS-Server wird auch als primärer WINS-Server bezeichnet. Sie können ebenfalls einen sekundären WINS-Server installieren, der die Aufgaben des primären WINSServers übernimmt, falls dieser ausfällt oder unerreichbar wird. Der primäre sowie alle anderen WINS-Server synchronisieren ihre Adressdatenbanken regelmäßig. In der Windows-Betriebssystemfamilie können Sie nur die Server-Ausgabe von Windows NT/2000 als WINS-Server einsetzen. Auch Samba 2.2 kann als primärer WINS-Server arbeiten, ist aber nicht in der Lage, seine Datenbank mit anderen WINS-Servern zu synchronisieren. Daher kann es nicht als sekundärer WINS-Server oder als primärer WINS-Server für einen sekundären WINS-Server mit Windows fungieren. Standardmäßig führt WINS den Namensdienst aus, obwohl Microsoft mit Windows NT 4 Server DNS eingeführt hat. Es ist kompatibel mit DNS, das auf praktisch jedem Unix-System Standard ist. Ein Unix-Server (wie etwa der Samba-Host) kann ebenfalls für DNS eingesetzt werden. Vertrauensbeziehungen Ein weiterer Aspekt von Windows NT-Domänen, der in Samba 2.2 noch nicht unterstützt wird, ist die Tatsache, dass es möglich ist, eine Vertrauensbeziehung zwischen Domänen einzurichten, die es Clients in einer Domäne erlaubt, auf die Ressourcen in einer anderen Domäne zuzugreifen, ohne eine weitere Authentifizierung zu durchlaufen. Das dabei befolgte Protokoll wird als Pass-Through Authentication bezeichnet. Die Zugangsdaten des Benutzers werden vom Client-System in der ersten Domäne an den Server in der zweiten Domäne übermittelt, der einen Domänen-Controller in der ersten (vertrauenswürdigen) Domäne konsultiert, um zu überprüfen, ob der Benutzer gültig ist, bevor er Zugang zur Ressource gewährt. Beachten Sie, dass sich die Verhaltensweisen einer Windows-Arbeitsgruppe und einer Windows NT-Domäne an vielen Stellen überschneiden. So sind die Haupt- und die Sicherungssuchdienste in einer Domäne immer PDC bzw. BDC. Wir wollen unsere Darstellung der Windows-Domäne so anpassen, dass sie einen lokalen Hauptsuchdienst sowie einen lokalen Sicherungssuchdienst enthält. Das Ergebnis sehen Sie in Abbildung 1-13.
Abbildung 1-13 Eine Windows-Domäne mit einem lokalen Hauptsuchdienst und einem lokalen Sicherungssuchdienst
Die Ähnlichkeit zwischen Arbeitsgruppen und NT-Domänen ist nicht zufällig. Das Konzept der Windows-Domänen kam erst mit der Einführung von Windows NT 3.5 auf. Windows-Domänen sollten dann abwärts kompatibel zu den Arbeitsgruppen bleiben, die es in Windows for Workgroups gab. Samba kann für Windows 95/98/Me- sowie für Windows NT/2000/XP-Clients als primärer Domänen-Controller (PDC) agieren, nicht jedoch als Backup-Domänen-Controller (BDC). Außerdem kann Samba als Domänen-Member-Server arbeiten. Das bedeutet, dass es einen Computer-Account in der Account-Datenbank des PDC besitzt und daher als Bestandteil der Domäne erkannt wird. Ein Domänen-Member-Server dient nicht zur Authentifizierung von Benutzern, die sich an der Domäne anmelden, führt aber Sicherheitsfunktionen (etwa Dateizugriffsrechte) für Domänen-Benutzer aus, die auf seine Ressourcen zugreifen.
Active Directory-Domänen Beginnend mit Windows 2000 hat Microsoft Active Directory eingeführt, das noch einen Schritt weiter geht als Windows NT-Domänen. Wir werden uns mit dem Thema Active Directory nicht näher befassen, da es doch sehr umfangreich ist. Samba 2.2 unterstützt Active Directory überhaupt nicht, und in Samba 3.0 beschränkt sich die Unterstützung darauf, dass es als Client agiert. Für den Moment sollten Sie sich lediglich merken, dass das Authentifizierungsmodell von Active Directory LDAP (Lightweight Directory Access Protocol) einsetzt und der Namensdienst über DNS und nicht über WINS zur Verfügung gestellt wird. Die Domänen in Active Directory können in einer hierarchischen Baumstruktur organisiert werden, in der jeder DomänenController als Peer arbeitet und nicht zwischen primären und Sicherheits-Controllern unterschieden wird wie in Windows NT-Domänen. Windows 2000/XP-Systeme können als einfache Arbeitsgruppen oder als Clients einer Windows NT-Domäne eingerichtet werden (die mit Samba arbeiten). Die Server-Editionen von Windows 2000 lassen sich so einrichten, dass sie Active Directory ausführen und aus Gründen der Abwärtskompatibilität Windows NT-Domänen unterstützen (Mixed Mode). In diesem Fall arbeitet Samba 2.2 mit Windows 2000-Servern auf die gleiche Weise wie mit Windows NT 4.0-Servern. Werden sie für den Native Mode eingerichtet, unterstützen Windows 2000-Server nur Active Directory. Selbst dann kann Samba 2.2 als Server in einer Domäne arbeiten, die von einem Windows 2000-Server im Native Mode verwaltet wird, indem der PDC-Emulationsmodus des Windows 2000-Servers eingesetzt wird. Samba 2.2 oder 3.0 dagegen können in einer Windows 2000 Active Directory-Domäne nicht als Domänen-Controller auftreten. Falls Sie mehr über Active Directory erfahren wollen, raten wir Ihnen, sich das Buch Windows 2000 Active Directory von O'Reilly zu kaufen.
Kann eine Windows-Arbeitsgruppe mehrere Subnetze umfassen? Ja, aber den meisten Menschen, die eine solche Konfiguration eingerichtet haben, hat dies einiges Kopfzerbrechen bereitet. Windows NT 3.5 oder Windows for Workgroups waren ursprünglich nicht für Umgebungen mit mehreren Subnetzen gedacht. Das Ergebnis ist, dass eine Windows-Domäne, die zwei oder mehr Subnetze umfasst, in Wirklichkeit aus zwei oder mehr notdürftig miteinander verbundenen Arbeitsgruppen besteht, die den gleichen Namen verwenden. Die gute Nachricht ist, dass Sie weiterhin einen primären Domänen-Controller verwenden können, um die Authentifizierung in allen Subnetzen zu gewährleisten. Die schlechte Nachricht ist, dass das Durchsuchen in diesem Fall eine komplizierte Angelegenheit ist. Wie bereits erwähnt, muss jedes Subnetz seinen eigenen lokalen Hauptsuchdienst besitzen. Umfasst eine Windows-Domäne mehrere Subnetze, muss der Administrator in jedem Subnetz einen der Computer zum Domänen-Hauptsuchdienst (Domain Master Browser; DMB) ernennen. Der Domänen-Hauptsuchdienst verwaltet eine Suchliste der gesamten Windows-Domäne. Der Computer erstellt diese Suchliste, indem er die Suchlisten der lokalen Hauptsuchdienste regelmäßig mit der Suchliste des Domänen-Hauptsuchdienstes synchronisiert. Nach dem Synchronisieren sollten daher die Suchlisten der lokalen Suchdienste und des DomänenHauptsuchdienstes identisch sein. Abbildung 1-14 verdeutlicht dies.
Abbildung 1-14 Eine Arbeitsgruppe, die mehrere Subnetze umfasst
Hört sich doch gut an? Nun, aus folgenden Gründen ist es nicht ganz das Nirwana: ●
●
Wenn ein primärer Domänen-Controller existiert, übernimmt er automatisch die Rolle des Domänen-Hauptsuchdienstes. Die beiden verwenden dank des Designs von Microsoft den gleichen NetBIOS-Ressourcentyp <1B> und können (leider) nicht voneinander getrennt werden. Windows 95/98/Me-Computer können nicht zum Domänen-Hauptsuchdienst werden oder gar mit ihm kommunizieren. Es ist daher notwendig, mindestens ein Windows NT/2000/XPSystem (oder einen Samba-Server) pro Subnetz einzusetzen, falls die Arbeitsgruppe aus mehreren Subnetzen besteht.
Die lokalen Hauptsuchdienste eines jeden Subnetzes verwalten weiterhin die Suchliste des Subnetzes, für das sie zuständig sind. Wenn also ein Computer eine Liste von Servern in seinem eigenen Subnetz sehen will, fragt er den lokalen Hauptsuchdienst dieses Subnetzes. Möchte ein Computer eine Liste mit Computern außerhalb seines Subnetzes erhalten, kann er ebenfalls nur so weit gehen wie der lokale Hauptsuchdienst. Das funktioniert, weil die autoritative Suchliste der lokalen Hauptsuchdienste mit der Liste des Domänen-Hauptsuchdienstes abgeglichen wird. Die Suchliste des Domänen-Hauptsuchdienstes wiederum wird aus den lokalen Hauptsuchdiensten aller Subnetze zusammengestellt. Dieser Vorgang heißt Suchlistenverteilung. Samba kann als Domänen-Hauptsuchdienst in einer Windows NT-Domäne dienen. Es kann auch als lokaler Hauptsuchdienst für ein Subnetz arbeiten, um seine Suchliste mit der des DomänenHauptsuchdienstes zu synchronisieren.
Was ist neu in Samba 2.2?
Mit Version 2.2 bietet Samba eine bessere Unterstützung für Windows-Netzwerke, einschließlich der Fähigkeit, die wichtigeren Aufgaben auszuführen, die für das Arbeiten in einer Windows NTDomäne notwendig sind. Darüber hinaus enthält Samba 2.2 einige Unterstützung für Techniken, die Microsoft in Windows 2000 eingeführt hat. Allerdings hat das Samba-Team die Unterstützung für Active Directory erst für Version 3.0 angekündigt.
PDC-Unterstützung für Windows 2000/XP-Clients Samba konnte schon zuvor als PDC arbeiten, um Windows 95/98/Me- und Windows NT 4Systeme zu authentifizieren. Diese Funktionalität wurde in Release 2.2 erweitert und umfasst nun auch Windows 2000 und Windows XP. Das heißt, nun ist es möglich, einen Samba-Server zu betreiben, der Domänen-Anmeldungen für ein Netzwerk aus Windows-Clients unterstützt, einschließlich der neuesten Releases von Microsoft. Als Ergebnis erhalten Sie ein sehr stabiles, leistungsfähiges Netzwerk mit größerer Sicherheit. Außerdem müssen Sie nicht für jeden Arbeitsplatz Windows-CALs von Microsoft erwerben.
Unterstützung für Microsoft Dfs Microsoft Dfs (Distributed file system; verteiltes Dateisystem) erlaubt die Zusammenfassung von freigegebenen Ressourcen, die über mehrere Server im Netzwerk verteilt sind. Für die Benutzer sieht es dann so aus, als würden diese Ressourcen in einem einzigen Verzeichnisbaum auf dem Server existieren. Diese Art der Organisation erleichtert den Benutzern das Leben ganz erheblich. Anstatt das Netzwerk auf der Suche nach der gewünschten Ressource durchwühlen zu müssen, können sie sich direkt zum Dfs-Server begeben und dort auf die Ressource zugreifen. Samba 2.2 bietet Unterstützung für Dfs, für diesen Zweck wird also nicht länger ein WindowsServer benötigt.
Unterstützung für das Drucken unter Windows NT/2000/XP Windows NT/2000/XP besitzt eine andere RPC-basierte (Remote Procedure Call) Druckerschnittstelle als Windows 95/98/Me. Bei Samba 2.2 wird die Windows NT/2000/ XPSchnittstelle unterstützt. Dazu hat das Samba-Team die Möglichkeit vorgesehen, den Druckertreiber automatisch vom Samba-Server herunterzuladen, während auf einem WindowsClient ein neuer Drucker angelegt wird.
Zugriffskontrolllisten Samba erlaubt nun auf seinem Unix-Host Zugriffskontrolllisten (Access Control Lists; ACLs) für Unix-Varianten, die diese unterstützen. Dazu gehören unter anderem Solaris 2.6, 7 und 8, Irix, AIX, Linux (entweder mit dem ACL-Patch für das ext2/ext3-Dateisystem von http://acl.bestbits. at oder beim Einsatz des XFS-Dateisystems) und FreeBSD (Version 5.0 und später). Werden ACLs unterstützt, übersetzt Samba zwischen Unix-ACLs und Windows NT/2000/XP-ACLs. Aus Sicht der Windows-Clients sieht der Samba-Host in diesem Fall mehr aus wie ein Windows NT/2000/XP-Server und verhält sich auch so.
Unterstützung für Werkzeuge zur Administration von Windows-Clients Windows enthält Werkzeuge, die von einem Client aus benutzt werden können, um freigegebene Ressourcen auf einem Windows-Server von außen zu verwalten. Samba 2.2 erlaubt außerdem das Arbeiten mit diesen Werkzeugen auf Freigaben auf dem Samba-Server.
Die Integration mit Winbind Winbind ist eine Einrichtung, die es Benutzern, deren Account-Informationen in einer WindowsDomänen-Datenbank gespeichert sind, erlaubt, sich an einem Unix-System zu authentifizieren. Das Ergebnis ist eine einheitliche Anmeldeumgebung, in der ein Benutzerzugang entweder auf dem Unix-System oder auf einem Windows NT/2000-Domänen-Controller vorgehalten werden kann. Dadurch wird die Account-Verwaltung auf großartige Weise unterstützt, da die Administratoren nun nicht mehr zwei Systeme synchronisiert halten müssen. Außerdem ist es
für Benutzer, deren Accounts in einer Windows-Domäne liegen, möglich, sich zu authentifizieren, wenn sie auf Samba-Freigaben zugreifen.
Unix-CIFS-Erweiterungen Die Unix-CIFS-Erweiterungen wurden bei Hewlett-Packard entwickelt und mit Samba 2.2.4 eingeführt. Sie erlauben es Samba-Servern, Unix-Dateisystemattribute, wie Links und Zugriffsrechte, zu unterstützen, wenn sie Dateien mit anderen Unix-Systemen gemeinsam nutzen. Samba kann dadurch als Alternative zu NFS (Network File Sharing) für das Filesharing zwischen Unix-Systemen genutzt werden. Als vorteilhaft beim Einsatz von Samba erweist es sich, dass Samba einzelne Benutzer authentifiziert, während NFS nur Clients authentifiziert (und zwar auf der Grundlage ihrer IP-Adresse, was ein ausgesprochen armseliges Sicherheitsmodell ist). Samba kann daher im Bereich Sicherheit Punkte sammeln und bietet darüber hinaus noch eine bessere Konfigurierbarkeit. In Kapitel 5 finden Sie nähere Informationen darüber, wie Sie Unix-Systeme als Samba-Clients betreiben.
Und mehr ... Wie üblich hat der Code eine Reihe von Verbesserungen erfahren, die sich auf Administratorebene nicht sofort oder offensichtlich zeigen. Samba funktioniert nun besser auf Systemen, die PAMs (Pluggable Authentication Modules) verwenden, und es gibt eine bessere Unterstützung für Profile. Sambas Unterstützung für opportunistische Sperren (Oplocks) wurde verbessert; es wird nun eine bessere Integration mit Server-terminierten NFS-Leases (momentan nur auf Irix und Linux) und mit der Abbildung von SMB-Sperren auf POSIX-Sperren in das lokale Dateisystem geboten (dies hängt von der Implementierung der POSIX-Sperren in den einzelnen Unix-Varianten ab). Und natürlich wurden eine Menge Fehler beseitigt.
Was ist neu in Samba 3.0? Das wichtigste Unterscheidungsmerkmal für Samba 3.0 besteht darin, dass es Unterstützung für die Kerberos 5-Authentifizierung und LDAP bietet, die beide notwendig sind, um als Clients in einer Active Directory-Domäne zu arbeiten. Ein weiteres neues Merkmal in Samba 3.0 ist die Unterstützung für Unicode, das den Einsatz unterschiedlicher Sprachen vereinfacht. Für spätere Releases von Version 3 plant das Samba-Team die Entwicklung einer Unterstützung der WINS-Replikation, wodurch es Samba möglich wird, als sekundärer WINS-Server oder als primärer WINS-Server mit sekundären Windows- oder Samba-WINS-Servern zu arbeiten. Weiterhin ist die Unterstützung für den Betrieb als Windows NT-BDC und die Unterstützung für Windows NT-Domänen-Vertrauensbeziehungen geplant.
Was leistet Samba? Wir wollen nun noch einmal zusammenfassen, was Samba leisten kann und an welchen Stellen ihm Beschränkungen auferlegt sind. In Tabelle 1-9 ist aufgeführt, welche Rollen Samba in einer Windows NT- oder Active Directory-Domäne oder in einer Windows-Arbeitsgruppe spielen kann und welche nicht. Viele der Windows-Domänen-Protokolle sind proprietär und wurden von Microsoft nicht dokumentiert; sie mussten daher vom Samba-Team rekonstruiert werden, bevor Samba sie unterstützen konnte. Bis Version 3.0 kann Samba in den meisten Rollen nicht als Sicherungssystem arbeiten und bietet keine vollständige Unterstützung für Active Directory.
Tabelle 1-9 Samba-Funktionen (bis Version 3.0) Funktion (Rolle) Datei-Server
Beherrscht Samba sie? Ja
Druck-Server
Ja
Microsoft-Dfs-Server
Ja
Primärer Domänen-Controller
Ja
Backup-Domänen-Controller
Nein
Active Directory-Domänen-Controller
Nein
Windows 95/98/Me-Authentifizierung
Ja
Windows NT/2000/XP-Authentifizierung Ja Lokaler Hauptsuchdienst
Ja
Lokaler Sicherungssuchdienst
Ja
Domänen-Hauptsuchdienst
Ja
Primärer WINS-Server
Ja
Sekundärer WINS-Server
Nein
Ein Überblick über die Samba-Distribution Wie bereits beschrieben, besteht Samba aus mehreren Programmen, die unterschiedliche, aber miteinander verknüpfte Aufgaben erfüllen. Diese Programme sind in Anhang C vollständig dokumentiert. An dieser Stelle wollen wir sie nur kurz vorstellen und beschreiben, wie sie zusammenarbeiten. Die meisten Programme der Samba-Distribution beziehen sich auf seine zwei Daemons. Schauen wir uns zunächst die Funktionen der Daemons genauer an: nmbd Der nmbd-Daemon ist ein einfacher Name-Server, der die Funktionalität eines WINS-Servers zur Verfügung stellt. Dieser Daemon wartet auf Name-Server-Anfragen und liefert bei einer Anfrage die entsprechenden IP-Adressen. Er stellt außerdem Suchlisten für die Netzwerkumgebung bereit und nimmt an Suchdienstwahlen teil. smbd Der smbd-Daemon verwaltet die freigegebenen Ressourcen zwischen dem Samba-Server und seinen Clients. Er stellt SMB-Clients in einem oder mehreren Netzwerken Datei-, Druckund Suchdienste zur Verfügung und verarbeitet alle Nachrichten, die zwischen dem SambaServer und den Clients ausgetauscht werden. Außerdem ist dieser Daemon für die Benutzerauthentifizierung, das Sperren von Ressourcen und für die Datenfreigabe über das SMB-Protokoll verantwortlich. Neu in Version 2.2 ist ein weiterer Daemon: winbindd Dieser Daemon wird zusammen mit dem Name Service Switch verwendet, um an Informationen über Benutzer und Gruppen eines Windows NT-Servers zu gelangen. Außerdem erlaubt er es Samba, Benutzer durch einen Windows NT/2000-Server zu autorisieren. Die Samba-Distribution enthält weiterhin einige Unix-Kommandozeilen-Programme: findsmb Ein Programm, das das lokale Netzwerk nach Computern durchsucht, die auf das SMBProtokoll antworten, und Informationen auf ihnen ausgibt.
make_smbcodepage Dieses Programm wird beim Arbeiten mit Sambas Internationalisierungsfunktionen verwendet. Es teilt Samba mit, wie in verschiedenen Zeichensätzen zwischen Groß- und Kleinschreibung umgeschaltet wird. make_unicodemap Ein weiteres Internationalisierungsprogramm, das zum Kompilieren von Unicode-MapDateien benutzt wird, die Samba einsetzt, um DOS-Codepages oder Unix-Zeichensätze in 16Bit-Unicode zu übersetzen. net Mit diesem neuen Programm, das in Samba 3.0 enthalten ist, können Administrationsaufgaben auf entfernten Servern erledigt werden. nmblookup Ein Programm, das NBT-Namens-Lookups ermöglicht, um bei einem vorgegebenen Computernamen die IP-Adresse eines Rechners zu ermitteln. pdbedit Ein neues Programm, das mit Samba 3.0 ausgeliefert wird und bei der Verwaltung von Benutzer-Accounts in SAM-Datenbanken hilft. rpcclient Mit diesem Programm können MS-RPC-Funktionen auf Windows-Clients ausgeführt werden. smbcacls Ein Programm, das verwendet wird, um ACLs auf Windows NT-Dateisystemen zu setzen oder anzuzeigen. smbclient Ein ftp-artiger Unix-Client für den Zugriff auf SMB-Freigaben. Der Befehl smbclient wird in Kapitel 5 näher behandelt. smbcontrol Ein einfaches Administrationswerkzeug, das Nachrichten an nmbd oder smbd sendet. smbgroupedit Ein Befehl, mit dem Zuordnungen zwischen Windows NT-Gruppen und Unix-Gruppen definiert werden können. Dieser Befehl ist neu in Samba 3.0. smbmnt Ein Hilfsprogramm, das zusammen mit smbmount verwendet wird. smbmount Ein Programm, das ein smbfs-Dateisystem mountet und es dadurch entfernten SMBFreigaben erlaubt, in das Dateisystem des Samba-Hosts gemountet zu werden. smbpasswd Ein Programm, das es einem Administrator erlaubt, die Kennwörter zu ändern, die von Samba verwendet werden. smbsh Ein Werkzeug, das ähnlich einer Kommando-Shell funktioniert, um den Zugriff auf ein entferntes SMB-Dateisystem zu erlauben und es Unix-Programmen zu ermöglichen, darauf zu arbeiten. Dieser Befehl wird in Kapitel 5 behandelt. smbspool Ein Druck-Spooling-Programm, das verwendet wird, um Dateien an entfernte Drucker zu senden, die in einem SMB-Netzwerk freigegeben sind. smbstatus Dieses Programm meldet den Zustand der aktiven Netzwerkverbindungen auf einem SambaServer. smbtar Ein Programm zum Sichern von Daten in Freigaben, ähnlich dem Unix-Befehl tar. smbumount Ein Programm zum Abmounten von smbfs-Dateisystemen, das zusammen mit smbmount eingesetzt wird. testparm Dieses einfache Programm prüft die Samba-Konfigurationsdatei. testprns Ein Programm, das testet, ob Drucker auf dem Samba-Host vom smbd-Daemon erkannt werden.
wbinfo Ein Dienstprogramm, das verwendet wird, um den winbindd-Daemon abzufragen. Jede wichtige neue Samba-Version wird vor ihrer Ankündigung ausführlich getestet. Wenn Probleme oder unerwünschte Nebenwirkungen auftreten, werden diese schnell beseitigt. Als wir diese Zeilen schrieben, war die neueste stabile Distribution Samba 2.2.6. Dieses Buch konzentriert sich auf die Funktionalität von Samba 2.2.6, weniger auf die älteren Versionen von Samba.
Woher bekomme ich Samba? Quell- und Binärdistributionen von Samba gibt es auf Mirror-Sites im Internet. Die HauptWebsite für Samba ist unter http://www.samba.org / zu finden. Von dort können Sie eine MirrorSite in Ihrer Nähe wählen. Die meisten Linux- und viele Unix-Hersteller bieten Binärpakete. Diese sind möglicherweise bequemer zu installieren und zu warten als die Quell- oder Binärpakete des Samba-Teams, da die Hersteller üblicherweise versuchen, ein Paket zu liefern, das den Eigenschaften ihres speziellen Produkts entgegenkommt. 1Sie können auch in der Netzwerkumgebung mit der rechten Maustaste auf die freigegebene Ressource klicken und den Menüpunkt Netzlaufwerk verbinden wählen. 2Seien
Sie davor gewarnt, dass viele Lizenzvereinbarungen für Endbenutzer es nicht gestatten, ein Programm auf einem Netzlaufwerk zu installieren, so dass mehrere Clients darauf zugreifen können. Prüfen Sie den der jeweiligen Software beigelegten Lizenzvertrag, um ganz sicherzugehen. 3Möglicherweise
finden Sie auch die Abkürzung NetBT, vor allem in Microsoft-Literatur.
4Unter
http://www.samba.org/cifs/docs/what-is-smb.html finden Sie Richards ausgezeichnete Zusammenfassung von SMB. 5Beachten Sie, dass sich die Netzwerkumgebung in den neueren Windows-Versionen Windows Me/2000/XP an einigen Stellen etwas anders verhält als in den älteren Versionen Windows 95/98/NT.
Copyright © 2003 by O'Reilly Verlag GmbH & Co.KG
Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David Collier-Brown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-89721-359-1 www.oreilly.de/catalog/samba2ger/ Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.
Kapitel 2 Samba auf einem Unix-System installieren Sie wissen jetzt, was Samba für Sie und Ihre Benutzer leisten kann. Nun ist es an der Zeit, Ihr Netzwerk einzurichten. Lassen Sie uns mit der Installation von Samba beginnen. Sowohl Samba tanzen als auch Samba installieren lernt man in kleinen Schritten. Dieses Kapitel hilft Ihnen, mit dem richtigen Fuß zu beginnen. Um es möglichst anschaulich zu gestalten, installieren wir Samba 2.2.6 auf einem LinuxSystem mit der Kernel-Version 2.4. Die Installationsschritte sind aber auf allen von Samba unterstützten Plattformen identisch.
In der Distribution enthaltene Versionen Samba ist so populär, dass es bei vielen Unix-Distributionen bereits installiert ist. Falls Sie sich für eine solche Version von Samba entscheiden, können Sie den größten Teil dieses Kapitels überfliegen oder ganz weglassen. Allerdings müssen Sie dann bei dieser Samba-Version sowie den Kompilierungsoptionen bleiben, die der Hersteller für Sie eingestellt hat. Diese Version von Samba kann niemals neuer sein als das Release des Betriebssystems. Sie werden also den neuesten Entwicklungen zwangsläufig immer hinterherhinken. Andererseits können Sie sich sicher sein, dass eine im Paket enthaltene Version korrekt installiert ist. Vermutlich müssen Sie nur einige einfache Veränderungen an der smb.conf-Datei vornehmen, um loslegen zu können. Samba ist inzwischen so gut, dass Sie wahrscheinlich nicht unbedingt die neueste Ausgabe brauchen, um Ihre grundlegenden Ansprüche zu befriedigen. Sie werden deshalb mit einer dem Betriebssystem beigelegten Version durchaus zufrieden sein. Falls Sie sich für diese Möglichkeit entscheiden, sollten Sie beachten, dass sich Ihre SambaDateien, einschließlich der sehr wichtigen smb.conf, an anderen Stellen befinden könnten, als wenn Sie Samba aus einer Binär- oder Quelldistribution installieren würden. Beispielsweise befinden sich bei den Red Hat-, Debian- und Mandrake-Linux-Distributionen die smb.conf und einige andere mit Samba im Zusammenhang stehende Dateien im Verzeichnis /etc/samba. Ist Samba auf Ihrem System bereits installiert, können Sie mit dem folgenden Befehl feststellen, um welche Version es sich handelt: $ smbd -V Version 2.2.6
(Falls das nicht funktioniert, steht smbd möglicherweise nicht im Suchpfad Ihrer Shell. Wenn es in Ihrer Unix-Variante die Befehle locate oder whereis gibt, benutzen Sie diese, um das smbd-Programm zu finden.) Sie könnten auch ein systemspezifisches Werkzeug verwenden, um ein Paketverwaltungsprogramm abzufragen. Bei Red Hat Linux geben Sie zum Beispiel den Befehl rpm, um die installierten Samba-Pakete zu ermitteln: $ rpm -qa | grep samba samba-client-2.0.8-1.7.1 samba-2.0.8-1.7.1 samba-common-2.0.8-1.7.1
Hier sehen Sie, dass es sich um Samba 2.0.8 handelt, aufgeteilt in drei RPM-Pakete (Red Hat Package Manager), im Bundle mit Red Hat 7.1. Haben Sie eine alte Version von Samba, könnten Sie dann zumindest beim Hersteller nach einer neueren Version fragen. Falls Sie sich ansonsten sicher sind, dass Sie aus einer Binär- oder Quelldistribution heraus installieren werden, können Sie die RPM-Pakete löschen: # rpm -e samba # rpm -e samba-client # rpm -e samba-common
Schauen Sie in die Dokumentation Ihres Systems, um die für Sie passende Methode zu ermitteln, falls Sie kein Red Hat Linux benutzen.
Binär oder Quelle? Für viele Unix-Plattformen gibt es auch vorkompilierte »binäre« Pakete. Diese Pakete enthalten Binaries für jedes Samba-Programm sowie die Standard-Samba-Dokumentation. Beachten Sie, dass Sie sich zwar eine Menge Zeit und Probleme ersparen, wenn Sie eine Binärdistribution installieren, aber auch einige Punkte bedenken sollten, bevor Sie entscheiden, ob Sie die Binärversion verwenden oder die Quelle selbst kompilieren: ●
●
Die Binärpakete können um ein oder zwei (möglicherweise sogar mehr) kleinere Releases hinter der neuesten Version der Software hinterherhinken. Dies gilt vor allem nach einer Reihe kleinerer Änderungen und für weniger verbreitete Plattformen. Vergleichen Sie die Release-Hinweise für die Quell- und Binärpakete, um sicherzugehen, dass es keine neuen Funktionen gibt, die Sie auf Ihrer Plattform brauchen. Falls Sie eine vorkompilierte Binärversion verwenden, die dynamisch verbunden ist, müssen Sie sicherstellen, dass Sie die korrekten, von den Programmen benötigten Bibliotheken besitzen. Verfügt Ihr System noch nicht über die erforderliche Version einer Bibliothek, müssen Sie unter Umständen eine neue Version installieren. In der README-Datei oder der make-Datei, die die Binärdistribution begleiten, sollten alle besonderen Erfordernisse aufgeführt sein.
Viele Systeme mit Shared Libraries enthalten ein nettes kleines Werkzeug namens ldd. Dieses Programm teilt Ihnen mit, welche Bibliotheken eine bestimmte Binärversion benötigt und welche Bibliotheken im System diesen Anforderungen genügen. Eine Prüfung des smbd-Programms auf unserer Testmaschine ergab beispielsweise Folgendes:
$ ldd smbd libdl.so.2 => /lib/libdl.so.2 (0x40026000) libnsl.so.1 => /lib/libnsl.so.1 (0x4002a000) libpam.so.0 => /lib/libpam.so.0 (0x40041000) libc.so.6 => /lib/libc.so.6 (0x40049000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Inkompatibilitäten zwischen Samba und speziellen Bibliotheken auf Ihrer Maschine sollten in der Dokumentation der Distribution hervorgehoben sein. ●
●
Ist Ihr vorkompiliertes Binary statisch verbunden, können ebenfalls Probleme auftreten. Es gab bereits Fälle, in denen die statisch verbundenen C-Bibliotheksaufrufe in SambaProgrammen nicht synchron mit dem Betriebssystemkern liefen, obwohl »dies eigentlich nicht passieren sollte«. Denken Sie daran, dass jede Binärdistribution voreingestellte Werte für die Zielplattform, wie Standardverzeichnisse und Konfigurationsoptionen, enthält. Prüfen Sie auch hier die Dokumentation und die make-Datei im Quellverzeichnis, um herauszufinden, welche Anweisungen und Variablen während der Kompilierung verwendet wurden. In einigen Fällen sind diese möglicherweise nicht für Ihre Situation geeignet.
Einige wenige Konfigurationsoptionen können Sie mit Kommandozeilen-Optionen zur Laufzeit statt bei der Kompilierung ändern. Wenn Ihre ausführbare Datei beispielsweise Protokoll-, Sperr- oder Statusdateien an die »falsche« Stelle (etwa nach /usr/local ) schreibt, können Sie dies ändern, ohne Samba neu kompilieren zu müssen. Ein beachtenswerter Punkt ist, dass die Samba-Quellen einen ANSI-C-Compiler benötigen. Verwendet Ihre Plattform einen Nicht-ANSI-Compiler, wie zum Beispiel den cc-Compiler bei SunOS Version 4, müssen Sie zuerst einen ANSI-konformen Compiler installieren, etwa gcc.1 Falls Sie sich nicht mit der Installation eines Compilers herumschlagen wollen, können Sie mit einer binären Distribution beginnen. Die größte Flexibilität und Kompatibilität erreichen Sie aber mit der Kompilierung der aktuellen Quelldateien. Eine typische Installation dauert ungefähr eine Stunde und umfasst das Herunterladen und Kompilieren der Quelldateien, das Einrichten der Konfigurationsdateien und das Testen des Servers. Hier ein Überblick über die einzelnen Schritte: 1. 2. 3. 4. 5. 6. 7. 8. 9.
Quell- oder Binärdateien herunterladen. Installationsdokumentation lesen. Eine make-Datei konfigurieren. Den Server und die Hilfsprogramme kompilieren. Die Server-Dateien installieren. Eine Samba-Konfigurationsdatei erstellen. Die Konfigurationsdatei testen. Die Samba-Daemons starten. Die Samba-Daemons testen.
Die Samba-Distribution herunterladen
Wenn Sie die neueste Version der Samba-Software herunterladen wollen, begeben Sie sich am besten zu http://www.samba.org. Sie werden auf dieser Seite Links zu diversen identischen Samba-Sites auf der ganzen Welt sehen, und zwar einerseits zu Informations- und andererseits zu Download-Sites. Wählen Sie eine Site in Ihrer Nähe, um eine optimale Übertragungsgeschwindigkeit zu erreichen. Die Standard-Sites von Samba enthalten neben der Dokumentation und Anleitungen Archive von Mailinglisten, Samba-Neuigkeiten und natürlich die Quelldateien sowie die binäre Distribution. Die Sites zum Herunterladen von Samba (auch F T P-Sites genannt) enthalten lediglich die Quelldateien und die binäre Distribution. Solange Sie keine bestimmte ältere Version von Samba oder eine binäre Distribution wünschen, laden Sie die aktuellen Quelldateien von der Ihnen am nächsten gelegenen Site herunter. Diese aktuelle Distribution hat grundsätzlich den Namen samba-latest.tar.gz
Bei Release 2.2.6 ist diese Datei ungefähr 5 MByte groß. Die Quelldistribution wurde mit tar archiviert und dann mit dem GNU-Programm gzip komprimiert. Zum Entpacken verschieben Sie die Datei in das Verzeichnis, in dem sich das Samba-Quellverzeichnis befinden soll. Wechseln Sie dann mit cd in dieses Verzeichnis und führen Sie folgenden Befehl aus: $ tar xvfz samba-latest.tar.gz
Falls Sie das GNU-Programm tar (das auch das Dekomprimieren erledigt) nicht besitzen, gehen Sie so vor: $ gunzip samba-latest.tar.gz $ tar xvf samba-latest.tar
In diesem Fall müssen Sie eventuell zuerst das GNU-Programm gunzip installieren. Der tarBefehl gibt während seiner Ausführung eine Liste der installierten Dateien aus.
Lesen Sie die Dokumentation Eigentlich sollte es eine Selbstverständlichkeit sein, zuerst die Dokumentation zu lesen, aber wie oft hat man ein Paket entpackt und anschließend blind getippt: $ configure; make; make install
um anschließend erst einmal eine Tasse Kaffee trinken zu gehen! Tun Sie sich den Gefallen und seien Sie dieses Mal ein bisschen sorgfältiger. Im obersten Verzeichnis, das Sie gerade installiert haben, gibt es eine Datei namens WHATSNEW.txt, die die neuesten Hinweise über diese Ausgabe der Software enthält. Falls Sie eine frühere Version aktualisieren, finden Sie hier wichtige Informationen über behobene Fehler oder Konfigurationsparameter, die hinzugefügt wurden oder nicht mehr unterstützt werden. Sowohl bei der Quell- als auch bei der Binärdistribution finden Sie im Verzeichnis docs zahlreiche Dokumente in verschiedenen Formaten. Eine Datei ist besonders wichtig:
docs/htmldocs/UNIX_INSTALL.html
Dies sind die offiziellen Anweisungen des Samba-Teams zur Installation von Samba auf einem Unix-System, die Sie neben unseren Hinweisen als weitere Hilfe nutzen können. Im Allgemeinen werden Sie die Dateien in den folgenden Verzeichnissen recht nützlich finden: docs/faq Dies sind die FAQ-Dateien (Frequently Asked Questions) von Samba. docs/htmldocs Hier gibt es die allgemeine Dokumentation im HTML-Format. docs/textdocs Hier finden Sie weitere Dokumentationen im einfachen Textformat. docs/manpages Hierum brauchen Sie sich nicht zu kümmern; während der Installation werden diese Dateien ebenfalls installiert, so dass Sie den Befehl man verwenden können, um sie zu lesen. Sie können jedoch mit Hilfe dieses Verzeichnisses ermitteln, welche Manpages zur Verfügung stehen.
Samba konfigurieren Samba konfiguriert sich selbst automatisch vor der Kompilierung. Dies reduziert zwar die Wahrscheinlichkeit rechnerspezifischer Probleme, aber möglicherweise wünschen Sie sich bestimmte Optionen, nachdem Samba installiert wurde. Die Quelldistribution von Samba 2.2 und darüber verfügt zunächst nicht über eine makeDatei. Stattdessen wird eine durch ein GNU-configure-Skript erzeugt, das sich im Verzeichnis samba-2.2.x /source/ befindet. Das configure-Skript kümmert sich um die rechnerspezifischen Belange beim Erstellen von Samba.
Bevor Sie das configure-Skript ausführen, müssen Sie sich unbedingt als root-Benutzer am System anmelden. Ansonsten erhalten Sie eine solche Warnung: configure: warning: running as non-root will disable some tests
Sie wollen jedoch nicht, dass beim Erzeugen der Samba-make-Datei Tests deaktiviert werden; dadurch könnten sich während des Kompilierens oder Ausführens von Samba auf Ihrem System Fehler einschleichen. Während der Ausführung gibt das configure-Skript Meldungen aus, die Ihnen mitteilen, was es tut. Die Ausgabe könnte außerdem Fehlermeldungen enthalten. Um sicherzugehen, dass Sie diese ausgesprochen wichtigen Fehlermeldungen auch sehen, schlagen wir Ihnen vor, die Standardausgabe von configure durch einen Filter zu schicken, um sie abzufangen und zu verhindern, dass sie ungesehen aus dem Bild verschwindet. Eine Methode besteht darin, den
Befehl more zu verwenden: # ./configure | more
Eine weitere Methode zeigen wir Ihnen gleich. Sie können zwar configure wie eben gezeigt ohne Optionen ausführen, aber vielleicht wollen Sie ja die Unterstützung weiterer Funktionen erreichen. Dazu geben Sie auf der Kommandozeile Optionen an: # ./configure --with-winbind
Dies konfiguriert die Samba-make-Datei so, dass die winbind-Authentifizierung unterstützt wird. Geben Sie folgenden Befehl ein, um eine vollständige Liste der Optionen zu erhalten: # ./configure --help
Jede Option aktiviert oder deaktiviert verschiedene Merkmale. Sie aktivieren üblicherweise eine Funktion, indem Sie die Option --with-funktion angeben. Die gewünschte Funktion wird dann kompiliert und installiert. Geben Sie dagegen eine Option --without-funktion an, wird die entsprechende Funktion deaktiviert. Eine vollständige Liste der Konfigurationsoptionen finden Sie in Anhang E. Hier an dieser Stelle wollen wir nur drei dieser Optionen herausstellen, da wir auf sie weiter hinten in diesem Buch noch näher eingehen: --with-msdfs Aktiviert die Unterstützung für Microsoft-Dfs (Distributed file system; verteiltes Dateisystem), wodurch verteilte Netzwerkressourcen in einem einzigen, leicht zu navigierenden Verzeichnisbaum zusammengefasst werden können. Siehe Kapitel 8. --with-smbwrapper Aktiviert die Unterstützung für den SMB-Wrapper. Dadurch wird Programmen, die auf dem Unix-Host laufen, der Zugriff auf freigegebene SMB-Ordner erlaubt, so als würde es sich bei diesen um Unix-Dateisysteme handeln. Wir empfehlen den Einsatz dieser Option. Siehe Kapitel 5. --with-smbmount Aktiviert die Unterstützung für smbmount. Dies erlaubt das Aufsetzen (Mounten) von freigegebenen SMB-Ordnern auf das Unix-Dateisystem. Zum Zeitpunkt der Entstehung dieses Buches wurde diese Funktion nur für Linux unterstützt. Dies wird ebenfalls in Kapitel 5 behandelt. Jede Option ist standardmäßig deaktiviert, und keine dieser Funktionen ist für Samba unentbehrlich. Sie könnten sie jedoch in Ihre Konfiguration aufnehmen (so wie wir es in unserem Beispiel auch tun), um sie zumindest in späteren Kapiteln einmal auszuprobieren. In Tabelle 2-1 sehen Sie darüber hinaus einige weitere Parameter, die Sie mit dem configureSkript angeben können, falls Sie Teile der Samba-Distribution an anderen Stellen ablegen wollen, beispielsweise um mehrere Festplatten oder Partitionen zu nutzen. Beachten Sie, dass die Standardwerte sich manchmal auf ein Präfix beziehen, das weiter vorn in der Tabelle angegeben ist.
Tabelle 2-1 Zusätzliche configure-Optionen Option
Bedeutung
Standardwert
--prefix=verzeichnis
Installiert architekturunabhängige Dateien im angegebenen Basisverzeichnis.
/usr/local/samba
--eprefix=verzeichnis
Installiert architekturbezogene Dateien im angegebenen Basisverzeichnis.
/usr/local/samba
--bindir=verzeichnis
Installiert vom Benutzer ausführbare Dateien im angegebenen Verzeichnis.
eprefix/bin
--sbindir=verzeichnis
Installiert vom Administrator ausführbare Dateien im angegebenen Verzeichnis.
eprefix/bin
--libexecdir=verzeichnis
Installiert ausführbare Programme im angegebenen Verzeichnis.
eprefix/libexec
--datadir=verzeichnis
Installiert schreibgeschützte architekturabhängige Daten im angegebenen Verzeichnis.
prefix/share
--libdir=verzeichnis
Installiert Programmbibliotheken im angegebenen Verzeichnis.
eprefix/lib
--includedir=verzeichnis
Installiert Paket-Include-Dateien im angegebenen Verzeichnis.
prefix/include
--infodir=verzeichnis
Installiert zusätzliche Informationsdateien im angegebenen Verzeichnis.
prefix/info
--mandir=verzeichnis
Installiert Manpages im angegebenen Verzeichnis.
prefix/man
Hier sehen Sie eine Beispielausführung des configure-Skripts, das eine Samba 2.2.6-makeDatei für die Linux-Plattform erzeugt. Beachten Sie, dass Sie das Skript im Verzeichnis source starten müssen und dass wir Ihnen eine andere Möglichkeit zeigen, die Ausgabe des Skripts aufzuzeichnen: $ cd samba-2.2.6/source/ $ su Password: # ./configure --with-smbwrapper --with-smbmount \
--with-msdfs --with-syslog --with-utmp 2>&1 | tee config.my.log loading cache ./config.cache checking for gcc... (cached) gcc checking whether the C compiler (gcc -O ) works... yes checking whether the C compiler (gcc -O ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for a BSD-compatible install... (cached) /usr/bin/install -c
(Inhalt ausgelassen)
checking configure summary configure OK creating ./config.status creating include/stamp-h creating Makefile creating include/config.h
Im Allgemeinen sind alle Nachrichten von configure, die nicht mit checking oder creating beginnen, als Fehler anzusehen. Es ist oft hilfreich, die Ausgabe des Konfigurationsskripts in eine Datei umzuleiten, so dass Sie schnell nach Fehlern suchen können (wir haben das oben mit dem Befehl tee getan). Wenn während der Konfiguration ein Fehler aufgetreten ist, finden Sie ausführliche Meldungen in der Datei config.log, die das configure-Skript im lokalen Verzeichnis anlegt, sowie in der Datei config.my.log, die wir durch Umleiten der Ausgabe über den Befehl tee erzeugt haben. Diese Dateien sind sich in Name und Inhalt sehr ähnlich, Sie sollten jedoch beide auf Fehlermeldungen prüfen, bevor Sie weitermachen! Wenn die Konfiguration funktioniert, erscheint die Ausgabe checking configure summary, gefolgt von der Meldung configure OK und vier oder fünf Meldungen für erstellte Dateien. So weit, so gut.
Kompilierung und Installation von Samba Sie sollten jetzt in der Lage sein, die ausführbaren Dateien von Samba zu erstellen. Die Kompilierung ist ebenfalls einfach: Gehen Sie in das source-Verzeichnis und geben Sie make auf der Kommandozeile ein. Das Werkzeug make wird erläuternde Nachrichten und Erfolgsmeldungen ausgeben, beginnend mit: Using FLAGS = -O -Iinclude ...
Diese Zusammenstellung enthält Kompilierungen sowohl für smbd als auch für nmbd und endet mit einem Verknüpfungsbefehl für bin/nmblookup. Als Beispiel folgt eine Ausgabe von make für Samba Version 2.2.6 auf einem Linux-Server: # make 2>&1 | tee make.log Using FLAGS =
-O
-Iinclude -I./include -I./ubiqx -I./smbwrapper -D_LARGEFILE64
_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
-DLOGFILEBASE="/usr/local/samba/va
r" -DCONFIGFILE="/usr/local/samba/lib/smb.conf" -DLMHOSTSFILE="/usr/local/samba/ lib/lmhosts"
-DSWATDIR="/usr/local/samba/swat" -DSBINDIR="/usr/local/samba/bin
" -DLOCKDIR="/usr/local/samba/var/locks" -DCODEPAGEDIR="/usr/local/samba/lib/cod epages" -DDRIVERFILE="/usr/local/samba/lib/printers.def" -DBINDIR="/usr/local/sa mba/bin"
-DHAVE_INCLUDES_H -DPASSWD_PROGRAM="/bin/passwd" -DSMB_PASSWD_FILE="/u
sr/local/samba/private/smbpasswd" -DTDB_PASSWD_FILE="/usr/local/samba/private/sm bpasswd.tdb" Using FLAGS32 =
-O
-Iinclude -I./include -I./ubiqx -I./smbwrapper -D_LARGEFILE
64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
-DLOGFILEBASE="/usr/local/samba/
var" -DCONFIGFILE="/usr/local/samba/lib/smb.conf" -DLMHOSTSFILE="/usr/local/samb a/lib/lmhosts"
-DSWATDIR="/usr/local/samba/swat" -DSBINDIR="/usr/local/samba/b
in" -DLOCKDIR="/usr/local/samba/var/locks" -DCODEPAGEDIR="/usr/local/samba/lib/c odepages" -DDRIVERFILE="/usr/local/samba/lib/printers.def" -DBINDIR="/usr/local/ samba/bin"
-DHAVE_INCLUDES_H -DPASSWD_PROGRAM="/bin/passwd" -DSMB_PASSWD_FILE="
/usr/local/samba/private/smbpasswd" -DTDB_PASSWD_FILE="/usr/local/samba/private/ smbpasswd.tdb" Using LIBS = -ldl -lnsl -lpam Compiling smbd/server.c Compiling smbd/files.c Compiling smbd/chgpasswd.c Compiling smbd/connection.c Compiling smbd/utmp.c Compiling smbd/session.c Compiling smbd/dfree.c Compiling smbd/dir.c
(Inhalt ausgelassen)
Compiling rpc_server/srv_srvsvc.c Compiling rpc_server/srv_srvsvc_nt.c Compiling rpc_server/srv_util.c
Compiling rpc_server/srv_wkssvc.c Compiling rpc_server/srv_wkssvc_nt.c Compiling rpc_server/srv_pipe.c Compiling rpc_server/srv_dfs.c Compiling rpc_server/srv_dfs_nt.c Compiling rpc_server/srv_spoolss.c Compiling rpc_server/srv_spoolss_nt.c Compiling lib/util_getent.c Compiling rpc_parse/parse_lsa.c Compiling rpc_parse/parse_net.c Compiling rpc_parse/parsen/smbmount Compiling client/smbmnt.c Linking bin/smbmnt Compiling client/smbumount.c Linking bin/smbumount Compiling utils/nmblookup.c Linking bin/nmblookup
Falls Sie während der Kompilierung auf Probleme stoßen, suchen Sie zuerst in der SambaDokumentation nach einer einfachen Lösung. Sie können außerdem die Samba-Mailinglisten durchsuchen und Nachrichten dorthin schicken. Mehr dazu finden Sie am Ende von Kapitel 12 und auf der Samba-Homepage. Die meisten Kompilierungsprobleme sind systembezogen und fast immer leicht zu beheben. Sie haben nun die Dateien kompiliert und können sie in die angegebenen Verzeichnisse installieren. Verwenden Sie dazu den Befehl: # make install
Wenn Sie Samba aktualisieren, werden Ihre alten Samba-Dateien mit der Erweiterung .old gesichert, so dass Sie mit dem Befehl make revert zur alten Version zurückkehren können. Nach dem Ausführen von make install sollten Sie die .old-Dateien (sofern sie existieren) an einen anderen Ort verschieben oder umbenennen. Ansonsten würden bei der nächsten SambaInstallation die bisherigen .old-Dateien ohne Warnung überschrieben, und die frühere Version ginge verloren. Wenn Sie Samba mit den Standardpfaden für Dateien konfiguriert haben, werden die neuen Dateien in den in Tabelle 2-2 angegebenen Verzeichnissen installiert. Denken Sie daran, die Installation von einem Benutzerzugang aus auszuführen, der über Schreibberechtigungen auf diesen Zielverzeichnissen verfügt. Üblicherweise ist dies beim rootZugang der Fall.
Tabelle 2-2
Samba-Installationsverzeichnisse Verzeichnis
Beschreibung
/usr/local/samba
Basisverzeichnis
/usr/local/samba/bin
Binaries
/usr/local/samba/lib
smb.conf, lmhosts, Konfigurationsdateien usw.
/usr/local/samba/man
Samba-Dokumentation
/usr/local/samba/private
verschlüsselte Kennwortdatei für Samba
/usr/local/samba/swat
SWAT-Dateien
/usr/local/samba/var
Samba-Protokolldateien, Sperrdateien, Suchlistenangaben, Dateien für gemeinsam genutzten Speicher, Dateien für die Prozess-IDs
Im weiteren Verlauf dieses Buches beziehen wir uns gelegentlich auf den Ort des Basisverzeichnisses als /usr/local/samba. In den meisten Konfigurationen handelt es sich dabei um das Basisverzeichnis des installierten Samba-Pakets; es kann jedoch von System zu System variieren.
Passen Sie auf, falls Sie /usr zu einer schreibgeschützten Partition gemacht haben. Sie werden Protokolle, Sperrdateien und Kennwortdateien an eine andere Stelle schreiben wollen. Dies ist die Installation, die wir auf unserem Computer durchgeführt haben. Sie können sehen, dass wir /usr/local/samba als Basisverzeichnis für die Distribution gewählt haben: # make install 2>&1 | tee make-install.log Using FLAGS =
-O
-Iinclude -I./include -I./ubiqx -I./smbwrapper -D_LARGEFILE64
_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
-DLOGFILEBASE="/usr/local/samba/va
r" -DCONFIGFILE="/usr/local/samba/lib/smb.conf"
(Inhalt ausgelassen)
The binaries are installed. You can restore the old binaries (if there were any) using the command "make revert". You can uninstall the binaries using the command "make uninstallbin" or "make uninstall" to uninstall
binaries, manpages and shell scripts.
(Inhalt ausgelassen)
====================================================================== The SWAT files have been installed. Remember to read the swat/README for information on enabling and using SWAT. ======================================================================
Wenn die letzte Meldung SWAT eintrifft, haben Sie alle Dateien erfolgreich installiert. Herzlichen Glückwunsch! Sie haben nun Samba auf Ihrem System!
Ihre Installation aktualisieren Irgendwann wird eine neue Version von Samba veröffentlicht, und Sie werden aktualisieren wollen. Das ist einfach. Wiederholen Sie einfach die Schritte, die Sie für die Installation Ihrer aktuellen Version durchgeführt haben. Laden Sie die Quelldistribution von der Samba-Website herunter und installieren Sie sie, führen Sie anschließend wie gehabt die Befehle ./ configure, make und make install aus. Falls Sie vergessen haben, welche Optionen Sie mit dem configure-Skript benutzt haben, schauen Sie in die Datei source/config.status der Quelldistribution Ihrer vorherigen Version. Die ersten Zeilen dieser Datei zeigen die Optionen, die beim letzten Aufruf von configure zum Einsatz kamen. Wenn Sie den Befehl make install ausführen, um Ihre neue Version zu installieren, werden die Dateien der vorherigen Version durch die neuen ersetzt. Danach müssen Sie die SambaDaemons neu starten, um Ihre neue Version zum Laufen zu bringen. Im Abschnitt »Starten der Samba-Daemons« weiter hinten in diesem Kapitel erhalten Sie Anweisungen darüber, wie Sie vorzugehen haben.
Samba rekonfigurieren Falls Sie Samba bereits kompiliert haben und nun den gleichen Quellcode mit anderen configure-Optionen neu kompilieren wollen, müssen Sie die folgenden drei Befehle im sourceVerzeichnis ausführen, bevor Sie das configure-Skript erneut starten können: # autoconf # make clean # rm config.cache
Dies stellt sicher, dass Sie aus einem sauberen Zustand heraus beginnen und Ihr vorheriger configure-Befehl keine Daten hinterlässt, die Ihre Neufassung beeinträchtigen. Jetzt können Sie ./configure und danach make und make install ausführen.
Die Suchpfade einstellen Vermutlich wollen Sie die Befehle, die in der Samba-Distribution enthalten sind, ausführen, ohne ihre vollständigen Verzeichnispfade angeben zu müssen. Damit das funktioniert, muss
das Verzeichnis, in dem sich die ausführbaren Samba-Dateien befinden - standardmäßig handelt es sich dabei um /usr/local/samba/bin - in die Umgebungsvariable PATH Ihrer Shell aufgenommen werden. Diese Umgebungsvariable wird normalerweise in einer oder mehreren Startdateien der Shell gesetzt. Im Fall der bash sind dies /etc/profile (systemweit) sowie . bash_profile und .bashrc im Home-Verzeichnis der einzelnen Benutzer. Um die Manpages von Samba mit Hilfe des Befehls man lesen zu können, muss das Verzeichnis, in dem sich die Manpages befinden - standardmäßig /usr/local/samba/man - in der MANPATH-Umgebungsvariablen stehen. Bei Red Hat Linux wird dies erreicht, indem man die folgenden beiden Zeilen in /etc/man.config aufnimmt: MANPATH
/usr/local/samba/man
MANPATH_MAP
/usr/local/samba/bin
/usr/local/samba/man
SWAT aktivieren Das Samba Web Administration Tool (SWAT) wird als Daemon unter inetd oder xinetd ausgeführt und stellt einen formularbasierten Editor in Ihrem Webbrowser zur Verfügung, mit dem Sie die Samba-Konfigurationsdatei erzeugen und verändern können. Damit SWAT funktioniert, müssen Einträge dafür in die Konfigurationsdateien /etc/services und /etc/inetd. conf (oder /etc/xinetd.d/swat ) aufgenommen werden. Gehen Sie folgendermaßen vor, um die Einträge hinzuzufügen: 1. Prüfen Sie die Datei /etc/services; falls sie die folgende Zeile nicht enthält, fügen Sie diese am Ende der Datei ein: swat
901/tcp
2. Jetzt zu inetd oder xinetd. Dabei handelt es sich um »Internet-Super-Daemons«, die das bedarfsweise Starten von Daemons erledigen, so dass diese nicht untätig im Speicher herumliegen und Systemressourcen verbrauchen. Die meisten Systeme verwenden inetd, bei einigen Versionen von Unix wird aber auch xinetd eingesetzt. Dies gilt vor allem für Red Hat Linux (Version 7 und neuer), das wir in unseren Beispielen verwenden. Sie können mit Hilfe des Befehls ps feststellen, welchen der beiden Daemons Ihr System ausführt. Fügen Sie für inetd eine Zeile in die Datei /etc/inetd.conf ein. (In der Manpage der inetd.conf finden Sie das genaue Format der Datei inetd.conf, falls sich dies vom folgenden Beispiel unterscheidet.) Vergessen Sie nicht, den Pfad zum SWAT-Binary zu ändern, falls Sie dies an einer anderen Stelle als im voreingestellten Verzeichnis /usr/local/samba installiert haben: swat
stream
tcp
nowait
root
/usr/local/samba/bin/swat
swat
Zwingen Sie nun inetd, seine Konfigurationsdatei neu einzulesen, indem Sie ein SIGHUP(Hangup-)Signal senden: # /bin/kill -HUP -a inetd
Beachten Sie, dass wir eine Version des kill-Befehls verwenden, die die Option -a unterstützt, damit wir den Prozess mit seinem Namen angeben können. Bei FreeBSD und Linux können Sie den Befehl killall2 einsetzen: # killall -HUP inetd
Wenn Sie Linux oder FreeBSD benutzen und Ihre Version von kill keine Option -a besitzt, müssen Sie den Befehl ps einsetzen, um die Prozess-ID zu ermitteln und diese an kill zu übergeben: # ps ax | grep inetd 780 ?
0:00 inetd
S
0:00 grep inetd
1981 pts/4
S
# kill -HUP 780
Benutzt Ihr System xinetd, fügen Sie eine Datei namens swat in Ihr /etc/xinetd.d-Verzeichnis ein, die Folgendes enthält: # description: swat is the Samba Web Administration Tool, which #
allows an administrator to configure Samba using a web
#
browser interface, with the URL http://localhost:901
service swat. { socket_type
= stream
wait
= no
protocol
= tcp
only_from
= localhost
user
= root
log_on_failure
+= USERID
server
= /usr/local/samba/bin/swat
port
= 901
disable
= no
}
Anschließend muss ein Signal3 an xinetd gesendet werden, damit dieser seine Konfigurationsdateien erneut einliest: # /bin/kill -HUP -a xinetd
Und das war es schon für die Installation. Bevor Sie Samba starten können, müssen Sie jedoch eine Konfigurationsdatei dafür erstellen.
Eine grundlegende Samba-Konfigurationsdatei
Der Schlüssel zur Konfiguration von Samba ist die Konfigurationsdatei smb.conf. Diese Datei kann sehr einfach oder auch außerordentlich kompliziert sein, und im Rest dieses Buches geht es darum, Sie mit dieser Datei vertraut zu machen. Wir zeigen Ihnen erst einmal, wie Sie einen einzigen Dateidienst einrichten, mit dem Sie die Samba-Daemons starten und sehen können, dass alles nach Plan läuft. In späteren Kapiteln werden Sie lernen, wie Sie Samba für kompliziertere und interessantere Aufgaben konfigurieren. Der Installationsvorgang erstellt nicht automatisch eine smb.conf-Konfigurationsdatei, auch wenn die Samba-Distribution mehrere Muster dieser Datei enthält. Um die Server-Software zu testen, verwenden Sie aber die folgende Datei, die Sie mit einem Texteditor erzeugen können. Sie sollte smb.conf heißen und im Verzeichnis /usr/local/samba/lib liegen:4 [global] workgroup = METRAN [test] comment = Bitte nur zu Testzwecken verwenden path = /usr/local/samba/tmp read only = no guest ok = yes
Diese kurze Konfigurationsdatei weist den Samba-Server an, das Verzeichnis /usr/local/ samba/tmp auf dem Server als SMB-Freigabe namens test anzubieten. Der Server wird außerdem zu einem Teil der Arbeitsgruppe METRAN, in der sich auch jeder Client befinden muss. Falls Sie bereits einen Namen für Ihre Arbeitsgruppe gewählt haben, verwenden Sie im vorangegangenen Beispiel diesen Namen an Stelle von METRAN. Wenn Sie Ihr Symba-System an ein existierendes Netzwerk anschließen und den Arbeitsgruppennamen wissen müssen, können Sie einen anderen Systemadministrator fragen oder auf einem Windows-System in der Arbeitsgruppe folgende Schritte ausführen: ●
●
●
Windows 95/98/Me/NT: Öffnen Sie die Systemsteuerung und doppelklicken Sie hier auf das Netzwerk-Symbol. Klicken Sie auf die Registerkarte Identifikation und suchen Sie hier nach der Bezeichnung »Arbeitsgruppe:«. Windows 2000: Öffnen Sie die Systemsteuerung und doppelklicken Sie auf das SystemSymbol. Klicken Sie auf die Registerkarte Netzwerkidentifikation. Der Name der Arbeitsgruppe steht unter dem Computernamen. Windows XP: Öffnen Sie in der klassischen Ansicht die Systemsteuerung. Doppelklicken Sie hier auf das System-Symbol. Klicken Sie anschließend auf das Register Computername.
Wir werden die Freigabe [test] im nächsten Kapitel verwenden, um die Windows-Clients einzurichten. Jetzt können Sie die Konfiguration erst einmal beenden, indem Sie auf Ihrem Unix-Server folgende Befehle als root-Benutzer ausführen: # mkdir /usr/local/samba/tmp # chmod 777 /usr/local/samba/tmp
Sie könnten auch eine oder zwei Dateien in das Verzeichnis /usr/local/samba/tmp kopieren, damit Sie etwas haben, anhand dessen Sie überprüfen können, dass alles funktioniert, wenn Ihre Windows-Systeme fertig konfiguriert sind.
Wir müssen noch darauf hinweisen, dass diese Konfiguration aus Sicht der Systemsicherheit die schlechteste aller möglichen ist. Im Moment wollen wir Samba jedoch nur testen, deshalb lassen wir die Sicherheitsaspekte noch außer Acht. Außerdem kann es Schwierigkeiten mit verschlüsselten Kennwörtern bei Windows-Clients geben; diese Konfiguration wird hier am wenigsten Probleme bereiten.
Verschlüsselte Kennwörter Wenn Ihre Windows-Clients Windows 98 oder Windows NT 4 Service Pack 3 oder höher (einschließlich Windows 2000 und Windows XP) verwenden und Sie eine Samba-Version vor 3.0 einsetzen, müssen Sie folgenden Eintrag in den [global]-Abschnitt der SambaKonfigurationsdatei aufnehmen: [global] encrypt passwords = yes
Außerdem müssen Sie das Programm smbpasswd (üblicherweise im Verzeichnis /usr/local/ samba/bin/ ) verwenden, um die Kombinationen aus Benutzername und Kennwort für die einzelnen Benutzer von Samba in die Datenbank mit verschlüsselten Kennwörtern einzugeben. Wenn Sie zum Beispiel wollen, dass der Unix-Benutzer steve Freigaben von einem ClientSystem nutzen kann, müssten Sie folgenden Befehl eingeben: # smbpasswd -a steve New SMB password: Retype new SMB password: Added user steve.
Wird der erste Benutzer eingefügt, gibt das Programm eine Meldung aus, die besagt, dass die Datenbank der verschlüsselten Kennwörter nicht existiert. Keine Angst, die Datenbank wird dann erzeugt. Stellen Sie sicher, dass die Benutzername-Kennwortkombinationen, die Sie in die Datenbank eingeben, mit denjenigen auf der Windows-Client-Seite übereinstimmen. Sie müssen smbpasswd für jeden Client-Benutzer ausführen. Bei Samba 3.0 sind die Kennwörter standardmäßig verschlüsselt, der Parameter encrypt passwords = yes in der Konfigurationsdatei ist daher optional. Sie müssen jedoch trotzdem den Befehl smbpasswd ausführen, um Benutzer in die Datei mit den verschlüsselten Kennwörtern aufzunehmen.
SWAT verwenden Das Anlegen einer Konfigurationsdatei ist mit SWAT noch einfacher als das Schreiben der Datei von Hand. Sie starten SWAT, indem Sie mit Ihrem Webbrowser eine Verbindung zu http://localhost:901 herstellen und sich als root mit dem root-Passwort anmelden (siehe Abbildung 2-1).
Abbildung 2-1 SWAT-Anmeldung
Abbildung 2-2 Die Seite »Global Variables« des SWAT
Nach dem Anmelden klicken Sie auf den Button GLOBALS im oberen Bereich des Bildschirms. Sie sollten dann die Seite Global Variables sehen, die in Abbildung 2-2 gezeigt wird. Beachten Sie, dass SWAT in diesem Beispiel den Namen der Arbeitsgruppe der von Ihnen erzeugten smb.conf-Datei entnommen hat. (Hat es das nicht getan, müssen Sie zurückgehen und diesen Schritt korrekt ausführen.) Stellen Sie sicher, dass das security-Feld auf USER gesetzt ist. Falls Sie Samba 2.2 ausführen und Ihre Windows-Clients wenigstens mit Windows 98 oder Windows NT 4 SP 3 oder neueren Versionen laufen, suchen Sie im Abschnitt Security Options nach encrypt passwords. Setzen Sie diese Option auf Yes. Die einzige weitere Option aus dem Menü, die Sie noch ändern müssen, ist diejenige, die angibt, welches System im lokalen Netzwerk die NetBIOS-Adressen auflöst; dieses System wird als WINS-Server bezeichnet. Setzen Sie ganz unten auf der Seite das Feld wins support auf Yes, es sei denn, Sie haben bereits einen WINS-Server in Ihrem Netzwerk. Ist dies der
Fall, schreiben Sie stattdessen die IP-Adresse des WINS-Servers in das wins server-Feld. Kehren Sie anschließend an den Anfang der Seite zurück und drücken Sie den Button Commit Changes, um die Änderungen in die Datei smb.conf zu schreiben.
Abbildung 2-3 Die »Share Parameters«-Seite von SWAT
Klicken Sie als Nächstes auf das Symbol SHARES. Sie sollten eine Seite sehen, die Abbildung 2-3 ähnelt. Wählen Sie test (rechts neben dem Button Choose Share) und klicken Sie auf den Button Choose Share. Die Seite Share Parameters sollte daraufhin erscheinen, wie in Abbildung 2-3 dargestellt. Die Felder comment und path sind mit den entsprechenden Angaben aus Ihrer smb.conf-Datei ausgefüllt. Falls Sie auf der GLOBALS-Seite angegeben haben, dass Sie verschlüsselte Kennwörter benutzen wollen, klicken Sie auf den Button PASSWORD. Im oberen Bereich des Fensters sehen Sie den Abschnitt Server Password Management. Geben Sie Ihren Unix-Benutzernamen und das Kennwort in die leeren Felder ein und klicken Sie auf den Button Add New User. Dies funktioniert genauso wie das Programm smbpasswd und erzeugt einen Eintrag in der Datei / usr/local/samba/private/smbpasswd, der Ihnen die Authentifizierung von einem WindowsClient aus erlaubt. Klicken Sie nun auf den Button VIEW. SWAT zeigt Ihnen folgende smb.conf-Datei: # Samba config file created using SWAT # from localhost (127.0.0.1) # Date: 2002/09/05 04:56:43
# Global parameters
workgroup = METRAN encrypt passwords = Yes wins support = Yes
[test] comment = Bitte nur zu Testzwecken verwenden! path = /usr/local/samba/tmp read only = No
Wenn Sie diese Konfigurationsdatei angelegt haben, können Sie den nächsten Schritt überspringen, da die von SWAT erstellte Ausgabe garantiert keine Syntaxfehler enthält.
Oplocks deaktivieren Die von Ihnen gerade erstellte smb.conf-Datei ist sicherlich gut genug für das anfängliche Einrichten und Testen. Sie können sie als Ausgangspunkt für die Entwicklung der Konfiguration Ihres richtigen Samba-Servers benutzen. Bevor Sie jedoch dorthin gelangen, wollen wir Sie auf eine Sache aufmerksam machen. Falls Sie zu der Sorte von Administrator gehören, die sich stark um die Integrität der Daten bemüht, sollten Sie vor dem Weiterarbeiten folgende Änderung in Ihre smb.conf-Datei aufnehmen: [global] oplocks = no
Benutzen Sie einen Texteditor, um die Zeile oplocks = no in den Abschnitt [global] Ihrer smb.conf-Datei zu schreiben. Bei diesem Beispiel - wie auch bei anderen Beispielen in diesem Buch - müssen Sie die Zeile [global] nicht noch einmal in Ihre Konfigurationsdatei aufnehmen. Wir wollen damit lediglich verdeutlichen, in welchen Abschnitt der Parameter gehört. Der Parameter oplocks = no deaktiviert opportunistische Sperren von Clients. Die Leistungsfähigkeit wird dadurch zwar deutlich verringert, andererseits verhindern Sie damit, dass allzu lässige Windows-Clients und/oder unzuverlässige Netzwerk-Hardware Dateien auf dem Samba-Server beschädigen. Wir werden opportunistische Sperren (Oplocks) im Abschnitt »Sperren und Oplocks« in Kapitel 8 genauer behandeln und empfehlen Ihnen, die dahinter stehenden Ideen zu verstehen, bevor Sie einen Produktions-Server mit Samba aufsetzen, der Datenbankdateien oder andere wertvolle Daten vorhält.
Die Konfigurationsdatei testen Wenn Sie Ihre Konfigurationsdatei nicht mit SWAT erstellt haben, sollten Sie sie auf Syntaxfehler hin überprüfen und diese beseitigen. Es mag albern klingen, eine nur acht Zeilen große Konfigurationsdatei mit einem Programm zu prüfen, aber es ist eine gute Übung für die »richtigen« Dateien, die wir später schreiben werden.
Das Prüfprogramm testparm untersucht eine smb.conf-Datei auf Syntaxfehler hin und meldet diese zusammen mit den Diensten, die auf Ihrem System aktiviert sind. Wir zeigen Ihnen dies an einem Beispiel. Sie werden beobachten, dass wir in aller Eile den Begriff workgroup als workgrp geschrieben haben (die Ausgabe des Prüfprogramms ist häufig lang, so dass wir empfehlen, sie mit dem Befehl tee in einer Datei aufzuzeichnen): Load smb config files from smb.conf Unknown parameter encountered: "workgrp" Ignoring unknown parameter "workgrp" Processing section "[test]" Loaded services file OK. Press Enter to see a dump of your service definitions # Global parameters [global] workgroup = WORKGROUP netbios name = netbios aliases = server string = Samba 2.2.6 interfaces = bind interfaces only = No
(Inhalt ausgelassen)
[test] comment = Bitte nur zu Testzwecken verwenden! path = /usr/local/samba/tmp read only = No
Die interessanten Teile sind der Anfang und das Ende. Im oberen Teil der Ausgabe sehen Sie Hinweise für alle möglichen Syntaxfehler in der Konfigurationsdatei, und unten führt die Ausgabe die Dienste auf, die der Server anzubieten gedenkt. Ein Hinweis: Stellen Sie sicher, dass Sie und der Server die gleichen Erwartungen haben.
Firewall-Konfiguration Wie alle anderen Dienste, die über TCP/IP laufen, können auch die SMB-Netzwerkdienste, die Samba anbietet, über das Internet erreicht werden, es sei denn, die Firewall Ihrer Einrichtung ist richtig konfiguriert. Folgende Ports werden von Samba für den SMB-Netzwerkbetrieb und SWAT verwendet:
Port 137 Wird für die NetBIOS-Netzwerksuche benutzt. Port 138 Wird für den NetBIOS-Namensdienst benutzt. Port 139 Wird für die Datei- und Druckerfreigabe und andere Operationen benutzt. Port 445 Wird von Windows 2000/XP benutzt, wenn NetBIOS over TCP/IP deaktiviert ist. Port 901 Wird von SWAT benutzt. Die Internet-Firewall Ihrer Organisation sollte wenigstens alle Ports in der obigen Liste für den Verkehr in beiden Richtungen sperren. Glauben Sie nicht, dass es ausreicht, nur eingehende Verbindungen zu unterbinden; es gibt Cracks, die Windows-Clients so austricksen, dass diese über das SMB-Protokoll Daten aus dem lokalen Netzwerk in das Internet schicken, selbst wenn ein lokales Netzwerk private IP-Adressen verwendet, die von Routern nicht weitergeleitet werden. Falls Sie SMB-Verkehr über das Internet an entfernte Standorte schicken wollen, ist es am besten, ein virtuelles privates Netzwerk (VPN) einzusetzen. Nähere Informationen zu diesem Thema finden Sie im O'Reilly-Buch Virtual Private Networks. Darüber hinaus wollen Sie möglicherweise auf dem Samba-Host eine Firewall einrichten, um dafür zu sorgen, dass die SMB-Pakete im Netzwerk Ihrer Einrichtung nicht weiter reisen als nötig. Beispielsweise kann Port 901 für entfernte Zugriffe gesperrt werden, so dass SWAT nur auf dem Samba-Host ausgeführt werden kann. Falls Sie mit Samba nur einen Bruchteil der Client-Systeme in Ihrer Einrichtung bedienen, sollten Sie es in Erwägung ziehen, SMB-Pakete (d.h. Pakete an den Ports 137-139 und 445) nur von bzw. zu diesen Clients zu erlauben. Weitere Informationen über das Konfigurieren von Firewalls finden Sie im Buch Einrichten von Internet Firewalls von O'Reilly.
Starten der Samba-Daemons Es gibt zwei Samba-Prozesse, smbd und nmbd, die ausgeführt werden müssen, damit Samba korrekt läuft. Für das Starten gibt es drei Möglichkeiten: ● ● ●
manuell automatisch, während des Bootens des Systems über inetd oder xinetd
Die Daemons manuell starten Wenn Sie es eilig haben, können Sie die Samba-Daemons manuell starten. Geben Sie als root einfach die folgenden Befehle ein: # /usr/local/samba/bin/smbd -D # /usr/local/samba/bin/nmbd -D
Samba läuft nun auf Ihrem System und wartet auf Verbindungen. Denken Sie jedoch daran, dass die Daemons erneut manuell gestartet werden müssen, wenn sie sich aus irgendeinem Grund (z.B. bei einem Neustart des Systems) beendet haben.
Automatischer Start Damit die Samba-Daemons beim Hochfahren des Systems automatisch gestartet werden,
müssen Sie die Befehle, die im vorherigen Abschnitt aufgeführt wurden, in Ihre UnixStartskripten aufnehmen. Die genaue Methode hängt von der von Ihnen verwendeten UnixVariante ab. BSD-Unix Bei einem BSD-Unix müssen Sie folgende Zeilen in die Datei rc.local schreiben. Diese Datei finden Sie üblicherweise in den Verzeichnissen /etc oder /etc/rc.d: 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 fi
Dieser Code ist sehr einfach: Er prüft, ob die Datei smbd existiert und Ausführungsrechte besitzt. Ist dies der Fall, werden beide Samba-Daemons beim Hochfahren des Systems gestartet. System V-Unix Bei System V kann es etwas komplizierter werden. Je nach Ihrer Unix-Version reicht es möglicherweise, an einer rc.local-Datei eine einfache Änderung wie bei BSD-Unix vorzunehmen. Üblicherweise verwendet System V jedoch Verzeichnisse mit Verweisen auf Skripten, die die Daemons im System steuern. Daher müssen Sie das System darüber unterrichten, wie es die Samba-Daemons starten und stoppen soll. Der erste Schritt dazu besteht darin, den Inhalt des Verzeichnisses /etc/rc.d/init.d zu modifizieren, indem etwas Ähnliches wie das folgende Shell-Skript hinzugefügt wird. Wir geben dem Skript in diesem Beispiel einmal den Namen smb : #!/bin/sh
# Prüft, ob die Samba-Konfigurationsdatei existiert. [ -f /usr/local/samba/lib/smb.conf ] || exit 0
start(
)
{ echo -n "SMB-Dienste werden gestartet: " /usr/local/samba/bin/smbd -D ERROR=$? echo
echo -n "NMB-Dienste werden gestartet: " /usr/local/samba/bin/nmbd -D ERROR2=$? if [ $ERROR2 -ne 0 ] then ERROR=1 fi echo
return $ERROR }
stop(
)
{ echo -n "SMB-Dienste werden beendet: " /bin/kill -TERM -a smbd ERROR=$? echo
echo -n "NMB-Dienste werden beendet: " /bin/kill -TERM -a nmbd ERROR2=$? if [ $ERROR2 -ne 0 ] then ERROR=1 fi echo
return $ERROR }
case "$1" in start) start ;; stop) stop ;; *) echo "Verwendung: $0 {start|stop}" exit 1 esac
exit $?
Dank dieses Skripts können Sie smbd und nmbd starten und stoppen: # /etc/rc.d/init.d/smb start SMB-Dienste werden gestartet: NMB-Dienste werden gestartet: # ps ax | grep mbd 1268 ?
S
0:00 /usr/local/samba/bin/smbd -D
1270 ?
S
0:00 /usr/local/samba/bin/nmbd -D
1465 pts/2
S
0:00 grep mbd
# /etc/rc.d/init.d/smb stop SMB-Dienste werden beendet: NMB-Dienste werden beendet:
Falls Sie Probleme damit haben, ein Startskript für Ihr System zu schreiben, schauen Sie einmal, ob Sie eine Paket-Version von Samba finden (von Ihrem Unix-Hersteller oder der Samba-FTP-Site). Möglicherweise finden Sie dort ein Startskript, mit dem Sie erst einmal beginnen können. Normalerweise ändern sich diese Skripten von Release zu Release nicht
sehr (wenn überhaupt), es sollte daher kein Problem darstellen, ein Skript einer älteren Samba-Version zu verwenden. Eine andere Möglichkeit besteht darin, einen Blick in das packaging-Verzeichnis der Samba-Quelldistribution zu werfen. In diesem Verzeichnis gibt es Unterverzeichnisse für viele Unix-Versionen mit entsprechenden Startskripten für diese Versionen. Und selbst wenn Ihre Version nicht vertreten ist, gibt es wahrscheinlich ein Startskript einer ähnlichen Version, das Sie als Ausgangspunkt nehmen können. Abschließend müssen wir symbolische Links in die smb-Skripten in den /etc/rc.d/rcX.dVerzeichnissen aufnehmen: # ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc3.d/S35smb # ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc5.d/S35smb
# ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc0.d/K35smb # ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc1.d/K35smb # ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc2.d/K35smb # ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc4.d/K35smb # ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc6.d/K35smb
Die ersten beiden Befehle, deren Link-Namen mit einem »S« beginnen, veranlassen Samba zu starten, wenn die Runlevel 3 oder 5 erreicht werden. Das sind Runlevel, in denen normalerweise NFS (Network File Sharing) aktiviert ist. Die zweite Gruppe von Befehlen, deren Link-Namen mit »K« beginnen, veranlassen Samba, sich zu beenden, wenn eines der anderen Runlevel (0, 1, 2, 4 oder 6) erreicht wird. Die Links, die mit »S« beginnen, werden verwendet, um die Daemons zu starten. Die Links dagegen, die mit »K« beginnen, beenden sie. Wird das Runlevel geändert, werden die mit »K« beginnenden Links im entsprechenden Verzeichnis (z.B. im Verzeichnis rc3.d für Runlevel 3) ausgeführt, gefolgt von den Links, die mit »S« beginnen. Wir könnten Samba sogar neu starten, wenn zwischen den Runlevels 3 und 5 umgeschaltet wird, indem wir je einen K35smbLink in die Verzeichnisse rc3.d und rc5.d einfügen. Die Zahl nach dem K oder S in den Link-Namen dient dazu, die Reihenfolge einzustellen, in der die Daemons mit den Links im Verzeichnis gestartet oder beendet werden. Schauen Sie sich die Inhalte der Verzeichnisse rc3.d oder rc5.d einmal genauer an, um festzustellen, wie dies in Ihrem System eingerichtet ist. Wir benutzen 35, um dem Verhalten des Samba-RPMPakets von Red Hat zu entsprechen. Es ist wichtig sicherzustellen, dass beim Start von Samba bereits alle Dienste gestartet wurden, die es benötigt. Beim Beenden bietet es sich an, Samba zu beenden, bevor die Dienste beendet werden, die es benötigt. Damit vermeiden Sie endlose Fehlermeldungen in den Protokolldateien. Diese Reihenfolge ist jedoch nicht so wichtig. Darwin und Mac OS X Eine Installation von Samba ist der Darwin-Distribution beigelegt, die in Mac OS X enthalten ist.5 Die Samba-Daemons werden während des Hochfahrens des Systems durch das Skript / System/Library/StartupItems/Samba/Samba gestartet. Um die Ausführung dieses Skripts anzustoßen, bearbeiten Sie die Datei /etc/hostconfig und ändern den Parameter SMBSERVER, damit er folgendermaßen aussieht: SMBSERVER=-YES-
Abbildung 2-4 Das Sharing-Feld der Systemeinstellungen von Mac OS X
Bei Mac OS X bietet die grafische Benutzeroberfläche eine Alternative zur Kommandozeile. Starten Sie das Programm Systemeinstellungen und wählen Sie das Feld Sharing (siehe Abbildung 2-4). Aktivieren Sie auf der Registerkarte Dienste die Option Windows File Sharing. Damit wird die erwähnte Änderung an der Datei /etc/hostconfig vorgenommen und das Startskript ausgeführt. Falls Sie Samba jedoch selbst unter Mac OS X installieren wollen, sollten Sie nicht auf die Installation zurückgreifen, die mit dem Betriebssystem geliefert wurde. Wenden Sie die weiter vorn in diesem Kapitel beschriebenen Schritte an, um die Software im Verzeichnis /usr/local/ samba oder einem anderen Bereich, der von Aktualisierungen des Betriebssystems nicht beeinflusst wird, zu installieren. (Denken Sie daran, mit smbpasswd Benutzer einzurichten, falls Sie verschlüsselte Kennwörter benutzen, wie ebenfalls weiter vorn beschrieben. Dieser Schritt wird durch die Einträge in /var/db/samba/hash automatisch erledigt, wenn Sie den in Mac OS X integrierten Server verwenden.) Sobald es läuft, können Sie das Samba-Startskript für Ihre Installation bearbeiten: #!/bin/sh # Samba starten.
. /etc/rc.common
if [ "${SMBSERVER:=-NO-}" = "-YES-" ]; then ConsoleMessage "SMB-Server startet"
if [ -f /usr/local/samba/lib/smb.conf ]; then /usr/local/samba/bin/smbd -D /usr/local/samba/bin/nmbd -D fi fi
Bedenken Sie allerdings, dass Aktualisierungen des Betriebssystems Ihre Änderungen auslöschen können. Eine Lösung wäre es, das Skript unveränderlich zu machen: # chflags uchg /System/Library/StartupItems/Samba/Samba
Testen des automatischen Starts Falls Sie einige Minuten Ausfallzeit erübrigen können, starten Sie nun Ihr System neu und prüfen wieder mit dem Befehl ps, ob die Daemons smbd und nmbd laufen. Falls Sie jedoch einen Server verwalten, der durchgehend in Betrieb sein muss, empfehlen wir Ihnen, den Server in einem Wartungsfenster neu zu starten und den Test durchzuführen. Anderenfalls könnte es passieren, dass Sie beim Start des Systems nach dem nächsten unplanmäßigen Ausfall vom mysteriösen Ausbleiben der SMB-Netzwerkdienste überrascht werden!
Start über inetd Der inetd 6-Daemon ist der Internet-»Super-Daemon« von Unix. Er lauscht an den Ports, die in /etc/services definiert sind, und führt bei einer eingehenden Anforderung das entsprechende, in /etc/inetd.conf aufgeführte Programm aus. Der Vorteil dieser Methode ist, dass eine große Anzahl von Daemons zwar bereitsteht, um auf Abfragen zu reagieren, aber nicht alle gleichzeitig laufen müssen. Stattdessen wartet inetd an ihrer Stelle auf Verbindungsanforderungen und startet bei Bedarf den entsprechenden Daemon. Der Nachteil ist eine etwas höhere Systembelastung beim Anlegen eines neuen Daemon-Prozesses sowie die Tatsache, dass Sie zwei Dateien statt einer bearbeiten müssen, um alles einzurichten. Der inetd-Daemon ist praktisch, wenn Sie nur einen oder zwei Samba-Benutzer haben oder Ihr Computer bereits zu viele Daemons ausführt. Es ist außerdem einfacher, eine Aktualisierung durchzuführen, ohne eine bestehende Verbindung zu unterbrechen. Wenn Sie die Samba-Daemons über inetd starten wollen, öffnen Sie zuerst die Datei /etc/ services in einem Texteditor. Fügen Sie die folgenden beiden Zeilen hinzu, falls diese noch nicht existieren sollten: netbios-ssn
139/tcp
netbios-ns
137/udp
Bearbeiten Sie nun die Datei /etc/inetd.conf. Suchen Sie nach den folgenden beiden Zeilen und fügen Sie sie hinzu, falls sie noch nicht existieren. Wenn es bereits smbd- und nmbd-Zeilen in der Datei gibt, bearbeiten sie diese so, dass sie auf die neuen, von Ihnen installierten Dateien smbd und nmbd verweisen. Ihre Unix-Variante verwendet möglicherweise in dieser Datei eine etwas andere Syntax; ziehen Sie in solchen Fällen die bestehenden Einträge sowie die Manpage der inetd.conf als Leitfaden heran: netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd netbios-ns
dgram
udp wait
root /usr/local/samba/bin/nmbd nmbd
Beenden Sie schließlich alle laufenden smbd- und nmbd-Prozesse und senden Sie dem inetdProzess ein Hangup-(HUP-)Signal, damit er seine Konfigurationsdatei neu einliest: # /bin/kill -TERM -a smbd # /bin/kill -TERM -a nmbd # /bin/kill -HUP -a inetd
Danach sollte Samba ausgeführt werden. Wie wir bereits angemerkt haben, liefern Red Hat und möglicherweise einige andere UnixHersteller xinetd an Stelle von inetd. Falls Sie xinetd benutzen, müssen Sie eine Konfigurationsdatei in das Verzeichnis /etc/xinetd.d setzen.
Die Samba-Daemons testen Sie sind mit der Einrichtung des Samba-Servers fast fertig. Jetzt müssen Sie nur noch sicherstellen, dass alles so funktioniert, wie Sie das erwarten. Hier leistet das Programm smbclient gute Dienste. Dieses Programm stellt fest, welche Freigaben ein Server für das Netzwerk zur Verfügung stellt. Ist alles korrekt eingerichtet, sollten Sie Folgendes tun können: # /usr/local/samba/bin/smbclient -U% -L localhost added interface ip=172.16.1.1 bcast=172.16.1.255 nmask=255.255.255.0 Domain=[METRAN] OS=[Unix] Server=[Samba 2.2.6]
Sharename
Type
Comment
---------
----
-------
test
Disk
Bitte nur zu Testzwecken verwenden
IPC$
IPC
IPC Service (Samba 2.2.6)
ADMIN$
Disk
IPC Service (Samba 2.2.6)
Server
Comment
---------
-------
TOLTEC
Samba 2.2.6 auf toltec
Workgroup
Master
---------
-------
METRAN
TOLTEC
Keine Panik, falls ein Problem auftritt! Versuchen Sie, die Daemons manuell zu starten, und prüfen Sie die Ausgaben des Systems oder die Debug-Dateien unter /usr/local/samba/ var/log. smb, um die Ursache festzustellen. Falls Sie an ein ernsteres Problem glauben, lesen Sie Kapitel 12. Dort finden Sie Hinweise zur Fehlersuche bei den Samba-Daemons. Wenn Ihre Konfiguration läuft - herzlichen Glückwunsch! Sie haben jetzt den Samba-Server erfolgreich mit einer Verzeichnisfreigabe eingerichtet. Diese Konfiguration ist zunächst einfach, aber wir können sie erst mal im nächsten Kapitel verwenden, um die Windows 95/98/ Me- und NT/2000/XP-Clients einzurichten und zu testen. Anschließend wird es richtig interessant, weil wir Dienste hinzufügen, wie etwa Home-Verzeichnisse, Drucker und Sicherheitsmerkmale, sowie die Integration des Servers in eine größere Windows-Domäne vornehmen. 1Ausführbare
Dateien von gcc sind für fast jeden modernen Computer erhältlich. Eine Liste der Sites mit gcc und anderer GNU-Software finden Sie unter http://www.gnu.org/. 2Verwechseln
Sie dies nicht mit dem Solaris-Befehl killall, der als Teil der ShutdownSequenz des Systems ausgeführt wird! 3Je
nach der von Ihnen verwendeten Version von xinetd und der Art und Weise, wie dieser kompiliert wurde, müssen Sie an Stelle des HUP-Signals ein USR1-Signal oder ein anderes Signal senden. In der Manpage für xinetd (8) auf Ihrem System finden Sie Näheres. 4Falls
Sie Samba nicht selbst kompiliert, sondern als Binary heruntergeladen haben, schauen Sie in die Dokumentation des Pakets, um festzustellen, wo sich die Datei smb.conf befinden könnte. Sie können auch das Programm testparm ausführen und in der ersten Zeile der Ausgabe nach dem Standort von smb.conf suchen. Wurde Samba auf Ihrem UnixSystem vorinstalliert, befindet sich eine smb.conf-Datei wahrscheinlich irgendwo auf Ihrem System. 5In
diesem Buch betrachten wir Darwin Version 6.0 und OS X Version 10.2.
6Bei
frühen Releases von Samba 2.2 gab es Berichte über zeitweilig auftretende Fehler beim Start über inetd. Wir geben Ihnen diese Information, damit Sie bei späteren Releases Bescheid wissen, wenn dieses Problem hoffentlich erkannt und behoben wurde.
Copyright © 2003 by O'Reilly Verlag GmbH & Co.KG
Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David Collier-Brown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-89721-359-1 www.oreilly.de/catalog/samba2ger/ Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.
Kapitel 3 Windows-Clients konfigurieren Das Konfigurieren von Windows für die Arbeit mit Ihrem neuen Samba-Server ist ganz einfach. SMB ist die von Microsoft verwendete Sprache für die Freigabe von Ressourcen im lokalen Netzwerk, so dass ein Großteil der Installation und Einrichtung auf den WindowsClients bereits erledigt ist.
Windows-Netzwerkkonzepte Windows unterscheidet sich auf vielerlei Weise von Unix. Dies schließt auch die Art der Unterstützung von Netzwerken ein. Bevor Sie sich aufmachen und sich durch die Dialogboxen klicken, um die einzelnen Windows-Versionen zu konfigurieren, müssen wir Ihnen die Grundlagen der Netzwerktechnik und -konzepte vermitteln, die für alle Mitglieder der Windows-Betriebssystemfamilie gelten. Bei allen Windows-Versionen werden wir uns vorrangig mit den folgenden Problemen befassen: ●
●
● ●
Sicherstellen, dass die erforderlichen Netzwerkkomponenten installiert und an die Netzwerkschnittstelle gebunden sind. Konfigurieren des Netzwerks mit gültiger IP-Adresse, Netzmaske, Gateways, WINSund DNS-Servern. Zuweisen von Arbeitsgruppen- und Computernamen. Einrichten von Benutzernamen und Kennwörtern.
Außerdem gibt es zwischen den einzelnen Windows-Versionen kleinere Unterschiede bezüglich der Kommunikation und Koordination zwischen Windows und Unix. Es kann einen schier verrückt machen, wenn man daran denkt, auf welche Weise sich Unix von Windows unterscheidet oder wie sehr sich die einzelnen Mitglieder der Windows-Familie bezüglich der zu Grunde liegenden Technik in Verhalten oder Aussehen unterscheiden. Im Moment wollen wir uns jedoch auf die Ähnlichkeiten konzentrieren und schauen, ob wir einige Gemeinsamkeiten finden.
Komponenten
Unix-Systeme sind traditionell eher monolithischer Natur. Möchte man einen Kernel mit Eigenschaften erhalten, die an den eigenen Bedarf angepasst sind, muss man ihn üblicherweise neu kompilieren oder linken. Moderne Versionen verfügen jedoch über die Fähigkeit, Gerätetreiber oder verschiedene andere Betriebssystemfunktionen als Module zu laden oder auszuschließen, während das System läuft. In der Regel muss das System dazu nicht einmal neu gestartet werden. Windows ermöglicht eine Konfiguration über das Installieren oder Deinstallieren von Komponenten. Im Bereich des Netzwerkbetriebs gibt es drei Arten von Komponenten:1 ● ● ●
Protokolle Clients Dienste
Da Samba auf der Grundlage des TCP/IP-Protokolls arbeitet, muss dieses natürlich installiert sein. Protokolle lassen sich aber auch deinstallieren. Falls beispielsweise das Netware-Protokoll (IPX/SPX) im Netzwerk nicht benötigt wird, können Sie es wieder entfernen. Das NetBEUI-Protokoll sollte nach Möglichkeit entfernt werden. Wenn NetBEUI zur gleichen Zeit betrieben wird wie NetBIOS over TCP/IP, wird das System veranlasst, unter zwei unterschiedlichen Protokollen nach Diensten zu suchen, von denen wahrscheinlich doch nur eines in Benutzung ist. Ist Windows mit einem oder mehreren ungenutzten Protokollen konfiguriert, treten Verzögerungen von 30 Sekunden Länge auf, wenn es versucht, mit dem ungenutzten Protokoll zu kommunizieren. Schließlich bricht es ab und probiert das nächste Protokoll aus, bis es eines findet, das funktioniert. Das Ergebnis dieser fruchtlosen Suche ist eine schreckliche Performance. Die beiden anderen Einträge in der Liste, Clients und Dienste, haben Sie vermutlich hier schon erwartet. Client-Komponenten führen Aufgaben aus, die mit der Verbindung zu Netzwerk-Servern zu tun haben. Dienstkomponenten dienen dazu, das lokale System zu einem Server mit Ressourcen im Netzwerk zu machen. In Kapitel 1 haben wir Ihnen gesagt, dass SMB-Systeme sowohl als Clients als auch als Server handeln können. Das bedeutet, sie bieten Ressourcen im Netzwerk an und fordern gleichzeitig selbst welche. Entsprechend dieser Aussage ist es möglich, eine Komponente für SMB-Client-Dienste und separat eine Dienstkomponente zu installieren, die Datei- und Druckerfreigaben auf dem lokalen System für den Zugriff von anderen Systemen im Netzwerk bereitstellt. Bindungen Sobald eine Netzwerkkomponente installiert ist, muss sie an einen Adapter oder eine Hardware-Schnittstelle gebunden werden, damit sie im Netzwerk genutzt werden kann. Auf den ersten Blick sieht das vielleicht wie eine unnötige Verkomplizierung der ganzen Angelegenheit aus. Es handelt sich jedoch dabei um ein konzeptuelles Modell, das es erlaubt, Verknüpfungen zwischen Hardware und Software klar darzustellen und sie leicht über eine grafische Oberfläche zu verändern. Wir wollen sicherstellen, dass auf unserem Windows-Client sowohl TCP/IP als auch die Client-Komponente für ein SMB-Netzwerk installiert sind sowie dass diese an die Netzwerkschnittstelle gebunden sind, die die Verbindung zu unserem Samba-Netzwerk herstellt. In den meisten Fällen handelt es sich dabei um einen Ethernet-Adapter.
Die IP-Adresse Wie jedes Unix-System (oder jedes andere System, das TCP/IP verwendet) benötigen auch Ihre Windows-Systeme eine IP-Adresse. Wenn Sie in Ihrem Netzwerk DHCP einsetzen, können Sie Windows so konfigurieren, dass es seine IP-Adresse automatisch über einen
DHCP-Server bezieht. Ansonsten müssen Sie eine statische IP-Adresse zusammen mit einer Netzmaske manuell zuweisen.2 Befinden Sie sich in einem privaten Netzwerk, in dem Sie die Möglichkeit haben, Ihre eigenen IP-Adressen zuzuweisen, können Sie Adressen aus einem der folgenden drei Bereiche wählen:3 ● ● ●
10.0.0.1 bis 10.255.255.254 172.16.0.1 bis 172.31.255.254 192.168.0.1 bis 192.168.255.254
Diese Adressbereiche sind für private Netzwerke reserviert, die nicht direkt an das Internet angeschlossen sind. Weitere Informationen über den Einsatz dieser privaten Netzwerkadressen finden Sie in RFC 1918. Wenn Sie allerdings nicht Ihr eigenes separates Netzwerk verwalten, fragen Sie Ihren Systemadministrator nach verfügbaren Adressen in Ihrem Netzwerk sowie nach einer passenden Netzmaske. Sie sollten sich auch darauf einstellen, die IP-Adresse des Standard-Gateways für das Netzwerk einzugeben. In einigen Netzwerken ist das Standard-Gateway das System oder der Router, der das lokale Netzwerk mit dem Internet verbindet. In anderen Fällen verbindet das Standard-Gateway ein Subnetz mit einem größeren Abteilungs- oder Unternehmensnetzwerk.
Die Namensauflösung Die Namensauflösung bezeichnet den Vorgang des Übersetzens der vom Menschen lesbaren Hostnamen, wie hopi, oder der vollqualifizierten Domainnamen (Fully Qualified Domain Names; FQDNs), wie mixtec.metran.cx, in IP-Adressen wie etwa 172.16.1.11 oder 172.16.1.7. Unix-Systeme können die Namensauflösung im einfachsten Fall mit Hilfe einer /etc/hostsDatei durchführen. Üblicherweise sind an der Namensauflösung Dienste wie DNS (Domain Name System) und NIS (Network Information Service) beteiligt. Das bedeutet, dass die Namensauflösung nicht unbedingt von einem isolierten Teil des Betriebssystems oder einem Daemon erledigt wird, sondern ein System darstellt, das eine ganze Reihe verstreuter Bestandteile aufweisen kann (obwohl der Name Service Switch mit seiner /etc/ nsswitch.conf-Konfigurationsdatei hilft, sie zusammenzuhalten). Die spezielle Implementierung der Namensauflösung unter Windows unterscheidet sich zwar von der unter Unix, sie wird aber ebenfalls durchgeführt, indem eine Reihe von Ressourcen abgefragt werden. Einige davon ähneln ihren Unix-Gegenstücken (oder sind sogar mit ihnen identisch). Namensauflösung über Broadcast Im Unterschied dazu gibt es einen Aspekt, bei dem Windows Unix überhaupt nicht ähnelt. Wird eine Windows-Workstation ohne WINS-Name-Server eingerichtet, verwendet sie die Broadcast-Methode der Namensauflösung, die wir in Kapitel 1 beschrieben haben4 und die zu einem stark ausgelasteten Netzwerk führt. Und selbst wenn Sie Name-Server für Ihr Windows-System zur Verfügung stellen, greift es möglicherweise auf die BroadcastNamensauflösung zurück, falls es beim Abfragen der Name-Server keinen Erfolg hat. Aus diesem Grund empfehlen wir Ihnen, mehrere zuverlässige Name-Server für Ihre WindowsComputer im Netzwerk anzubieten.
Falls das nun nicht reicht, um Sie für das Einrichten von WINS- und DNS-Servern zu begeistern, sollten Sie bedenken, dass die Broadcast-Namensauflösung in der Regel auf das lokale Netzwerk beschränkt ist, da Router auf Grund ihrer Konfiguration normalerweise Broadcast-Pakete nicht in andere Netze weiterleiten dürfen. WINS Wir haben in Kapitel 1 bereits über WINS berichtet und müssen hier an dieser Stelle nicht mehr darüber sagen. WINS kann einfache NetBIOS-Computernamen wie huastec oder navajo in IP-Adressen übersetzen, die in einem SMB-Netzwerk erforderlich sind. Das Interessante ist hier natürlich, dass Samba als WINS-Server agieren kann, wenn Sie die folgende Zeile wins support = yes
in die smb.conf-Datei Ihres Samba-Servers aufnehmen. Das kann eine gute Sache sein, und wir empfehlen Ihnen auf jeden Fall, so vorzugehen. Sie erhalten damit einen zuverlässigen WINS-Server, um die Anzahl der Broadcast-Pakete zu verringern, und Sie brauchen auch nicht Windows NT/2000/XP zu betreiben, um ihn zu bekommen.
Beim Einsatz von Samba als WINS-Server müssen Sie unbedingt beachten, dass Samba (bis wenigstens Version 2.2) nicht in der Lage ist, sich mit anderen WINS-Servern zu synchronisieren. Falls Sie also einen Samba-Server als WINS-Server Ihres Windows-Systems festlegen, müssen Sie sorgfältig Acht geben, keine weiteren (d.h. sekundären) WINS-Server anzugeben. Tun Sie es dennoch, werden aller Wahrscheinlichkeit nach Probleme auftreten, da die Server nicht in der Lage sind, ihre jeweiligen Datenbanken miteinander zu synchronisieren. Zur Verteidigung von Samba sei gesagt, dass Sie vermutlich kaum Bedarf an einem zweiten WINS-Server haben werden, wenn Sie einen Samba-WINS-Server einsetzen (der auf einem normalerweise zuverlässigen Unix-Host läuft). LMHOSTS Alle Windows-Versionen unterstützen eine Backup-Methode zur Namensauflösung in Form einer Datei namens LMHOSTS 5, die eine Tabelle (eine so genannte Lookup Table) der Computernamen und IP-Adressen enthält. Diese gibt es aus »historischen Gründen«. Sie stellt eine ziemlich umständliche Methode der Namensauflösung dar, da sie vom Administrator (d.h. von Ihnen!) verlangt, Kopien der Datei LMHOSTS auf allen WindowsSystemen im Netzwerk auf dem aktuellen Stand zu halten. Um wirklich effektiv funktionieren zu können, müsste LMHOSTS jedes Mal aktualisiert werden, wenn ein neues System in das Netzwerk aufgenommen (oder aus ihm entfernt) wird. Natürlich gäbe es Möglichkeiten, diesen Vorgang zu automatisieren, besser wäre es aber, einfach einen WINSName-Server zu betreiben, der extra dafür vorgesehen ist, dieses spezielle Problem zu lösen. Es gibt vermutlich eine Reihe von Gründen, weshalb Sie sich mit LMHOSTS-Dateien herumschlagen wollen. Manchmal - auch wenn das selten vorkommt - gibt es keinen WINSServer im Netzwerk. Oder vielleicht gibt es einen WINS-Server, aber dieser ist
unzuverlässig. In beiden Fällen kann das Windows-System, wenn es eine gültige LMHOSTSDatei besitzt, dazu beitragen, dass das Netzwerk nicht durch diese schrecklichen BroadcastNamensanfragen in die Knie geht. Das Format der LMHOSTS-Datei ist einfach und ähnelt der /etc/hosts-Datei, die Sie von Unix-Systemen wahrscheinlich kennen. Hier sehen Sie als Beispiel den Inhalt einer solchen LMHOSTS-Datei: 172.16.1.1
toltec
172.16.1.2
aztec
172.16.1.3
mixtec
172.16.1.4
zapotec
172.16.1.5
huastec
172.16.1.6
maya
172.16.1.7
olmec
172.16.1.8
chichimec
172.16.1.11
hopi
172.16.1.12
zuni
172.16.1.13
dine
172.16.1.14
pima
172.16.1.15
apache
172.16.1.21
inca
172.16.1.22
qero
Wie Sie sehen, gleicht das Format dem der /etc/hosts, mit der Ausnahme, dass an Stelle eines FQDN (z.B. toltec.metran.cx) nur ein NetBIOS-Computername (toltec) angegeben ist. Sie können eine LMHOSTS-Datei für Ihr Windows-System beispielsweise erstellen, indem Sie eine /etc/hosts-Datei kopieren und die Teile streichen, die Sie nicht benötigen. Das funktioniert großartig, wenn Ihr Netzwerk keinen DNS- (oder NIS-) NameServer besitzt und das Unix-System für seinen eigenen Namensdienst von /etc/hosts abhängig ist. Fragt Ihr Unix-System hingegen einen DNS-Server ab (was außer bei ganz kleinen Netzwerken praktisch überall vorkommt), sind Sie besser beraten, die Konfigurationsdateien des DNS-Servers als Quelle für die Computernamen und IP-Adressen heranzuziehen. Falls Sie keinen administrativen Zugang zum DNS-Server Ihres Netzwerks haben, könnten Sie Werkzeuge wie nslookup, nmap und dig einsetzen, um den Server abzufragen und die gewünschten Informationen zu erhalten. DNS Das DNS ist verantwortlich für die Übersetzung der vom Menschen leicht lesbaren InternetHostnamen wie pima.metran.cx oder sales.oreilly.com in IP-Adressen.
Beim ersten Lesen dieses Abschnitts werden Sie sich vielleicht fragen, was ein Abschnitt über DNS in einem Buch über NetBIOS und SMB-Netzwerke zu suchen hat. Erinnern Sie sich? Wir haben Ihnen gesagt, dass Windows in seiner Strategie zur Durchführung der Namensauflösung mehr als WINS (NetBIOS-Namensdienst) benutzen kann. Da das DNS auch IP-Adressen für einfache Hostnamen ausgeben kann (die normalerweise mit den NetBIOS-Computernamen identisch sind), ist es möglicherweise sinnvoll, Windows so zu konfigurieren, dass es über einen DNS-Server in Ihrem Netzwerk Bescheid weiß. Das ist für neuere Windows-Versionen ein bisschen wichtiger als für ältere und gilt eher für Windows NT/2000/XP als für Windows 95/98/Me, da Microsoft sich heutzutage eher auf TCP/IP als Standardprotokoll und DNS als primären Namensdienst konzentriert. Um die Adresse Ihres DNS-Servers zu ermitteln, schauen Sie in die Datei /etc/resolv.conf auf Ihrem Samba-Server oder einem anderen Unix-System in Ihrem lokalen Netzwerk, das DNS verwendet. Diese Datei sieht folgendermaßen aus: #resolv.conf domain metran.cx nameserver 127.0.0.1 nameserver 172.16.1.53
In diesem Beispiel ist der erste Name-Server in der Liste 127.0.0.1. Das bedeutet, dass der Samba-Server auch als DNS-Server für dieses LAN fungiert.6 In diesem Fall würden Sie seine Netzwerk-IP-Adresse (nicht 127.0.0.1, seine Localhost-Adresse) für Ihren DNSServer verwenden, wenn Sie Windows konfigurieren. Ansonsten benutzen Sie die anderen Adressen, die Sie in den mit nameserver beginnenden Zeilen vorfinden. Versuchen Sie einmal, eine davon in Ihrem eigenen Netzwerk auszuwählen. Alle in /etc/resolv.conf aufgeführten Name-Server sollten funktionieren, die Leistung ist aber besser, wenn Sie einen nahe gelegenen Server nehmen. Alle Windows-Versionen können so konfiguriert werden, dass sie mehrere Domain-NameServer kennen, und Sie werden von dieser verbesserten Zuverlässigkeit Gebrauch machen wollen. Wenn der erste Domain-Name-Server nicht antwortet, fragt Windows andere in der Liste an. HOSTS In der gleichen Weise, in der die Datei LMHOSTS hinzugefügt werden kann, um WINS zu ergänzen, kann die Datei HOSTS auf einem Windows-System optional eingesetzt werden, um die DNS-Namensauflösung zu unterstützen. Die meisten unserer LMHOSTS betreffenden Kommentare gelten auch hier. Dieses Mal ist das Format der Datei nicht nur ähnlich dem der /etc/hosts auf einem UnixSystem - das Format ist genau gleich. Sie können die /etc/hosts von Ihrem Samba-Server oder einem anderen Unix-System in das passende Verzeichnis auf Ihrem Windows-System kopieren. Unter Windows 95/98/Me kommt die HOSTS-Datei in das Windows-Installationsverzeichnis, also normalerweise nach C:\Windows. Beachten Sie, dass sich dort bereits eine Datei namens hosts.sam befindet, eine Beispiel-HOSTS-Datei, die von Microsoft vorgegeben wurde. Unter Windows NT/2000/XP wird die Datei HOSTS in das Verzeichnis \system32\ drivers \etc unterhalb des Windows-Installationsverzeichnisses (üblicherweise C:\WINNT)
geschrieben.
Kennwörter Unix-Systeme benutzen Paare aus Benutzernamen und Kennwort, um die Benutzer entweder an einem lokalen System oder in einer NIS-Domain zu authentifizieren. Windows NT/2000/XP arbeiten ähnlich; ein Benutzer gibt seinen Benutzernamen und sein Kennwort an, um sich am lokalen System oder in einer Windows-Domäne anzumelden. Wenn das SMB-Netzwerk als Arbeitsgruppe eingerichtet wird, liegen die Dinge etwas anders. Es gibt keine Domäne, an der man sich anmelden könnte, obwohl die Freigaben im Netzwerk durch ein Kennwort geschützt werden könnten. In diesem Fall wird mit jeder kennwortgeschützten Freigabe ein Kennwort verknüpft und nicht mit einzelnen Benutzern. Die normale, benutzerbezogene Authentifizierung von Samba in einer Arbeitsgruppe unterscheidet sich von der unter Windows. Um auf Freigaben auf einem Samba-Host zuzugreifen, müssen Benutzer einen gültigen Benutzernamen und das dazugehörende Kennwort für einen Zugang auf dem Samba-Host angeben. Wir werden in Kapitel 9 näher darauf eingehen. Eine bedauerliche Komplikation tritt bei Kennwörtern auf. Im ersten Release von Windows 95 und in Windows NT 4.0 mit Service Pack 2 (SP2) oder niedriger sowie in allen vorherigen Versionen von Windows durften Kennwörter im Klartext über das Netzwerk verschickt werden. In Windows 95 mit dem Netzwerk-Redirector-Update7 jedoch sowie in Windows NT 4.0 SP3 und später und in allen folgenden Releases von Windows musste eine Registry-Einstellung modifiziert werden, um Klartextkennwörter zu erlauben. Diese moderneren Versionen von Windows bevorzugen es, verschlüsselte Kennwörter zu versenden. Falls Sie mit einer dieser Versionen arbeiten (und die Registry nicht verändern wollen), müssen Sie die Zeile encrypt passwords = yes
in den [global]-Abschnitt Ihrer smb.conf-Datei aufnehmen. Darüber hinaus müssen Sie den Befehl # smbpasswd -a benutzername
für jeden Benutzer auf dem Samba-Host ausführen, um deren Kennwörter in Sambas Sammlung der verschlüsselten Kennwörter aufzunehmen. Wir haben Ihnen in Kapitel 2 gezeigt, wie das geht. Falls Ihr erster Versuch, auf eine Samba-Freigabe zuzugreifen, eine Dialogbox hervorbringt, in der nach einem Kennwort für IPC$ gefragt wird (wie in Abbildung 3-1 gezeigt), liegt das vermutlich daran, dass Sie entweder einen oder beide Schritte weggelassen haben und der Samba-Server das verschlüsselte Kennwort nicht erkannt hat, das das Windows-System ihm geschickt hat. Eine andere Dialogbox, die auftreten kann, wird in Abbildung 3-2 gezeigt. Diese wurde von einem Windows 2000-Client präsentiert.
Abbildung 3-1 Windows 98, nach dem IPC$-Kennwort fragend
Abbildung 3-2 Windows 2000-Fehlerdialog bei der Anmeldung
Der Rest dieses Kapitels ist in vier Abschnitte aufgeteilt. Der erste Abschnitt behandelt die Einrichtung von Windows 95/98/Me-Computern, die anderen Abschnitte befassen sich jeweils mit Windows NT 4.0, Windows 2000 und Windows XP. Jeder Abschnitt weist ungefähr die Reihenfolge auf, in der wir die Netzwerkkonzepte in diesem Abschnitt eingeführt haben. Sie müssen nur den Abschnitt lesen, der zu der von Ihnen verwendeten Windows-Version passt. Danach können Sie gleich mit dem Beginn des nächsten Kapitels fortfahren, in dem wir höhere Samba-Funktionen und Netzwerkbelange behandeln.
Denken Sie daran, dass wir das Beispiel aus Kapitel 2 weiterverwenden, in dem wir einen sehr einfachen Netzwerkprototyp einrichteten. Die von uns benutzte Arbeitsgruppe weist eine sehr geringe Sicherheit auf. Sobald die einfachen Dinge funktionieren, sollten Sie mit den weiter unten in diesem Buch befindlichen Kapiteln fortfahren, um zu lernen, wie Sie sowohl eine bessere Sicherheit als auch eine Samba-Domain implementieren.
Windows 95/98/Me-Computer einrichten Die Betriebssysteme Windows 95/98/Me sind einander sehr ähnlich. Bezüglich der in diesem Kapitel besprochenen Fragen ist es möglich, ihnen die gleichen Anweisungen zu
geben.
Das Netzwerk einrichten Samba verwendet TCP/IP, um mit Clients im Netzwerk zu kommunizieren, Sie müssen also sicherstellen, dass auf jedem Windows-Client die Unterstützung für dieses Protokoll aktiviert ist. Im Gegensatz zum Betriebssystem Unix muss bei Windows die TCP/IPUnterstützung nicht unbedingt installiert sein. Wenn Windows jedoch auf einem Computer mit einer Netzwerkkarte installiert ist oder einem System, auf dem bereits Windows läuft, eine Netzwerkkarte hinzugefügt wird, wird die TCP/IP-Unterstützung standardmäßig installiert, zusammen mit dem Client für Microsoft-Netzwerke, der die SMB-Datei- und Druckerfreigabe unterstützt. Um sicher zu sein, dass beide Dienste auf Ihrem Windows-System installiert sind, doppelklicken Sie auf das Netzwerk-Symbol in der Systemsteuerung. Der Netzwerk-Dialog aus Abbildung 3-3 wird geöffnet.
Abbildung 3-3 Der Windows 95/98/Me-Netzwerk-Dialog
Sie sollten wenigstens die Komponente Client für Microsoft-Netzwerke auf dem System vorfinden. Außerdem ist hoffentlich ein Netzwerkgerät (vorzugsweise eine Ethernet-Karte) an das TCP/IP-Protokoll gebunden. Wenn es nur ein Netzwerk-Hardware-Gerät gibt, sehen Sie das TCP/IP-Protokoll unter dem Gerät aufgeführt, an das es gebunden ist (Abbildung 31). Möglicherweise sehen Sie außerdem »Datei- und Druckerfreigabe für Microsoft-Netzwerke«, das benutzt wird, um das System zu einem Server zu machen. Darüber hinaus könnten Sie noch NetBEUI oder Client für Novell Netware sehen. Entfernen Sie NetBEUI, es sei denn, Sie sind sich sicher, dass Sie es brauchen. Und falls es keine Novell-Server in Ihrem Netzwerk gibt, können Sie Novell (IPX/SPX) ebenfalls entfernen. Um einen Dienst zu
entfernen, markieren Sie einfach seinen Namen und klicken dann auf den Button Entfernen. TCP/IP hinzufügen Falls TCP/IP nicht aufgeführt ist, müssen Sie es installieren. Sie können das Protokoll hinzufügen, indem Sie die Windows-CD-ROM in Ihr CD-Laufwerk einlegen und dann den Button Hinzufügen unter dem Komponentenfenster anklicken. Geben Sie an, dass Sie ein Protokoll hinzufügen wollen, indem Sie Protokoll auswählen. Klicken Sie im folgenden Dialogfeld, das so ähnlich aussehen sollte wie das in Abbildung 34, auf Hinzufügen....
Abbildung 3-4 Auswählen einer Komponentenart
Wählen Sie danach als Hersteller Microsoft und als Protokoll TCP/IP, wie in Abbildung 3-3 gezeigt, und klicken Sie dann auf OK. Anschließend werden Sie in den Netzwerk-Dialog zurückgeführt. Klicken Sie auf OK, um diesen zu schließen. Windows installiert die notwendigen Komponenten von der CD-ROM und fordert dann einen Neustart des Systems. Folgen Sie dieser Aufforderung und starten Sie das System neu. Jetzt sind Sie fertig. Ist Client für Microsoft-Netzwerke nicht in der Liste zu finden, können Sie es auf die gleiche Weise hinzufügen. Der einzige wirkliche Unterschied besteht darin, dass Sie einen Client an Stelle eines Protokolls installieren, daher müssen Sie »Client« auswählen und nicht »Protokoll«. TCP/IP konfigurieren Besitzen Sie mehr als ein Netzwerkgerät (beispielsweise sowohl eine Ethernet-Karte als auch ein Modem), ist das Protokoll für die Hardware-Bindungen durch Pfeile gekennzeichnet, wie in Abbildung 3-5 zu sehen.
Abbildung 3-5 Auswahl eines Protokolls zur Installation
Wählen Sie das TCP/IP-Protokoll, das mit dem Netzwerkgerät verknüpft ist, mit dem Sie auch auf das Samba-Netzwerk zugreifen. Haben Sie nur ein Netzwerkgerät, klicken Sie einfach auf den Eintrag TCP/IP. Klicken Sie nun auf den Button Eigenschaften, um das Dialogfeld Eigenschaften von TCP/IP zu öffnen. Dieses sollte so ähnlich aussehen wie das in Abbildung 3-6.
Abbildung 3-6 Auswahl des richtigen TCP/IPProtokolls
Die Registerkarte IP-Adresse Die Registerkarte IP-Adresse ist in Abbildung 3-7 zu sehen.
Abbildung 3-7 Die Registerkarte IP-Adresse
Falls Sie DHCP in Ihrem Netzwerk benutzen, um den Windows-Systemen die IP-Adressen automatisch zur Verfügung zu stellen, aktivieren Sie den Radio-Button »IP-Adresse automatisch beziehen«. Klicken Sie ansonsten auf den Radio-Button »IP-Adresse festlegen« und geben Sie die Adresse des Clients sowie die Subnetzmaske in die vorgegebenen Felder ein. Sie oder Ihr Netzwerkverwalter sollten für den Client eine Adresse im gleichen Subnetz (LAN) ausgewählt haben wie der Samba-Server. Die Registerkarte WINS-Konfiguration Wenn Sie bei Samba WINS aktiviert haben oder einen anderen WINS-Server in Ihrem Netzwerk benutzen wollen, müssen Sie Windows die Adresse des Servers mitteilen. Nach dem Auswählen der Registerkarte WINS-Konfiguration sehen Sie den Dialog, der in Abbildung 3-8 gezeigt wird.
Abbildung 3-8 Die Registerkarte WINS-Konfiguration
Gezeigt wird hier die Registerkarte von Windows 98/Me; unter Windows 95 sieht sie ein bisschen anders aus - sie zeigt getrennte Felder für die IP-Adressen des primären und des Sicherungs-WINS-Servers. Wählen Sie den Radio-Button »WINS-Auflösung aktivieren« und geben Sie die Adresse des WINS-Servers an der vorgesehenen Stelle ein. Klicken Sie anschließend auf Hinzufügen. Das Feld Bereichs-ID bleibt frei.
Auf Grund eines Bugs in Windows 95/98 verschwindet die IP-Adresse des WINS-Servers manchmal, nachdem der OK-Button angeklickt wurde. Dies geschieht nur dann, wenn lediglich ein primärer WINSServer angegeben wurde. Sie umgehen dies, indem Sie beide Felder, das des primären und das des sekundären WINS-Servers, ausfüllen. Geben Sie dazu in beide Felder die gleiche IP-Adresse ein. Registerkarte DNS-Konfiguration Wenn Sie kein DHCP verwenden, müssen Sie die IP-Adresse eines oder mehrerer DNSServer angeben. Klicken Sie auf die Registerkarte DNS, aktivieren Sie anschließend den Radio-Button »DNS aktivieren« und geben Sie die IP-Adresse eines oder mehrerer DNSServer in das entsprechende Feld ein (siehe Abbildung 3-9), um die Adresse des Servers dem Feld Suchreihenfolge für DNS-Server hinzuzufügen.
Abbildung 3-9 Die Registerkarte DNS-Konfiguration
Geben Sie darüber hinaus den Hostnamen (der mit dem NetBIOS-Computernamen identisch ist) des Windows 95/98/Me-Computers und Ihre Internet-Domain an. (Sie müssen den Computernamen später noch einmal angeben, zusammen mit der Arbeitsgruppe. Passen Sie auf, dass Sie jedes Mal den gleichen Namen eingeben.) Im Zusammenhang mit Samba können Sie das Feld Suchreihenfolge für Domänensuffix getrost ignorieren. Die LMHOSTS-Datei Wollen Sie eine LMHOSTS-Datei installieren, legen Sie diese in Ihr WindowsInstallationsverzeichnis (normalerweise C:\Windows). Im gleichen Verzeichnis hat Microsoft eine Beispiel-LMHOSTS-Datei namens lmhosts.sam zur Verfügung gestellt, die Sie heranziehen können, wenn Sie weitere Informationen über das Format dieser Datei benötigen. Die Registerkarte NetBIOS Diese Registerkarte gibt es bei Windows 98/Me, nicht jedoch bei Windows 95. Sie müssen hier nur darauf achten, dass das Optionsfeld aktiviert ist, das NetBIOS über TCP/IP ermöglicht. Ist TCP/IP Ihr einziges installiertes Protokoll (wie wir zuvor empfohlen haben), ist diese Auswahlmöglichkeit ausgegraut. Das Optionsfeld ist dann markiert; Sie könnten es also nicht deaktivieren, selbst wenn Sie wollten. Die Registerkarte Bindungen Die letzte Registerkarte, die Sie sich anschauen sollten, ist Bindungen (siehe Abbildung 310).
Abbildung 3-10 Die Registerkarte Bindungen
Sie müssen Client für Microsoft-Netzwerke anklicken, wodurch Sie angeben, dass TCP/IP verwendet wird. Falls Sie die Option »Datei- und Druckerfreigabe für Microsoft-Netzwerke« im Dialog vorfinden, aktivieren Sie sie ebenfalls, wie in Abbildung 3-10 gezeigt.
Den Computernamen und die Arbeitsgruppe einstellen Klicken Sie schließlich im Dialog Eigenschaften von TCP/IP auf OK. Sie gelangen wieder zurück in den Netzwerk-Dialog. Wenn Sie nun die Registerkarte Identifikation auswählen, sehen Sie ein Dialogfeld, dargestellt in Abbildung 3-11.
Abbildung 3-11 Die Registerkarte Identifikation
Hier stellen Sie den NetBIOS-Namen Ihres Systems ein (der von Microsoft gern auch als »Computername« bezeichnet wird). Normalerweise ist es am besten, hier den gleichen Namen zu benutzen wie für den DNS-Hostnamen, falls Sie Ihrem System einen solchen gegeben haben. Lautet beispielsweise der DNS-Name Ihres Systems huastec.metran.cx, geben Sie als NetBIOS-Namen für den Computer in dieser Registerkarte huastec ein. Sie können hier auch den Arbeitsgruppennamen einstellen. In unserem Fall handelt es sich um METRAN, falls Sie jedoch in Kapitel 2 beim Erzeugen der Samba-Konfigurationsdatei einen anderen verwendet haben, nehmen Sie natürlich diesen. Verwenden Sie nur nicht den Namen WORKGROUP (den vorgegebenen Arbeitsgruppennamen), da Sie sich sonst in der gleichen Arbeitsgruppe wiederfinden wie jeder falsch konfigurierte Windows-Computer auf diesem Planeten! Außerdem können Sie für diesen Computer einen Kommentar eingeben. Beschreiben Sie ihn gut, damit Sie wissen, um welchen Rechner es sich handelt und wo er sich befindet, wenn Sie den Kommentar in einer Liste auf einem anderen Computer sehen. Jede andere Person im Netzwerk kann Ihren Kommentar sehen, veröffentlichen Sie deshalb keine Informationen, die Crackern helfen könnten, in Ihren Rechner einzudringen. Klicken Sie schließlich auf den OK-Button und folgen Sie den Anweisungen, die Windows Ihnen gibt. (Eventuell müssen Sie die Windows-CD-ROM einlegen und/oder den Rechner neu starten.)
Benutzername und Kennwort Möglicherweise haben Sie bei Windows bereits einen Benutzernamen und ein Kennwort angegeben. Damit Sie sich jedoch am Samba-Server authentifizieren können, müssen Ihr Windows-Benutzername und das Kennwort einem gültigen Zugang auf dem Samba-Server entsprechen. Es ist recht einfach, auf einem Windows 95/98/Me-System einen neuen Benutzer sowie dessen Kennwort anzulegen. Starten Sie den Computer einfach neu oder melden Sie sich ab. Wenn Sie nach einem Benutzernamen und einem Kennwort gefragt werden, geben Sie Ihren Unix-Benutzernamen und das Kennwort ein. (Falls Sie verschlüsselte Kennwörter
verwenden, müssen Sie auf dem Unix-Host smbpasswd ausführen, um diese in die Kennwortdatenbank von Samba aufzunehmen, sollten Sie dies noch nicht erledigt haben.) Sie können mit Hilfe dieser Methode so viele Benutzer hinzufügen, wie Sie wollen. Auf diese Weise können Sie es mehr als einem Benutzer erlauben, das Windows-System zu verwenden, um Zugriff auf die Samba-Freigaben zu erlangen. Haben Sie versehentlich das falsche Kennwort eingegeben oder hat Ihr Unix-Kennwort sich geändert, ändern Sie Ihr Kennwort auf dem Windows-System. Doppelklicken Sie dazu in der Systemsteuerung auf das Kennwörter-Symbol. Dadurch öffnet sich der Dialog Eigenschaften von Kennwörter. Klicken Sie auf die Registerkarte Kennwörter ändern. Sie sehen den Dialog aus Abbildung 3-12. Klicken Sie nun auf den Button »Windows-Kennwort ändern...«. Sie gelangen so in das Dialogfeld Windows-Kennwort ändern, das Sie in Abbildung 3-13 sehen können. Geben Sie in die entsprechenden Texteingabefelder zuerst Ihr altes Kennwort und anschließend Ihr neues Kennwort ein. Die Eingabe des neuen Kennworts müssen Sie wiederholen, um es zu bestätigen. Klicken Sie auf OK und danach auf Schliessen in der Dialogbox Eigenschaften von Kennwörter. Starten Sie den Rechner neu oder melden Sie sich ab. Wenn Sie sich wieder anmelden, verwenden Sie Ihr neues Kennwort.
Abbildung 3-12 Das Dialogfeld Eigenschaften von Kennwörter
Abbildung 3-13 Der Dialog Windows-Kennwort ändern
Zum ersten Mal anmelden Wenn Sie die Registerkarte Kennwörter ändern im Fenster Eigenschaften von Kennwörter nicht finden können, liegt das daran, dass das Netzwerk noch nicht fertig eingerichtet wurde. Vorausgesetzt, Sie sind bis hierhin allen Anweisungen gefolgt, müssen Sie nun nur noch einen Neustart ausführen. Wenn das System startet, fordert es Sie auf, sich mit Benutzernamen und Kennwort anzumelden. Das war es jetzt! Ihr Samba-Server läuft, und Sie haben Ihren Windows 95/98/Me-Client dazu gebracht, mit ihm zu kommunizieren. Von Windows 95/98 auf den Samba-Server zugreifen Doppelklicken Sie das Symbol Netzwerkumgebung auf dem Desktop. Sie sollten Ihren Samba-Server als Mitglied der Arbeitsgruppe aufgeführt finden (siehe Abbildung 3-14).
Abbildung 3-14 Die Windows 95/98Netzwerkumgebung
Wenn Sie auf den Server-Namen doppelklicken, sehen Sie die Ressourcen, die der Server im Netzwerk anbietet, wie in Abbildung 3-15 dargestellt (in diesem Fall handelt es sich um das Verzeichnis test).
Abbildung 3-15 Der freigegebene Ordner test auf dem Server Toltec
Von Windows Me auf den Samba-Server zugreifen Doppelklicken Sie auf dem Desktop auf das Symbol Netzwerkumgebung. Sie sollten das freigegebene Verzeichnis test sehen, wie in Abbildung 3-16 dargestellt.
Abbildung 3-16 Netzwerkumgebung unter Windows Me
Doppelklicken Sie auf das Symbol Gesamtes Netzwerk. Wie in Abbildung 3-17 dargestellt, finden Sie hier ein Symbol für Ihre Arbeitsgruppe.
Abbildung 3-17 Das Fenster Gesamtes Netzwerk mit der Arbeitsgruppe Metran
Wenn Sie auf das Arbeitsgruppensymbol doppelklicken, öffnet sich ein Fenster, in dem alle Computer aus der Arbeitsgruppe angezeigt werden. Darunter sollte auch Ihr Samba-Server zu finden sein (siehe Abbildung 3-18).
Abbildung 3-18 Computer in der Arbeitsgruppe Metran
Doppelklicken Sie auf das Symbol des Samba-Servers. Sie erhalten ein Fenster, in dem seine freigegebenen Ressourcen gezeigt werden (in diesem Fall das Verzeichnis test). In Abbildung 3-19 ist dies dargestellt.
Abbildung 3-19 Darstellung der Freigaben auf dem Server Toltec
Finden Sie den Server nicht in der Liste, liegt das möglicherweise daran, dass das Durchsuchen des Netzwerks nicht richtig funktioniert oder der Server einige Minuten braucht, um in der Suchliste aufzutauchen. In beiden Fällen können Sie auf den StartButton klicken und dort im Menü den Befehl »Ausführen...« wählen. In der sich öffnenden Dialogbox können Sie den Namen Ihres Servers und den Namen der Freigabe test im Windows-UNC-Format \\server\test eingeben, wie wir in Kapitel 1 demonstriert haben. Auf Ihrem Desktop sollte ein Fenster erscheinen, in dem der Inhalt des Ordners angezeigt wird. Falls dies nicht funktioniert, gibt es vermutlich ein Problem mit der Namensauflösung. Versuchen Sie es noch einmal, diesmal mit der IP-Adresse des Servers an Stelle seines Computernamens:
\\172.16.1.1\test
Sollte es dann immer noch nicht funktionieren, lesen Sie gleich den Abschnitt »Der Fehlerbaum« in Kapitel 12, um festzustellen, was mit dem Netzwerk nicht stimmt, und um diesen Fehler zu beheben. Funktioniert es hingegen, dann gratulieren wir! Versuchen Sie einmal, Dateien mittels Dragand-Drop auf und vom Server zu kopieren. Sie werden überrascht sein, wie gut das geht.
Windows NT 4.0-Computer einrichten Das Konfigurieren von Windows NT funktioniert ein bisschen anders als das Konfigurieren von Windows 95/98/Me. Um Samba mit Windows NT benutzen zu können, benötigen Sie sowohl den Arbeitsstationsdienst als auch das TCP/IP-Protokoll. Beide sind zwar standardmäßig in NT enthalten, wir werden uns aber dennoch mit deren Installation und Konfiguration befassen, um sicherzustellen, dass sie richtig eingerichtet wurden.
Die grundlegende Konfiguration Dieser Abschnitt zeigt Ihnen, wie Sie bei der TCP/IP-bezogenen Konfiguration von Windows NT vorgehen müssen, um NT dazu zu bringen, mit Samba zusammenzuarbeiten. Falls Sie nähere Informationen zur Windows NT-Netzwerkadministration benötigen, empfehlen wir Ihnen das Buch Windows NT TCP/IP Netzwerk-Administration von Craig Hunt und Robert Bruce Thompson (O'Reilly). Sie müssen die folgenden Schritte als Administrator oder als Benutzer in der Gruppe Administratoren ausführen. Das TCP/IP-Protokoll installieren Doppelklicken Sie in der Systemsteuerung auf das Netzwerk-Symbol, klicken Sie in der Netzwerk-Dialogbox auf die Registerkarte Protokolle und schauen Sie nach, ob das TCP/IPProtokoll bereits installiert wurde, wie in Abbildung 3-20 zu sehen.
Abbildung 3-20 Die Registerkarte Protokolle
Wurde das Protokoll noch nicht installiert, müssen Sie es hinzufügen. Klicken Sie auf den
Button Hinzufügen. Daraufhin öffnet sich das Dialogfeld Auswahl: Netzwerkprotokoll, das Sie in Abbildung 3-21 sehen. Das TCP/IP-Protokoll sollte als eines der letzten Protokolle aufgeführt sein.
Abbildung 3-21 Das Dialogfeld Auswahl: Netzwerkprotokoll
Wählen Sie TCP/IP als Protokoll und bestätigen Sie Ihre Wahl. Falls möglich, installieren Sie nur das TCP/IP-Protokoll. Sollten Sie auf der Registerkarte Protokolle noch etwas anderes sehen als TCP/IP und es handelt sich nicht um ein von Ihnen benötigtes Protokoll, können Sie es entfernen. Wenn Sie bei dem Versuch, ein Protokoll zu entfernen, eine Fehlermeldung erhalten, die Ihnen sagt, dass dieses Protokoll von einem anderen Dienst verwendet wird, müssen Sie zuerst in der Registerkarte Dienste diesen Dienst löschen, bevor Sie das Protokoll entfernen können. Um beispielsweise das Protokoll NWLink IPX/SPXkompatibler Transport entfernen zu können, müssen Sie zuerst den Dienst Client Service für Netware löschen. Den Arbeitsstationsdienst installieren Klicken Sie nach der Installation von TCP/IP auf die Registerkarte Dienste im NetzwerkDialog und prüfen Sie, ob Sie einen Arbeitsstationsdienst haben, wie am Ende der Liste in Abbildung 3-22 zu sehen.8 Bei diesem Dienst handelt es sich eigentlich um den Microsoft-Netzwerk-Client, der es dem Computer erlaubt, auf SMB-Dienste zuzugreifen. Der Arbeitsstationsdienst ist zwingend erforderlich. Der Dienst wird standardmäßig sowohl auf Windows NT Workstation 4.0 als auch auf NT Server 4.0 installiert. Wenn er fehlt, können Sie ihn auf die gleiche Weise installieren wie TCP/IP. In diesem Fall müssen Sie auf den Button Hinzufügen klicken und dann den Arbeitsstationsdienst auswählen, wie in Abbildung 3-23 demonstriert wird.
Abbildung 3-22 Die Registerkarte Dienste
Abbildung 3-23 Das Dialogfeld Auswahl: Netzwerkdienst
TCP/IP konfigurieren Nachdem Sie den Arbeitsstationsdienst installiert haben, kehren Sie zur Registerkarte Protokolle zurück und wählen im Fenster den Eintrag TCP/IP-Protokoll aus. Klicken Sie anschließend auf den Button Eigenschaften unter dem Fenster. Das Dialogfeld Eigenschaften von Microsoft TCP/IP wird angezeigt. In dieser Dialogbox gibt es fünf Registerkarten, und Sie müssen mit vier davon arbeiten: ● ● ● ●
IP-Adresse WINS-Adresse DNS Bindungen
Registerkarte IP-Adresse: Die Registerkarte IP-Adresse ist in Abbildung 3-24 zu sehen.
Abbildung 3-24 Das Dialogfeld Eigenschaften von Microsoft TCP/IP für Windows NT
Markieren Sie den Radio-Button »IP-Adresse angeben« und geben Sie die IP-Adresse des Computers sowie die Netzmaske in den für den entsprechenden Anschluss (Ethernet-Karte) vorgesehenen Platz ein. Sie oder Ihr Netzwerkverwalter sollten für den Client eine Adresse im gleichen Subnetz (LAN) wie der Samba-Server ausgewählt haben. Hat beispielsweise der Server die Adresse 172.16.1.1 und lautet seine Netzmaske 255.255.255.0, könnten Sie die Adresse 172.16.1.13 (falls diese verfügbar ist) für die NT-Workstation sowie die gleiche Netzmaske verwenden. Verwenden Sie in Ihrem Netzwerk DHCP, wählen Sie stattdessen den Button »IP-Adresse von einem DHCP-Server beziehen«. Das Gateway-Feld bezieht sich auf ein System, das üblicherweise als Router bezeichnet wird. Haben Sie Router, die an mehrere Netzwerke angeschlossen sind, sollten Sie die IPAdresse desjenigen eingeben, der sich in Ihrem Subnetz befindet. In unserem Beispiel sind Gateway und Samba-Server ein und dasselbe System, das muss aber nicht so sein. Registerkarte WINS-Adresse: Klicken Sie auf die Registerkarte WINS-Adresse, die in Abbildung 3-25 zu sehen ist. Nun können Sie beginnen, Informationen über die Name-Server einzugeben. Geben Sie die Adresse Ihres WINS-Servers in das Feld ein, das mit Primärer WINS-Server bezeichnet ist. Stellt Ihr Samba-Server den WINS-Dienst zur Verfügung (haben Sie also die Zeile wins support = yes in die Datei smb.conf Ihres Samba-Servers aufgenommen), setzen Sie hier die IP-Adresse des Samba-Servers ein. Geben Sie ansonsten die Adresse eines anderen WINS-Servers in Ihrem Netzwerk ein.
Abbildung 3-25 Die Registerkarte WINS-Adresse
Sie haben vermutlich bemerkt, dass es hier ein Feld für die Netzwerkkarte gibt. Dieses Feld muss den Ethernet-Adapter angeben, auf dem Sie TCP/IP ausführen, damit WINS den Namensdienst im richtigen Netzwerk zur Verfügung stellt. Haben Sie zum Beispiel sowohl einen LAN- als auch einen Einwähl-Adapter, müssen Sie dafür sorgen, dass hier die Netzwerkkarte für das LAN angegeben ist. Die Checkboxen in der unteren Hälfte des Dialogfelds dienen dazu, zwei andere Methoden zur Namensauflösung zu aktivieren, die Windows in seinen Namensdienst einbeziehen kann. Samba benötigt zwar keine von beiden, aber möglicherweise wollen Sie sie ja aktivieren, um die Zuverlässigkeit oder die Funktionalität des Namensdienstes für Ihren Client zu erhöhen. In Kapitel 7 finden Sie weitere Informationen zu Fragen der Namensauflösung. Wollen Sie einen DNS-Server benutzen, markieren Sie das Optionsfeld DNS für WindowsAuflösung aktivieren. Außerdem müssen Sie einige Konfigurationen vornehmen, damit das Windows-System den DNS-Server findet. Diese Maßnahmen sind nicht notwendig, wenn Sie DHCP verwenden. Registerkarte DNS: Klicken Sie auf die Registerkarte für DNS, wie in Abbildung 3-26 gezeigt. Geben Sie die IPAdressen eines oder mehrerer DNS-Server in die entsprechenden Felder ein. Geben Sie außerdem den Hostnamen ein (dieser muss identisch mit dem NetBIOS-Computernamen sein). Sie brauchen diese Werte später noch einmal in einem anderen Dialogfeld, achten Sie deshalb darauf, dass sie übereinstimmen. Geben Sie schließlich die DNS-Domain ein, in der sich das System befindet. Trägt Ihre Workstation beispielsweise den Domainnamen metran.cx, geben Sie diesen hier ein. Die anderen Optionen können Sie getrost ignorieren.
Abbildung 3-26 Die Registerkarte DNS
Die LMHOSTS-Datei: Wenn Sie eine LMHOSTS-Datei installieren wollen, müssen Sie diese in das Verzeichnis \system32\drivers\etc unter dem Windows-Installationsverzeichnis (üblicherweise C: \WINNT) legen. Um sicherzustellen, dass die Datei an die richtige Stelle gelangt, führt der einfachste Weg über den Button LMHOSTS importieren auf der Registerkarte WINSAdresse. (Möchten Sie diese Aktion über das Netzwerk ausführen, müssen Sie zuerst Filesharing installieren!) Denken Sie daran, dass Sie das Optionsfeld LMHOSTS-Abfrage aktivieren auf der Registerkarte WINS-Adresse anklicken müssen, um diese Funktion zu aktivieren. Wenn Sie mit Ihren Einstellungen für die IP-Adresse, die WINS-Adresse und DNS zufrieden sind, klicken Sie auf OK, um in den Netzwerk-Dialog zurückzukehren. Bindungen: Klicken Sie nun auf die Registerkarte Bindungen und prüfen Sie die Bindungen der Netzwerk-Hardware, der Dienste und Protokolle. Setzen Sie das Feld »Anzeige der Bindungen für« auf »Alle Dienste« und klicken Sie auf alle +-Buttons in der Baumdarstellung. Die Darstellung sollte etwa so aussehen wie in Abbildung 3-27. Dort wird gezeigt, dass die NetBIOS-, Server- und Workstation-Schnittstellendienste mit dem WINSClient verbunden sind, der das TCP/IP-Protokoll ausführt, und dass der WINS-Client an den Ethernet-Adapter des lokalen Netzwerks gebunden ist.
Abbildung 3-27 Die Registerkarte Bindungen
Auf den restlichen Registerkarten des Netzwerk-Dialogfelds können Sie guten Gewissens die Vorgabewerte stehen lassen. Klicken Sie auf OK, um die Konfiguration zu vervollständigen. Sobald die richtigen Dateien (falls vorhanden) geladen sind, müssen Sie möglicherweise den Rechner neu starten, damit die Änderungen wirksam werden.
Computername und Arbeitsgruppe Als Nächstes müssen Sie dem System einen NetBIOS-Computernamen geben. Doppelklicken Sie in der Systemsteuerung auf das Netzwerk-Symbol, um das NetzwerkDialogfeld zu öffnen. Die erste Registerkarte in diesem Dialog sollte die Registerkarte Identifikation sein, wie in Abbildung 3-28 zu sehen ist.
Abbildung 3-28 Die Registerkarte Identifikation
Hier müssen Sie Ihrem Computer einen Namen geben und an Stelle der Standardarbeitsgruppe diejenige Arbeitsgruppe eintragen, die Sie in der Datei smb.conf Ihres Samba-Servers angegeben haben. Klicken Sie auf den Button Ändern unterhalb der beiden Textfelder. Dadurch öffnet sich das Dialogfeld Identifikationsänderungen, in das Sie die Arbeitsgruppe und den Computernamen eintragen können (siehe Abbildung 3-29).
Abbildung 3-29 Der Dialog Identifikationsänderungen
Sie haben den Computernamen bereits früher während der Konfiguration von TCP/IP als DNS-Hostnamen eingegeben, achten Sie daher darauf, dass die beiden Namen auch wirklich übereinstimmen. Der Name, den Sie hier festlegen, ist der NetBIOS-Name. Dieser Name darf sich vom TCP/IP-Hostnamen unterscheiden, das ist aber normalerweise keine so gute Idee. Machen Sie sich keine Sorgen darüber, dass Windows NT den Computernamen und die Arbeitsgruppe in Großbuchstaben schreibt; das System ist clever genug herauszufinden, was Sie meinen, wenn es sich mit dem Netzwerk verbindet.
Einen Benutzer anlegen In allen vorangegangenen Schritten haben Sie sich an Ihrem Windows NT-System als Administrator oder als Benutzer aus der Gruppe Administratoren angemeldet. Um auf Ressourcen auf dem Samba-Server zugreifen zu können, benötigen Sie einen Benutzernamen und ein Kennwort, die der Samba-Server als gültig akzeptiert. Im Allgemeinen ist es am besten, wenn Sie Ihrem NT-System einen Benutzer hinzufügen, der
den gleichen Benutzernamen und das gleiche Kennwort besitzt wie ein Benutzer auf dem Samba-Hostsystem.
Die Anweisungen in diesem Abschnitt gehen davon aus, dass Ihr Netzwerk als Arbeitsgruppe eingerichtet ist. Falls Sie Ihr Netzwerk bereits als Domäne eingerichtet haben, wie wir in Kapitel 4 beschreiben werden, müssen Sie den Anweisungen zum Anlegen eines lokalen Benutzers auf dem Windows NT-Client-System nicht folgen. Melden Sie sich von dem Client aus einfach an der Domäne an, indem Sie einen Benutzernamen und ein Kennwort aus Sambas smbpasswd-Datenbank verwenden, und fahren Sie mit dem nächsten Abschnitt »Mit dem Samba-Server verbinden« fort. Um einen neuen Benutzer anzulegen, öffnen Sie das Start-Menü, navigieren durch das Programme-Untermenü zum Punkt Verwaltung (Allgemein) und wählen Benutzer-Manager. Klicken Sie auf das Menü Benutzer und wählen Sie den ersten Eintrag Neuer Benutzer..., wie in Abbildung 3-30 dargestellt.
Abbildung 3-30 Das Fenster Benutzer-Manager
Dadurch öffnet sich das Dialogfeld Neuer Benutzer (siehe Abbildung 3-31).
Abbildung 3-31 Der Dialog Neuer Benutzer
Füllen Sie es mit dem Benutzernamen und dem Kennwort aus, die Sie im vorherigen Kapitel hinzugefügt haben. Achten Sie darauf, dass nur das Optionsfeld mit der Bezeichnung Kennwort läuft nie ab markiert ist. (Das ist nicht voreingestellt!) Klicken Sie auf den Button Hinzufügen, um den Benutzer anzulegen. Anschließend klicken Sie auf Schliessen. Der neue Account sollte nun in die Liste des Dialogs Benutzer-Manager aufgenommen worden sein. Öffnen Sie jetzt das Start-Menü, wählen Sie Beenden und markieren Sie den Radio-Button »Anwendungen schließen und als neuer Benutzer anmelden«. Klicken Sie auf den Button Ja und melden Sie sich als der neue Benutzer an.
Mit dem Samba-Server verbinden Jetzt kommt der große Augenblick. Ihr Samba-Server läuft, und Sie haben Ihren NT-Client so eingerichtet, dass er mit ihm kommuniziert. Doppelklicken Sie auf das Symbol der Netzwerkumgebung auf dem Desktop. Ihr Samba-Server sollte nun als Mitglied der Arbeitsgruppe aufgeführt sein, wie in Abbildung 3-32 zu sehen.
Abbildung 3-32 Die Netzwerkumgebung unter Windows NT
Wenn Sie auf den Server-Namen doppelklicken, werden die Ressourcen angezeigt, die der Server im Netzwerk anbietet (siehe Abbildung 3-33). In diesem Fall werden der Windows NT-Workstation das Verzeichnis test und der Standarddrucker zur Verfügung gestellt.
Abbildung 3-33 Vom Server Toltec angebotene Freigaben
Keine Panik, falls der Server nicht zu sehen ist. Wählen Sie Ausführen... aus dem StartMenü. Ein Dialogfeld wird geöffnet, in das Sie den Namen Ihres Servers sowie sein freigegebenes Verzeichnis im Windows-Format eingeben können. Sie würden beispielsweise \\toltec\test eintippen, wie in Abbildung 3-34 demonstriert wird. An Stelle von »toltec« setzen Sie den Hostnamen Ihres Servers ein.
Abbildung 3-34 Das Öffnen eines freigegebenen Verzeichnisses mit Hilfe des NetBIOS-Namens des Servers in der UNC
Das funktioniert sogar, wenn die Suchdienste nicht richtig eingerichtet sind, was ein häufig auftretendes Problem darstellt. Sie können ein Problem mit dem Namensdienst auch umgehen, indem Sie die IP-Adresse des Servers (etwa 172.16.1.1 in unserem Beispiel) an Stelle des Hostnamens des Samba-Servers einsetzen, wie in Abbildung 3-35 gezeigt. Prüfen Sie erneut Ihre Konfiguration. Falls immer noch Fehler auftreten, lesen Sie den Abschnitt »Der Fehlerbaum« in Kapitel 12, um die Probleme zu beheben, die im Netzwerk vorliegen.
Abbildung 3-35 Das Öffnen eines freigegebenen Verzeichnisses mit Hilfe der IPAdresse des Servers in der UNC
Herzlichen Glückwunsch, wenn alles funktioniert! Versuchen Sie, Dateien zum und vom Server zu kopieren, indem Sie deren Symbole zum bzw. vom Ordner der Samba-Freigabe ziehen. Sie werden freudig überrascht sein, wie gut das geht.
Windows 2000-Computer einrichten Windows 2000 beruht zwar auf der NT-Technik und funktioniert in vielerlei Hinsicht ähnlich wie Windows NT, die Konfiguration für die Benutzung mit Samba ist jedoch anders. Sie müssen die folgenden Schritte als Administrator oder als Benutzer aus der Gruppe Administratoren ausführen.
Netzwerkkomponenten Doppelklicken Sie in der Systemsteuerung auf das Symbol Netzwerk und DFÜVerbindungen. Sie sollten wenigstens ein LAN-Verbindung-Symbol sehen können. Gibt es mehr als eines, ermitteln Sie dasjenige, das dem Netzwerk-Adapter entspricht, der mit Ihrem Samba-Netzwerk verbunden ist. Klicken Sie mit der rechten Maustaste auf das LANVerbindung-Symbol und wählen Sie den Befehl Eigenschaften. (Oder doppelklicken Sie auf das LAN-Verbindung-Symbol und klicken Sie in dem sich öffnenden Dialog auf den Button Eigenschaften.) Sie sollten jetzt das Dialogfeld Eigenschaften von LAN-Verbindung sehen, das in Abbildung 3-36 dargestellt wird.
Abbildung 3-36 Der Windows 2000-Dialog Eigenschaften von LAN-Verbindung
Zuallererst werden Sie auf den Button Konfigurieren unter dem Feld für den NetzwerkAdapter klicken wollen, um sicherzugehen, dass Sie die Meldung »Das Gerät ist betriebsbereit« im Gerätestatus-Fenster sehen. Gibt es ein Problem, korrigieren Sie dies, bevor Sie weitermachen. Sie sollten außerdem die Meldung »Gerät verwenden (aktivieren)« im Geräteverwendung-Feld des Dialogs sehen. Stellen Sie dieses Feld entsprechend ein, falls das noch nicht geschehen ist. Klicken Sie auf OK oder Abbrechen, um wieder in den Dialog Eigenschaften von LAN-Verbindung zu gelangen. Sie müssen wenigstens die folgenden beiden Komponenten sehen: ● ●
Client für Microsoft-Netzwerke Internetprotokoll (TCP/IP)
Falls weder Client für Microsoft-Netzwerke noch Internetprotokoll (TCP/IP) in Ihrer Liste auftauchen, müssen Sie diese hinzufügen. Dazu klicken Sie bei beiden Komponenten auf den Button Installieren..., wählen die Art der Komponente (Client oder Protokoll) und klicken dann auf den Button Hinzufügen... Wählen Sie als Nächstes die Komponente aus, die Sie hinzufügen wollen, und klicken Sie dann auf den OK-Button. Die Komponente muss nun in der Liste mit den anderen Komponenten auftauchen. Einige Komponenten sollten aus der Liste entfernt werden: ● ● ● ●
NetBEUI-Protokoll NWLink NetBIOS NWLink IPX/SPX/NetBIOS-kompatibles Transportprotokoll Client Service für Netware
Falls Sie neben TCP/IP ein weiteres Protokoll in der Liste sehen und es sich nicht um ein benötigtes Protokoll handelt, können Sie es entfernen. Deinstallieren Sie NetBEUI, es sei denn, Sie sind sich sicher, dass Sie es brauchen, sowie auch die anderen drei, falls Sie Netware nicht unterstützen müssen. Erhalten Sie bei dem Versuch, ein Protokoll zu löschen, eine Fehlermeldung, die besagt, dass das Protokoll von einem anderen Dienst verwendet wird, müssen Sie zuerst diesen Dienst entfernen, bevor Sie das Protokoll löschen können. Um beispielsweise das NWLink IPX/SPX-kompatible Transportprotokoll löschen zu können, müssen Sie zuerst den Client Service für Netware entfernen.
Um eine Komponente zu entfernen, wählen Sie die Komponente in der Liste aus, klicken dann auf Deinstallieren und anschließend im sich öffnenden Dialogfeld auf Ja. Manchmal muss Windows anschließend neu starten, damit die Änderung wirksam wird.
Bindungen Neben jedem Client, Dienst oder Protokoll im Dialog Eigenschaften von LAN-Verbindung sehen Sie ein Optionsfeld. Stellen Sie sicher, dass sowohl das Optionsfeld für Client für Microsoft-Netzwerke als auch das für Internetprotokoll (TCP/IP) aktiviert ist. Dadurch wird angezeigt, dass die Netzwerkkomponenten an den Netzwerk-Adapter gebunden sind, der im oberen Teil des Dialogfelds zu sehen ist.
TCP/IP konfigurieren Klicken Sie nun auf Internetprotokoll (TCP/IP) und danach auf Eigenschaften, um den Dialog Eigenschaften von Internetprotokoll (TCP/IP) zu öffnen, den Sie in Abbildung 3-37 sehen können.
Abbildung 3-37 Der Dialog Eigenschaften von Internetprotokoll (TCP/IP)
IP-Adresse
Falls Sie in Ihrem Netzwerk DHCP verwenden, um IP-Adressen dynamisch zuzuweisen, wählen Sie den Radio-Button »IP-Adresse automatisch beziehen«. Ansonsten wählen Sie den Radio-Button »Folgende IP-Adresse verwenden:« und setzen die IP-Adresse des Computers sowie die Netzmaske in den entsprechenden Feldern ein. Sie oder Ihr Netzwerkverwalter sollten für den Client eine Adresse im gleichen Subnetz (LAN) wie der Samba-Server gewählt haben. Lautet beispielsweise die Adresse des Servers 172.16.1.1 und seine Netzmaske 255.255.255.0, könnten Sie die Adresse 172.16.1.14 verwenden, falls sie zur Verfügung steht, sowie die gleiche Netzmaske. Sie können außerdem die IPAdresse des Standard-Gateways einsetzen. DNS-Server Klicken Sie im unteren Teil des Dialogs auf den Radio-Button »Folgende DNSServeradressen verwenden:« und setzen Sie die IP-Adresse Ihres DNS-Servers ein. Klicken Sie nun auf den Button Erweitert..., um den Dialog Erweiterte TCP/IP-Einstellungen zu öffnen, und wählen Sie dort die Registerkarte WINS. WINS-Server Geben Sie die Adresse Ihres WINS-Servers in das Feld mit der Bezeichnung »WINSAdressen in Verwendungsreihenfolge:« ein. Stellt Ihr Samba-Server einen WINS-Dienst zur Verfügung (mit anderen Worten, haben Sie die Zeile wins service = yes in die Datei smb. conf Ihres Samba-Servers aufgenommen), geben Sie hier die IP-Adresse des SambaServers an. Setzen Sie ansonsten die Adresse eines anderen WINS-Servers in Ihrem Netzwerk ein.
Abbildung 3-38 Der Dialog Erweiterte TCP/IP-Einstellungen mit der Registerkarte WINS
Wählen Sie im unteren Teil des Dialogfelds den Radio-Button »NetBIOS über TCP/IP aktivieren«. Abbildung 3-38 zeigt, wie der Dialog Erweiterte TCP/IP-Einstellungen jetzt aussehen sollte. Die LMHOSTS-Datei Falls Sie eine LMHOSTS-Datei installieren wollen, platzieren Sie diese in das Verzeichnis \system32\drivers\etc unterhalb Ihres Windows-Installationsverzeichnisses (normalerweise C:\WINNT ). Der einfachste Weg sicherzustellen, dass die Datei an die richtige Stelle gelangt, führt über einen Klick auf den Button LMHOSTS importieren auf der Registerkarte WINS. (Möchten Sie diese Aktion über das Netzwerk ausführen, müssen Sie zuerst Filesharing installieren!) Denken Sie daran, dass Sie das Optionsfeld LMHOSTS-Abfrage aktivieren auf der Registerkarte WINS anklicken müssen, um diese Funktion zu aktivieren. Wenn Sie mit den Einstellungen für die IP-Adresse, die WINS-Adresse und DNS zufrieden sind, betätigen Sie die OK-Buttons in den jeweiligen Dialogen, um die Konfiguration zu vervollständigen. Windows muss unter Umständen einige Dateien von der Windows 2000CD-ROM laden, und eventuell müssen Sie den Rechner neu starten, damit die Änderungen wirksam werden.
Computer- und Arbeitsgruppennamen Doppelklicken Sie in der Systemsteuerung auf das System-Symbol, um das Dialogfeld Systemeigenschaften zu öffnen. Klicken Sie auf die Registerkarte Netzwerkidentifikation. Der Dialog sieht jetzt etwa so aus, wie in Abbildung 3-39 dargestellt.
Abbildung 3-39 Der Dialog Systemeigenschaften mit der Registerkarte Netzwerkidentifikation
Um Ihrem Computer einen Namen und eine Arbeitsgruppe zu geben, klicken Sie auf den Button Eigenschaften. Dadurch öffnet sich der Dialog Änderungen der Benutzerinformationen (siehe Abbildung 3-40).
Abbildung 3-40 Der Dialog Änderungen der Benutzerinformationen
Sie müssen Ihren Computer mit einem Namen versehen und die Arbeitsgruppe entsprechend der von Ihnen in der Datei smb.conf Ihres Samba-Servers angegebenen Gruppe ändern. Kümmern Sie sich nicht darum, dass Windows den Computernamen und die Arbeitsgruppe in Großbuchstaben schreibt; es ist clever genug herauszufinden, was Sie meinen, wenn es eine Verbindung zum Netzwerk aufnimmt. Klicken Sie auf den Button Erweitert..., um den Dialog DNS-Suffix und NetBIOSComputername zu öffnen, der in Abbildung 3-41 zu sehen ist.
Abbildung 3-41 Der Dialog DNS-Suffix und NetBIOSComputername
Geben Sie den DNS-Domainnamen dieses Computers in das mit Primäres DNS-Suffix des Computers: bezeichnete Feld ein und klicken Sie dann auf OK. Sie sollten nun den vollständigen Namen (FQDN) dieses Systems unter der Bezeichnung »Vollständiger Computername:« sehen. Klicken Sie auf OK und starten Sie bei der entsprechenden Aufforderung den Rechner neu, um die Änderungen der Konfiguration wirksam werden zu lassen. Melden Sie sich erneut mit Ihrem Administratorzugang an.
Es gab Berichte über Probleme mit der Authentifizierung bei Samba, wenn ein Benutzername auf einem Windows 2000-System identisch ist mit seinem Computernamen.
Anlegen eines Benutzers mit Zugriff auf Samba Bisher waren Sie an Ihrem Windows 2000-System als Benutzer aus der AdministratorenGruppe angemeldet. Um auf Ressourcen auf dem Samba-Server zuzugreifen, benötigen Sie einen Benutzernamen und ein Kennwort, die vom Samba-Server als gültig erkannt werden. Verfügt Ihr administrativer Zugang über einen solchen Benutzernamen und ein solches Kennwort, können Sie diese verwenden. Aber vermutlich wollen Sie auf Ihr System und das Netzwerk lieber von einem nicht-administrativen Zugang aus zugreifen.
Die Anweisungen in diesem Abschnitt gehen davon aus, dass Sie Ihr Netzwerk als Arbeitsgruppe eingerichtet haben. Falls Sie Ihr Netzwerk dagegen bereits als Domäne eingerichtet haben, was wir in Kapitel 4 beschreiben werden, müssen Sie den Anweisungen zum Anlegen eines lokalen Benutzers auf dem Windows 2000-Client-System nicht folgen. Melden Sie sich an der Domäne einfach mit einem Benutzernamen und einem Kennwort aus der smbpasswd-Datenbank von Samba an und fahren Sie mit dem nächsten Abschnitt »Mit dem Samba-Server verbinden« fort. Um einen neuen Benutzer anzulegen, öffnen Sie die Systemsteuerung und doppelklicken auf das Symbol Benutzer und Kennwörter, um den Dialog Benutzer und Kennwörter, zu sehen in Abbildung 3-42, zu öffnen.
Abbildung 3-42 Der Dialog Benutzer und Kennwörter
Zuerst müssen Sie sicherstellen, dass das Optionsfeld mit der Bezeichnung »Benutzer müssen für den Computer Benutzernamen und Kennwort eingeben.« aktiviert ist. Klicken Sie als Nächstes auf den Button Hinzufügen..., um das erste Dialogfeld des Assistenten zum Hinzufügen eines neuen Benutzers (siehe Abbildung 3-43) zu öffnen.
Abbildung 3-43 Einen neuen Benutzer anlegen
Füllen Sie die vorhandenen Felder aus. Verwenden Sie dabei den Benutzernamen eines gültigen Benutzerzugangs auf dem Samba-Host und klicken Sie dann auf Weiter >, um das Kennwort des Benutzers einzugeben und zu bestätigen. Dieses Kenwort muss mit dem Kennwort des Benutzers auf dem Samba-Host übereinstimmen. Falls Sie verschlüsselte Kennwörter benutzen, achten Sie darauf, dass dieser Benutzername und dieses Kennwort mit denjenigen identisch sind, die Sie beim Ausführen des smbpasswd-Programms
verwendet haben. Klicken Sie nochmals auf Weiter >. Dadurch öffnet sich der letzte Dialog, den Sie in Abbildung 3-44 sehen können.
Abbildung 3-44 Festlegen einer Gruppe für den neuen Benutzer
Wählen Sie eine Gruppe für den Benutzer (die vorgegebene Gruppe Standardbenutzer sollte in Ordnung sein) und klicken Sie auf den Button Fertig stellen. Der neue Zugang muss nun in der Liste des Dialogfelds Benutzer und Kennwörter auftauchen. Klicken Sie auf OK, um den Vorgang abzuschließen. Kehren Sie nun in das Fenster Benutzer und Kennwörter der Systemsteuerung zurück und wählen Sie die Registerkarte Erweitert. Klicken Sie anschließend auf den Button Erweitert. Klicken Sie auf den Ordner Benutzer auf der linken Seite des sich öffnenden Fensters Lokale Benutzer und Gruppen und doppelklicken Sie dann auf der rechten Seite des Fensters auf den Zugang, den Sie gerade angelegt haben. Es erscheint das Fenster Eigenschaften. Dort aktivieren Sie das Optionsfeld mit der Bezeichnung Kennwort läuft nie ab. Sie sind fertig! Betätigen Sie in allen Dialogboxen die OK-Buttons und schließen Sie alle offenen Fenster. Öffnen Sie das Start-Menü, klicken Sie auf Beenden und wählen Sie Benutzername abmelden aus dem Drop-down-Menü. Klicken Sie auf OK und melden Sie sich dann unter dem Benutzernamen an, den Sie gerade angelegt haben.
Mit dem Samba-Server verbinden Jetzt kommt der große Augenblick. Ihr Samba-Server läuft, und Sie haben Ihren Windows 2000-Client so eingerichtet, dass er mit ihm kommuniziert. Doppelklicken Sie zuerst auf das Symbol Netzwerkumgebung auf dem Desktop und anschließend auf das Symbol Benachbarte Computer, um die Arbeitsgruppe zu durchsuchen. Sie sollten den SambaServer als Mitglied der Arbeitsgruppe aufgeführt sehen, wie in Abbildung 3-45 dargestellt wird.
Abbildung 3-45 Das Fenster Benachbarte Computer, in dem die Computer in der Arbeitsgruppe
zu sehen sind
Wenn Sie auf den Server-Namen doppelklicken, werden die Ressourcen angezeigt, die der Server dem Netzwerk anbietet (siehe Abbildung 3-46).
Abbildung 3-46 Vom Server Toltec angebotene Freigaben
In diesem Fall werden der Windows 2000-Workstation das Verzeichnis test und der Standarddrucker angeboten. Keine Panik, falls Sie den Server nicht in der Liste sehen. Wählen Sie Ausführen aus dem Start-Menü. Im sich öffnenden Dialog können Sie den Namen Ihres Servers und seines freigegebenen Verzeichnisses im Windows-Format eingeben. Sie würden beispielsweise \\toltec\test tippen, wie in Abbildung 3-47 gezeigt. Natürlich setzen Sie an Stelle von »toltec« den Hostnamen Ihres Servers ein.
Abbildung 3-47 Das Öffnen eines freigegebenen Verzeichnisses mit Hilfe des NetBIOS-Namens des Servers in der UNC
Das funktioniert sogar, wenn die Suchdienste nicht richtig eingerichtet sind, was ein häufig auftretendes Problem darstellt. Sie können ein Problem mit dem Namensdienst auch umgehen, indem Sie die IP-Adresse des Servers (wie etwa 172.16.1.1 in unserem Beispiel) an Stelle des Hostnamens des Samba-Servers eingeben, wie in Abbildung 3-48 gezeigt wird.
Abbildung 3-48 Das Öffnen eines freigegebenen Verzeichnisses mit Hilfe der IP-Adresse des Servers in der UNC
Falls all dies nicht hilft, lesen Sie den Abschnitt »Der Fehlerbaum« in Kapitel 12, um Probleme mit dem Netzwerk zu beheben. Wir gratulieren Ihnen, wenn alles funktioniert! Versuchen Sie, Dateien zum und vom Server zu kopieren. Sie werden freudig überrascht sein, wie gut alles geht. Nachdem Sie nun den Samba-Server und seine Clients eingerichtet haben, können Sie mit dem nächsten Kapitel fortfahren.
Windows XP-Computer einrichten Windows XP ist Windows 2000 zwar sehr ähnlich, allerdings besitzt es eine andere
Benutzeroberfläche. Außerdem gibt es eine Reihe feiner Unterschiede. Beispielsweise verläuft der Weg zur Systemsteuerung anders als in vorangegangenen Windows-Versionen - man muss auf den Eintrag Systemsteuerung im Start-Menü klicken (es gibt keinen Eintrag namens Einstellungen im Start-Menü von XP). XP zeigt die Systemsteuerung standardmäßig in der Kategorienansicht. Klicken Sie in diesem Fall auf Zur klassischen Ansicht wechseln in der oberen linken Ecke des Fensters. Unsere Anweisungen beziehen sich auf das Arbeiten mit der Systemsteuerung in der klassischen Ansicht. Sie müssen die folgenden Schritte als Administrator oder als Benutzer aus der Gruppe Administratoren ausführen.
Netzwerkkomponenten Doppelklicken Sie in der Systemsteuerung auf das Symbol Netzwerk- und DFÜVerbindungen. Sie sollten wenigstens ein LAN-Verbindung-Symbol sehen. Gibt es mehr als eines, ermitteln Sie dasjenige, das dem Netzwerk-Adapter entspricht, der an Ihr SambaNetzwerk angeschlossen ist. Klicken Sie mit der rechten Maustaste auf das LAN-VerbindungSymbol und wählen Sie Eigenschaften aus dem Menü. (Oder doppelklicken Sie auf das LANVerbindung-Symbol und klicken Sie dann auf den Eigenschaften-Button im sich öffnenden Dialog.) Sie müssten nun den Dialog Eigenschaften von LAN-Verbindung vor sich haben, wie in Abbildung 3-49 gezeigt.
Abbildung 3-49 Der Dialog Eigenschaften von LANVerbindung
Zuallererst werden Sie auf den Button Konfigurieren unter dem Feld für den NetzwerkAdapter klicken wollen, um sicherzugehen, dass Sie die Meldung »Gerät ist betriebsbereit« im Gerätestatus-Fenster sehen. Gibt es ein Problem, korrigieren Sie dies, bevor Sie weitermachen. Sie sollten außerdem die Meldung »Gerät verwenden (aktivieren)« im Geräteverwendung-Feld des Dialogs sehen. Stellen Sie dieses Feld entsprechend ein, falls das noch nicht geschehen ist. Klicken Sie auf OK oder Abbrechen, um wieder in den Dialog Eigenschaften von LAN-Verbindung zu gelangen.
Sie sollten wenigstens die folgenden beiden Komponenten sehen: ● ●
Client für Microsoft-Netzwerke Internetprotokoll (TCP/IP)
Falls weder Client für Microsoft-Netzwerke noch Internetprotokoll (TCP/IP) in Ihrer Liste auftauchen, müssen Sie diese hinzufügen. Dazu klicken Sie bei beiden Komponenten auf den Button Installieren..., wählen die Art der Komponente (Client oder Protokoll) und klicken dann auf den Button Hinzufügen... Wählen Sie als Nächstes die Komponente aus, die Sie hinzufügen wollen, und klicken Sie dann auf den OK-Button. Die Komponente muss nun in der Liste mit den anderen Komponenten auftauchen. Falls Sie neben TCP/IP ein weiteres Protokoll in der Liste sehen und es sich nicht um ein benötigtes Protokoll handelt, können Sie es entfernen. Taucht NetBEUI in der Liste auf, dann deinstallieren Sie es nach Möglichkeit. Deinstallieren Sie auch alle mit Netware zusammenhängenden Komponenten, wenn Sie Netware nicht unterstützen müssen. Erhalten Sie bei dem Versuch, ein Protokoll zu löschen, eine Fehlermeldung, die besagt, dass das Protokoll von einem anderen Dienst verwendet wird, müssen Sie zuerst diesen Dienst entfernen, bevor Sie das Protokoll löschen können. Um beispielsweise das NWLink IPX/SPX-kompatible Transportprotokoll löschen zu können, müssen Sie zuerst den Client Service für Netware entfernen. Um eine Komponente zu entfernen, klicken Sie darauf, anschließend auf den Button Deinstallieren und dann in der sich öffnenden Dialogbox auf Ja. Manchmal müssen Sie Windows neu starten, um die Änderungen wirksam werden zu lassen. Bindungen Neben jedem Client, Dienst oder Protokoll im Dialog Eigenschaften von LAN-Verbindung sehen Sie ein Optionsfeld. Stellen Sie sicher, dass sowohl das Optionsfeld für Client für Microsoft-Netzwerke als auch das für Internetprotokoll (TCP/IP) aktiviert ist. Dadurch wird angezeigt, dass die Netzwerkkomponenten an den Netzwerk-Adapter gebunden sind, der im oberen Teil des Dialogs zu sehen ist.
TCP/IP konfigurieren Klicken Sie nun auf Internetprotokoll (TCP/IP) und danach auf Eigenschaften, um den Dialog Eigenschaften von Internetprotokoll (TCP/IP) zu öffnen, den Sie in Abbildung 3-50 sehen können.
Abbildung 3-50 Der Dialog Eigenschaften von Internetprotokoll (TCP/IP)
IP-Adresse Falls Sie in Ihrem Netzwerk DHCP verwenden, um IP-Adressen dynamisch zuzuweisen, wählen Sie den Radio-Button »IP-Adresse automatisch beziehen«. Ansonsten wählen Sie den Radio-Button »Folgende IP-Adresse verwenden:« und setzen die IP-Adresse des Computers sowie die Netzmaske in den entsprechenden Feldern ein. Sie oder Ihr Netzwerkverwalter sollten für den Client eine Adresse im gleichen Subnetz (LAN) wie der Samba-Server gewählt haben. Lautet beispielsweise die Adresse des Servers 172.16.1.1 und seine Netzmaske 255.255.255.0, könnten Sie die Adresse 172.16.1.12 verwenden, falls sie zur Verfügung steht, sowie die gleiche Netzmaske. Sie können außerdem die IPAdresse des Standard-Gateways einsetzen. DNS-Server Klicken Sie im unteren Teil des Dialogfelds auf den Radio-Button »Folgende DNSServeradressen verwenden:« und setzen Sie die IP-Adresse Ihres DNS-Servers ein. Nun klicken Sie auf den Button Erweitert..., um den Dialog Erweiterte TCP/IP-Einstellungen zu öffnen. Dort wählen Sie die Registerkarte WINS. WINS-Server Geben Sie die Adresse Ihres WINS-Servers in das Feld mit der Bezeichnung »WINSAdressen in Verwendungsreihenfolge:« ein. Stellt Ihr Samba-Server den WINS-Dienst zur Verfügung (mit anderen Worten, gibt es die Zeile wins support = yes in der Datei smb.conf Ihres Samba-Servers), geben Sie hier die IP-Adresse des Samba-Servers an. Setzen Sie
ansonsten die Adresse eines anderen WINS-Servers in Ihrem Netzwerk ein. Wählen Sie im unteren Teil des Dialogfelds den Radio-Button mit der Bezeichnung NetBIOS über TCP/IP aktivieren. Abbildung 3-51 zeigt, wie der Dialog Erweiterte TCP/IPEinstellungen an dieser Stelle aussehen sollte.
Abbildung 3-51 Der Dialog Erweiterte TCP/IP-Einstellungen mit der Registerkarte WINS
Die LMHOSTS-Datei Falls Sie eine LMHOSTS-Datei installieren wollen, platzieren Sie diese in das Verzeichnis \system32\drivers\etc unterhalb Ihres Windows-Installationsverzeichnisses (normalerweise C:\WINNT ). Am sichersten platzieren Sie die Datei an der richtigen Stelle, wenn Sie auf den Button LMHOSTS importieren auf der Registerkarte WINS klicken. (Möchten Sie diese Aktion über das Netzwerk ausführen, müssen Sie zuerst Filesharing installieren!) Denken Sie daran, dass Sie das Optionsfeld LMHOSTS-Abfrage aktivieren auf der Registerkarte WINS anklicken müssen, um diese Funktion zu aktivieren. Wenn Sie mit den Einstellungen für die IP-Adresse, die WINS-Adresse und DNS zufrieden sind, betätigen Sie die OK-Buttons in den jeweiligen Dialogen (und den Button Schliessen
im Dialogfeld Eigenschaften von LAN-Verbindung), um die Konfiguration zu vervollständigen. Windows muss unter Umständen einige Dateien von der Windows XP-CDROM laden, und eventuell müssen Sie den Rechner neu starten, damit die Änderungen wirksam werden.
Computer- und Arbeitsgruppennamen Doppelklicken Sie in der Systemsteuerung auf das Symbol System, um den Dialog Systemeigenschaften zu öffnen. Klicken Sie auf die Registerkarte Computername. Der Dialog sieht jetzt so ähnlich aus wie der in Abbildung 3-52.
Abbildung 3-52 Der Dialog Systemeigenschaften mit der Registerkarte Computername
Um Ihrem Computer einen Namen und eine Arbeitsgruppe zu geben, klicken Sie auf den Button Ändern... Daraufhin wird der Dialog Computername ändern geöffnet (siehe Abbildung 3-53).
Abbildung 3-53 Der Dialog Computername ändern
Sie müssen Ihren Computer mit einem Namen versehen und die Arbeitsgruppe entsprechend der von Ihnen in der Datei smb.conf Ihres Samba-Servers angegebenen Gruppe ändern. Kümmern Sie sich nicht darum, dass Windows den Computernamen und die Arbeitsgruppe in Großbuchstaben schreibt; es ist clever genug herauszufinden, was Sie meinen, wenn es eine Verbindung zum Netzwerk aufnimmt. Klicken Sie auf den Button Weitere..., um den Dialog DNS-Suffix und NetBIOSComputername, zu sehen in Abbildung 3-54, zu öffnen.
Abbildung 3-54 Der Dialog DNS-Suffix und NetBIOSComputername
Geben Sie den DNS-Domainnamen dieses Computers in das Feld mit der Bezeichnung Primäres DNS-Suffix des Computers: ein und klicken Sie auf OK. Sie müssten nun den vollqualifizierten Domainnamen (FQDN) dieses Systems unter der Bezeichnung Vollständiger Computername: im Dialogfeld Computername ändern sehen. Klicken Sie auf den OK-Button und starten Sie den Rechner neu, um die Änderungen wirksam werden zu lassen. Melden Sie sich erneut unter Ihrem Administratorzugang an.
Es gab Berichte über Probleme mit der Authentifizierung bei Samba, wenn ein Benutzername auf einem Windows XP-System identisch mit seinem Computernamen ist.
Anlegen eines Benutzers mit Zugriff auf Samba Bisher waren Sie an Ihrem Windows XP-System als Benutzer aus der AdministratorenGruppe angemeldet. Um auf Ressourcen auf dem Samba-Server zuzugreifen, benötigen Sie einen Benutzernamen und ein Kennwort, die vom Samba-Server als gültig erkannt werden. Verfügt Ihr administrativer Zugang über einen solchen Benutzernamen und ein solches Kennwort, können Sie diese verwenden. Aber vermutlich wollen Sie auf Ihr System und das Netzwerk lieber von einem nicht-administrativen Zugang aus zugreifen.
Die Anweisungen in diesem Abschnitt gehen davon aus, dass Ihr Netzwerk als Arbeitsgruppe eingerichtet ist. Haben Sie Ihr Netzwerk jedoch bereits als Domäne eingerichtet, was wir in Kapitel 4 beschreiben werden, müssen Sie die Anweisungen zum Anlegen eines lokalen Benutzers auf dem Windows XP-Client-System nicht befolgen. Melden Sie sich an der Domäne einfach von dem Client aus an, wobei Sie einen Benutzernamen und ein Kennwort aus der smbpasswd-Datenbank von Samba verwenden, und fahren Sie mit dem nächsten Abschnitt »Mit dem Samba-Server verbinden« fort. Um einen neuen Benutzer anzulegen, öffnen Sie die Systemsteuerung und doppelklicken auf das Symbol Benutzerkonten. Dadurch öffnet sich das Benutzerkonten-Fenster, das Sie in Abbildung 3-55 sehen können.
Abbildung 3-55 Das Benutzerkonten-Fenster
Klicken Sie auf die Aufgabe Neues Konto erstellen. Das Fenster, das Sie in Abbildung 3-56 sehen können, erscheint. Geben Sie einen Benutzernamen ein und klicken Sie anschließend auf den Weiter >-Button.
Abbildung 3-56 Den Benutzernamen eingeben
Klicken Sie nun auf den Radio-Button mit der Bezeichnung »Eingeschränkt« (siehe Abbildung 3-57). Wenn Sie auf den Button Konto erstellen klicken, sehen Sie den Benutzernamen, den Sie gerade angelegt haben, neben einem Bild im unteren Teil des Benutzerkonten-Fensters. Sie müssen dem Zugang aber noch ein Kennwort zuweisen. Klicken Sie auf den Zugang, um das Fenster »Was möchten Sie am Konto von benutzer ändern?« zu öffnen. Anschließend klicken Sie auf Kennwort erstellen. Geben Sie das Kennwort ein. Zur Bestätigung müssen Sie es danach noch einmal eingeben.
Abbildung 3-57 Die Art des Kontos festlegen
Dieses Kennwort muss mit dem Kennwort des Benutzers auf dem Samba-Host identisch sein. Falls Sie verschlüsselte Kennwörter verwenden, müssen Sie sicherstellen, dass dieser Benutzername und dieses Kennwort denjenigen entsprechen, die Sie beim Ausführen des Programms smbpasswd verwendet haben. Wenn Sie auf den Button Kennwort erstellen klicken, sind Sie mit dem Anlegen des Benutzers fertig. Öffnen Sie nun das Start-Menü und klicken Sie auf den Button Abmelden. Im sich öffnenden Dialog Windows abmelden müssen Sie erneut den Button Abmelden betätigen.
Wenn Windows den Anmeldebildschirm präsentiert, klicken Sie einfach auf den gerade angelegten Benutzer und geben dann das Kennwort ein, um sich anzumelden.
Mit dem Samba-Server verbinden Jetzt kommt der große Augenblick. Ihr Samba-Server läuft, und Sie haben Ihren Windows XP-Client so eingerichtet, dass er mit ihm kommuniziert. Wählen Sie im Start-Menü Arbeitsplatz9, um das Fenster Arbeitsplatz zu öffnen. Klicken Sie auf Netzwerkumgebung im Feld Andere Orte im linken Teil des Fensters. Sie sollten ein Ordnersymbol für das Verzeichnis test sehen (siehe Abbildung 3-58).
Abbildung 3-58 Das Fenster Netzwerkumgebung
Klicken Sie nun auf Arbeitsgruppencomputer anzeigen im Feld Netzwerkaufgaben auf der linken Seite des Fensters. Ihr Samba-Server sollte als Mitglied der Arbeitsgruppe aufgelistet sein. Wenn Sie auf sein Symbol doppelklicken, sehen Sie ein Fenster, das so ähnlich aussieht, wie das in Abbildung 3-59 gezeigte.
Abbildung 3-59 Vom Server Toltec angebotene Freigaben
Keine Panik, falls der Server in der Liste der Arbeitsgruppe nicht auftaucht. Wählen Sie Ausführen... aus dem Start-Menü. Im sich öffnenden Dialogfeld können Sie den Namen Ihres Servers sowie sein freigegebenes Verzeichnis im Windows-Format eingeben. Sie würden beispielsweise \\toltec\test tippen, wie in Abbildung 3-60 zu sehen. An Stelle von »toltec« benutzen Sie den Hostnamen Ihres Servers.
Abbildung 3-60 Das Öffnen eines freigegebenen Verzeichnisses mit Hilfe des NetBIOS-Namens des Servers in der UNC
Dies funktioniert sogar, wenn die Suchdienste nicht richtig eingerichtet sind, was ein häufig auftretendes Problem darstellt. Sie können auch ein Problem mit dem Namensdienst umgehen, indem Sie die IP-Adresse des Servers (wie etwa 172.16.1.1 in unserem Beispiel) an Stelle des Hostnamens des Samba-Servers eingeben, wie in Abbildung 3-61 demonstriert wird.
Abbildung 3-61
Das Öffnen eines freigegebenen Verzeichnisses mit Hilfe der IP-Adresse des Servers in der UNC
Falls all dies nicht hilft, lesen Sie den Abschnitt »Der Fehlerbaum« in Kapitel 12, um Probleme mit dem Netzwerk zu beheben. Herzlichen Glückwunsch, wenn alles funktioniert! Versuchen Sie, Dateien zum und vom Server zu kopieren, indem Sie deren Symbole in den und aus dem test-Ordner des SambaServers ziehen. Sie werden überrascht sein, wie gut alles geht. 1Wir
lassen Gerätetreiber absichtlich aus, da diese Hardware-spezifisch sind und wir davon ausgehen, dass Sie vom Hersteller Installationsanweisungen erhalten. 2Achten
Sie darauf, dass Sie die gleiche Netzmaske verwenden wie alle anderen Systeme im Netzwerk. Sie ermitteln die verwendete Netzmaske, indem Sie auf Unix- oder Windows-Systemen nachschauen, die bereits konfiguriert wurden. 3Denken
Sie daran, dass IP-Adressen, die auf .0 enden, für Netzwerkadressen, und IPAdressen, die auf .255 enden, für Broadcast-Adressen reserviert sind. Diese dürfen niemals einem anderen System im Netzwerk zugewiesen werden. 4Um
genau zu sein, das System meldet sich selbst am Netzwerk als b-Knoten und nicht als h-Knoten an. 5Wir
haben die Namen der Dateien LMHOSTS und HOSTS in Großbuchstaben geschrieben, um für zusätzliche Klarheit zu sorgen - um Sie nämlich daran zu erinnern, dass wir uns auf Dateien unter Windows und nicht unter Unix beziehen. Außerdem werden sie auch in anderen Büchern über Windows so geschrieben. Die Schreibweise der Buchstaben in den beiden Dateinamen spielt eigentlich keine Rolle. 6Die
Adresse 127.0.0.1 wird als Localhost-Adresse bezeichnet und verweist immer auf sich selbst. Falls Sie beispielsweise auf einem Unix-Server ping 127.0.0.1 eingeben, müssen Sie immer eine Antwort erhalten, da Sie den Host selbst ansprechen. 7Dieses
Update wird in verschiedenen Update-Paketen von Microsoft angeboten.
8Beachten
Sie, dass in Windows NT manche Clients als »Dienste« bezeichnet werden. In diesen Anweisungen werden wir uns an die Microsoft-Terminologie halten. 9Wenn es an dieser Stelle einen Eintrag Netzwerkumgebung im Start-Menü gibt, können Sie ein wenig Zeit sparen und einfach darauf klicken. Es macht nichts, wenn dieser Eintrag jetzt noch nicht zu sehen ist, er erscheint später automatisch.
Copyright © 2003 by O'Reilly Verlag GmbH & Co.KG
Samba, 2. Auflage Von Jay Ts, Robert Eckstein, and David Collier-Brown 2. Auflage, August 2003 O'Reilly Verlag, ISBN: 3-89721-359-1 www.oreilly.de/catalog/samba2ger/ Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.
Kapitel 4 Windows NT-Domänen In den vorangegangenen Kapiteln haben wir uns auf den Netzwerkbetrieb mit Arbeitsgruppen konzentriert, um die Dinge einfach zu halten und Ihnen Netzwerke mit Samba auf eine möglichst schmerzlose Weise näher bringen zu können. Das Arbeiten mit Arbeitsgruppen hat jedoch seine Nachteile. Für viele ComputerUmgebungen lohnen die größere Sicherheit und die einheitlichen Anmeldemöglichkeiten der Windows NTDomäne den zusätzlichen Aufwand, den die Implementierung einer Domäne mit sich bringt. Neben den Domäneneigenschaften, die in Kapitel 1 besprochen wurden, ermöglicht eine Domäne den Einsatz von Anmeldeskripten und Roaming-Profilen (auch als Roving-Profile bezeichnet). Ein Anmeldeskript ist eine Textdatei mit Befehlen, die während des Starts ausgeführt werden. Ein Profil stellt eine Sammlung von Informationen über die Desktop-Umgebung dar, einschließlich des Inhalts des Start-Menüs, der Symbole, die auf dem Desktop auftauchen, und anderer Charakteristika der grafischen Oberfläche, die von den Benutzern an ihre Wünsche angepasst werden können. Ein Roaming-Profil kann seinem Besitzer von Computer zu Computer folgen und lässt diesen dadurch immer in seiner vertrauten Umgebung arbeiten, unabhängig davon, von welchem Rechner er sich anmeldet. Eine Windows NT-Domäne bietet zentralisierte Kontrolle über das Netzwerk. Von einem Administrator können Richtlinien eingerichtet werden, um Aspekte der Umgebung des Benutzers zu definieren und die Kontrolle zu begrenzen, die dieser über das Netzwerk und dessen Computer haben kann. Administratoren können auch von jeder Windows NT/2000/XP-Workstation eine Fernwartung der Domänen-Controller durchzuführen. Samba