Using Samba

Using Samba

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

Buy the hardcopy

Inhaltsverzeichnis


Previous: 4.1 Die Samba Konfigurationsdatei kennen lernen Kapitel 4
Disk Shares
Next: 4.3 Optionen der Konfigurationsdatei
 

4.2 Besondere Sections

Nachdem wir nun mit den Variablen nasse Füße bekommen haben, sollten wir über ein paar besondere Sections der Samba Konfigurationsdatei sprechen. Noch einmal: sei unbesorgt, wenn du nicht jede einzelne der nachfolgend angeführten Optionen verstehst, wir werden jede davon im Laufe der bevorstehenden Kapitel durchnehmen.

4.2.1 Die [ globals] Section

Die [globals] Section scheint in jeder virtuellen Samba Konfigurationsdatei auf, selbst wenn es nicht Pflicht ist, eine zu definieren. Jede in dieser Section gesetzte Option der Datei gilt für alle anderen Shares, wie wenn der Inhalt der Section in die Share selbst kopiert wäre. Eine Sache schiebt einen Riegel vor: andere Sections können dieselbe Option in ihrer Section mit einem neuen Wert anführen; das hat den Effekt, dass der in der [globals] -Section festgelegte Wert überschrieben wird.

Um dies zu illustrieren, werfen wir wieder einen Blick in das Eröffungsbeispiel dieses Kapitels:

[global] 
	log level = 1 
	max log size = 1000
	socket options = TCP_NODELAY IPTOS_LOWDELAY 
	guest ok = no
[homes] 
	browseable = no
	map archive = yes
[printers] 
	path = /usr/tmp
	guest ok = yes
	printable = yes
	min print space = 2000
[test] 
	browseable = yes
	read only = yes
	guest ok = yes
	path = /export/samba/test

Im vorstehenden Beispiel, wo wir einen Client mit der [test] -Share verbanden, würde Samba zuerst in der [globals] -Section lesen. An dieser Stelle würde es die Option guest ok = no als die globale, voreingestellte für jede Share setzen, die es in der ganzen Konfigurationsdatei antrifft. Das schließt die [homes] und die [printers] -Share mit ein. Wenn es nun die [test] -Share liest, wird es dort die Konfigurations-Option guest ok = yes finden und den voreingestellten Wert der [globals] -Section mit dem Wert yes iim Kontext der [test] -Share überschreiben.

Jede Option, die außerhalb einer Section (vor der ersten markierten Section) erscheint, wird ebenfalls als globale Option angenommen.

4.2.2 Die [homes] Section

Wenn ein Client versucht, sich mit einer Share zu verbinden, die nicht in der smb.conf erscheint, sucht Samba nach einer Share [homes] in der Konfigurationsdatei. Wenn eine existiert, so wird angenommen, der unidentifizierte Sharename sei ein Unix-Username, der in der Passwort-Datenbank des Sambaservers gesucht wird. Wenn dieser Username aufscheint, nimmt Samba an, der Client sei ein Unix-User, der versucht, sich mit seinem (oder ihrem) Home-Verzeichnis auf dem Server zu verbinden.

Nimm z.B. an, eine Client-Maschine verbindet sich zum ersten Mal mit dem Sambaserver hydra und versucht, sich mit einer Share namens [alice] zu verbinden. Es ist keine Share [alice] in der smb.conf -Datei definiert, aber es gibt eine [homes], daher durchsucht Samba die Passwort-Datenbank und findet einen alice -Useraccount auf dem System vor. Dann prüft Samba das vom Client eingegebene Passwort gegenüber dem Unix-Passwort des Users alice's Unix password - entweder mit der Passwort-Datenbank, wenn es nicht verschlüsselte Passwörter benützt, oder Sambas smbpasswd -Datei, wenn verschlüsselte Passwörter in Gebrauch stehen. Stimmen die Passwörter überein, dann weiß Samba, es hat richtig vermutet: die Userin alice versucht, sich mit ihrem Home-Verzeichnis zu verbinden. Samba erzeugt dann eine Share namens [alice] für sie.

Der Prozess der Verwendung der [homes] -Section, User zu erzeugen (und das Behandeln ihrer Passwörter), wird im Kapitel 6, User, Security und Domains, genauer diskutiert.

4.2.3 Die [printers] Section

Die dritte besondere Section heißt [printers] und ist [homes] ähnlich. Wenn ein Client versucht, sich mit einer Share zu verbinden, die nicht in der smb.conf -Datei vorkommt und deren Name nicht in der Passwort-Datei steht, wird Samba überprüfen, ob sie nicht eine Drucker-Share ist. Samba liest dazu die Druckfähigkeitsdatei (gewöhnlich /etc/printcap), um nachzuschauen, ob der Name der Share hier aufscheint.[1] Ist das der Fall, so erzeugt Samba eine nach dem Drucker benannte Share.

[1] In Abhängigkeit deines Systems könnte diese Datei nicht /etc/printcap sein. Du kannst mit dem in Samba enthaltenen Befehl testparm den Wert der Konfigurationsoption printcap name bestimmen; das wurde als Vorgabewert gewählt, als Samba kompiliert wurde.

Wie bei [homes] bedeutet das, dass du keine Share für jeden deiner Systemdrucker in der smb.conf unterhalten musst. Statt dessen anerkennt Samba die Unix-Printer-Registry, wenn du danach fragst, und stellt die registrierten Drucker den Client-Maschinen zur Verfügung. Es gibt jedoch eine deutliche Grenze: wenn du einen Account mit dem Namen fred und einen Drucker namens fred hast, findet Samba immer den User-Account zuerst, selbst wenn der Client sich in Wirklichkeit mit dem Drucker verbinden will.

Der Prozess der Einrichtung der Share [printers] wird genauer im Kapitel 7, Drucken und Namensauflösung, beschrieben.

4.2.4 Konfigurations-Optionen

Optionen in der Samba Konfigurationsdatei fallen in eine von zwei Kategorien: global oder share. Jede Kategorie bestimmt, wo eine Option in der Konfigurationsdatei autreten kann.

Global

Globale Optionen müssen in der [global] Section aufscheinen und nirgends sonst. Das sind Optionen, die typisch für das Verhalten des Sambaservers selbst gelten und nicht für irgendeine seiner Shares.

Share

Share-Optionen können in bestimmten Shares oder in der [global] Section auftreten. Kommen sie in der [global] Section vor, werden sie ein vorgegebenes Verhalten für alle Shares festlegen, es sei denn, eine Share übeschreibt die Option mit einem eigenen Wert.

Außerdem kann eine Konfigurations-Option Werte annehmen, die in vier Kategorien eingeteilt werden können. Es sind folgende:

Boolean

Das sind einfach Ja- und Nein-Werte, können aber mit einem von folgenden dargestellt werden: yes, no, true, false, 0, 1. Die Werte können groß oder klein geschrieben werden: YES bedeutet dasselbe wie yes.

Numerisch

Eine Ganzzahl, Hexadezimalzahl oder eine Oktalzahl. Die Standard-Syntax für Hexadezimalzahlen ist 0x nn und 0 nnn für Oktalzahlen.

Zeichenfolge (String)

Eine Zeichenfolge von Groß- und Kleinbuchstaben, wie ein Dateiname oder ein Username.

Aufzählende Liste

Eine endliche Liste aus bekannten Werten. Eine Boolean-Liste ist eine aufzählende Liste mit nur zwei Werten.


Previous: 4.1 Die Samba Konfigurationsdatei kennen lernen Next: 4.3 Optionen der Konfigurationsdatei
4.1 Die Samba Konfigurationsdatei kennen lernen Buch-Index (engl.) 4.3 Optionen der Konfigurationsdatei

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

© 1999, O'Reilly & Associates, Inc.