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: 6.4 Passwörter Kapitel 6
User, Security, und Domains
Next: 6.6 Logon Scripts
 

6.5 Windows Domains

Nachdem du nun bei Usern und Passwörtern auf einem Sambaserver zu Hause bist, können wir dir zeigen, wie Samba als Primary Domain Controller für Windows 95/98 und NT-Maschinen eingerichtet wird. Warum Domains verwenden? Die Antwort ist vielleicht nicht offensichtlich, bis du hinter die Kulissen schaust, besonders bei Windows 95/98.

Ruf dir das mit traditionellen Arbeitsgruppen in Erinnerung, Windows 95/98 akzeptiert einfach jeden Usernamen und jedes Passwort, das du beim Einloggen in das System angibst. Es gibt keine unberechtigten User bei Windows 95/98; wenn ein neuer User einloggt, fragt das Betriebssystem einfach nach einem neuen Passwort und authentifiziert den User mittels des Passworts von da an. Das einzige Mal, dass Windows 95/98 versucht, das von dir eingegebene Passwort zu verwenden, ist beim Verbinden mit einer anderen Share.

Domain-Logons andererseits sind Unix-Systemen ähnlich. Um Zugang zur Domain zu erhalten, muss man beim Start einen gültigen Usernamen und ein Passwort angeben, die dann gegenüber der Passwort-Datenbank des PDCs authentifiziert werden. Wenn das Passwort ungültig ist, wird der User sofort benachrichtigt und kann bei der Domain nicht einloggen.

Es gibt mehr gute Nachrichten: sobald du auf der Domain erfolgreich eingeloggt bist, kannst du auf jede von den Shares in der Domain zugreifen, bei der du Rechte hast, ohne dich noch einmal authentifizieren zu müssen. Genauer: der PDC retourniert ein Zeichen zur Client-Maschine, das ihr Zugriff zu jeder Share erlaubt, ohne den PDC wieder zu konsultieren. Obwohl du vielleicht die Bewegung nicht wahrnimmst, kann dies beim Einschränken des Netzwerkverkehrs von Vorteil sein. (Du kannst dieses Verhalten mit der Option revalidate ausschalten, wenn du willst.)

6.5.1 Samba für Windows Domain Logons konfigurieren

Wenn du wünscht, dass Samba als Domain-Controller auftritt, verwende die folgenden Abschnitte, um Samba und deine Clients für den Domain-Zugriff zu konfigurieren.

Hättest du gerne mehr Information über die Einrichtung von Domains, schau in die Datei DOMAINS.TXT, die mit der Samba-Distribution kommt.

6.5.1.1 Windows 95/98-Clients

Das Einrichten von Samba als PDC für Windows 95/98-Clients ist ein wenig enttäuschend. Alles, was du auf Seiten des Servers wirklich machen musst, ist dafür zu sorgen, dass:

  • Samba der einzige PDC für die betreffende Arbeitsgruppe ist.

  • es einen WINS-Server im Netzwerk gibt, entweder eine Samba-Maschine oder ein Windows NT-Server. (Siehe Kapitel 7, Drucken und Namensauflösung, für mehr Information über WINS.)

  • Samba die Security User-Level verwendet (es gibt z.B. die Passwort-Authentifikation an niemand anderen ab). Du darfst nicht die Security Domain-Level benützen, wenn Samba selbst als der PDC agiert.

An dieser Stelle kannst du folgende Optionen in deine Samba-Konfigurationsdatei einbauen:

[global]
	workgroup = SIMPLE
	domain logons = yes

# Be sure to set user-level security!

	security = user

# Be sure to become the primary domain controller!

	os level = 34
	local master = yes
	preferred master = yes
	domain master = yes

Die Option domain logons ermöglicht Samba, die Domain-Authentifikation im Namen von anderen Clients durchzuführen, die sie anfordern. Der Name der Domain wird derselbe sein wie jener der in der Samba-Konfigurationsdatei angeführten Arbeitsgruppe, in diesem Fall: SIMPLE.

Danach musst du eine non-writable, non-public, non-browesable Disk-Share namens [netlogon] erzeugen (es macht nichts, wohin diese Share zeigt, solange jeder Windows-Client sich mit ihr verbinden kann):

[netlogon]
	comment = The domain logon service
	path = /export/samba/logon
	public = no
	writeable = no
	browsable = no

6.5.1.2 Windows NT-Clients

Wenn du Windows NT-Clients auf deinem System hast, müssen ein paar Schritte mehr unternommen werden, damit Samba als ihr PDC agiert.

WARNUNG: Du musst mindestens Samba 2.1 verwenden, um sicherzustellen, dass die PDC-Funktion für Windows NT-Clients vorhanden ist. Vor Samba 2.1 gab es nur eine beschränkte User-Authentifikation für NT-Clients. Zur Zeit der Drucklegung dieses Buches war Samba 2.0.5 die letzte Version, aber Samba 2.1 stand durch CVS-Download zur Verfügung. Anleitungen zum Download von Alpha-Versionen Sambas werden im Anhang E, Download von Samba mit CVS, erteilt.

Wie vorher musst du sicherstellen, dass Samba ein PDC für die vorliegende Arbeitsgruppe ist und die Security User-Level verwendet. Auch musst du dafür sorgen, dass Samba verschlüsselte Passwörter verwendet. Mit anderen Worten, ändere die [global] Optionen des vorigen Beispiels durch die Aufnahme der Option encrypted passwords = yes, wie hier gezeigt:

[global]
	workgroup = SIMPLE
	encrypted passwords = yes
	domain logons = yes

	security = user 

6.5.1.3 Anlegen von Trust-Accounts für NT-Clients

Diese Maßnahme gilt ausschließlich für Windows NT-Clients. Alle NT-Clients, die sich mit einem PDC verbinden, machen Gebrauch von Trust-Accounts. Diese Accounts erlauben einer Maschine, beim PDC selbst einzuloggen (nicht auf einer seiner Shares), was bedeutet, dass der PDC allen weiteren Verbindungen von Usern auf diesem Client vertrauen kann. Ein Trust-Account ist für alle Absichten und Zwecke identisch mit einem User-Account. Tatsächlich werden wir Standard-Unix-User-Accounts verwenden, um Trust-Accounts für den Sambaserver zu emulieren.

Der Loginname des Trust-Accounts einer Maschine ist der Name der Maschine mit einem angehängten Dollarzeichen. Wenn z.B. unsere Windows NT-Maschine chimaera heißt, würde der Login-Account chimaera$ lauten. Das Anfangs-Passwort des Accounts ist einfach der Name der Maschine in Kleinbuchstaben. Um den Trust-Account auf dem Sambaserver einzurichten, musst du einen Unix-Account mit dem entsprechenden Maschinennamen erzeugen, so wie einen verschlüsselten Passworteintrag in der Datenbank smbpasswd.

Nehmen wir den ersten Teil in Angriff. Hier müssen wir nur die Datei /etc/passwd modifizieren, um den Trust-Account zu unterstützen; es gibt keine Notwendigkeit, ein Home-Verzeichnis zu erzeugen oder einem "User" eine Shell zuzuweisen, weil die einzige Aufgabe, die uns interessiert, ist, ob ein Einloggen gestattet ist. Darum können wir einen "dummy" Account mit folgendem Eintrag herstellen:

chimaera$:*:1000:900:Trust Account:/dev/null:/dev/null

Beachte, dass wir auch das Passwortfeld durch Einsetzen eines * ausgeschaltet haben. Und zwar, weil Samba stattdessen die Datei smbpasswd verwendet, um das Password aufzubewahren, und wir wollen ein Telnet von irgendjemand in die Maschine verhindern, das diesen Account benützt. Tatsächlich ist der einzige Wert, der außer dem Account-Namen verwendet wird, die UID vom Account der verschlüsselten Passwort-Datenbank (1000). Diese Zahl muss eine einzige Ressourcen-ID auf dem NT-Server abbilden und kann nicht mit irgendwelchen anderen Ressourcen-IDs in Widerspruch stehen. Daher sollte kein NT-User oder keine NT-Gruppe auf diese Zahl zeigen, oder es tritt ein Netzwerk-Fehler auf.

Als Nächstes füg das verschlüsselte Passwort mit dem Befehl smbpasswd hinzu, wie folgt:

# smbpasswd -a -m chimaera
Added user chimaera$
Password changed for user chimaera$

Die Option -m legt fest, dass ein Maschinen-Trust-Account erzeugt wird. Das Programm smbpasswd setzt automatisch das verschlüsselte Anfangs-Passwort als den NetBIOS-Namen der Maschine in Kleinbuchstaben, du brauchst es nicht einzugeben. Wenn diese Option auf der Kommandozeile geschrieben wird, setzt kein Dollarzeichen nach dem Maschinennamen - es wird automatisch angehängt. Sobald das verschlüsselte Passwort hinzugefügt wurde, ist Samba bereit, Domain-Logins von einem NT-Client zu verarbeiten.

6.5.2 Windows-Clients für Domain-Logons konfigurieren

Sobald du Samba für Domain-Logons konfiguriert hast, musst du deine Windows-Clients einrichten, damit sie beim Start auf der Domain einloggen.

6.5.2.1 Windows 95/98

Bei Windows 95/98 kann das durch Öffnen des Netzwerk-Konfigurations-Dialogs in der Windows-Systemsteuerung, Auswahl der Eigenschaften des "Clients für Microsoft-Netzwerke", geschehen. An dieser Stelle solltest du eine Dialogbox ähnlich der Figur 6.4 erblicken. Wähle "An Windows NT-Domäne anmelden" im oberen Teil der Dialogbox und gib die Arbeitsgruppe ein, die in der Samba-Konfigurationsdatei als die Windows NT-Domain angegeben ist. Klick dann auf OK und starte die Maschine neu, wenn du dazu aufgefordert wirst.

Figur 6.4: Konfiguration eines Windows 95/98-Clients für Domain-Logons

Figur 6.4

WARNUNG: Wenn sich Windows beschwert, dass du bei der Domäne schon eingeloggt bist, hast du vielleicht eine aktive Verbindung zu einer Share in der Arbeitsgruppe (wie ein gemapptes Netzlaufwerk). Löse die Verbindung einfach vorübergehend, in dem du auf ihr Icon rechts-klickst und im Menü "Verknüpfung lösen" wählst.

Wenn Windows rebootet, solltest du den Standard-Logindialog mit einem Zusatz sehen: ein Feld für eine Domäne. Der Domänenname sollte schon drinnenstehen, also gib einfach dein Passwort ein und klick auf OK. An dieser Stelle sollte Windows beim PDC (Samba) nachschauen, ob das Passwort korrekt ist. (Du kannst die Log-Dateien überprüfen, wenn du das in Aktion sehen willst.) Wenn es funktioniert, Gratulation! Du hast Samba richtig konfiguriert, als ein Domain-Controller für Windows 95/98-Maschinen zu agieren, und dein Client ist erfolgreich verbunden.

6.5.2.2 Windows NT 4.0

Um Windows NT für Domain-Logons zu konfigurieren, öffne den Netzwerk-Konfigurationsdialog in der Windows NT-Systemsteuerung. Der erste Tab, den du erblickst, sollte die Identifikation der Maschine zeigen.

Drück den Button "Ändern" und du solltest die Dialogbox von Figur 6.5 sehen. In dieser Dialogbox kannst du wählen, dass der Windows NT-Client ein Mitglied der Domäne wird, indem du den Radiobutton mit der Bezeichnung "Domain" in der "Member of"-Box markierst. Dann gib die gewünschte Domäne ein, bei der der Client einloggen soll; es sollte dieselbe sein wie die Arbeitsgruppe, die du in der Samba-Konfigurationsdatei angeführt hast. Wähle nicht die Box "Erzeuge einen Computer-Account in der Domäne" - Samba unterstützt derzeit diese Funktion nicht.

Figur 6.5: Konfiguration eines Windows NT-Clients für Domain-Logons

Figur 6.5

WARNUNG: Wie Windows 95/98, wenn NT sich beschwert, dass du bereits eingeloggt bist, hast du vielleicht eine aktive Verbindung zu einer Share in der Arbeitsgruppe (wie ein gemapptes Netzlaufwerk). Löse die Ressource vorübergehend, in dem du auf ihr Icon rechts-klickst und im Menü "Verknüpfung lösen" wählst.

Nach dem Drücken des OK-Buttons sollte dir Windows eine kleine Dialogbox zeigen und dich auf der Domäne wilkommen heißen. An dieser Stelle musst du die Windows NT-Maschine rebooten. Sobald sie wieder hochgefahren ist, wird die Maschine dir automatisch einen Einlog-Schirm ähnlich dem für Windows 95/98-Clients anbieten. Du kannst jetzt mit jedem Account einloggen, den du schon auf dem Sambaserver besitzt, der für die Annahme von Logins konfiguriert ist.

WARNUNG: Sorge für die richtige Auswahl der Domäne in der Windows NT-Logon-Dialogbox. Sobald sie ausgewählt ist, kann es einen Moment dauern, bevor Windows NT die Liste der verfügbaren Domänen generiert.

Nachdem du das Passwort eingegeben hast, sollte Windows NT den PDC (Samba) konsultieren, ob das Passwort korrekt ist. Wiederum: Du kannst die Log-Dateien überprüfen, wenn du das in Aktion sehen willst. Wenn es funktioniert, hast du Samba erfolgreich konfiguriert, als ein Domain-Controller für Windows NT-Maschinen zu agieren.

6.5.3 Domain-Optionen

Tabelle 6.9 zeigt die Optionen, die gewöhnlich in Verbindung mit Domain-Logons gebraucht werden.


Tabelle 6.9: Windows 95/98-Optionen für Domain-Logons

Option

Parameter

Funktion

Vorgabe

Bereich

domain logons

boolean

Zeigt an, ob Windows-Domain-Logons benützt werden.

no

Global

domain group map

string (voller Pfadname)

Name der Datei, die zum Abbilden von Unix- auf Windows NT-Domain-Gruppen verwendet wird.

Keine

Global

domain user map

string (voller Pfadname)

Name der Datei, die zum Abbilden von Unix- auf Windows NT-Domain-User verwendet wird.

Keine

Global

local group map

string (voller Pfadname)

Name der Datei, die zum Abbilden von Unix- auf Windows NT-Lokalgruppen verwendet wird.

Keine

Global

revalidate

boolean

Wenn yes, zwingt Samba die User, sich bei jeder Verbindung zu einer Share zu authentifizieren.

no

Share

6.5.3.1 domain logons

Diese Option konfiguriert Samba, Domain-Logons als ein PDC zu akzeptieren. Wenn ein Client bei der Domäne erfolgreich einloggt, gibt Samba ein Spezial-Zeichen an den Client zurück, das dem Client erlaubt, auf die Shares der Domäne zuzugreifen, ohne den PDC noch einmal wegen der Authentifikation zu konsultieren. Beachte, dass die Samba-Maschine in der Security User-Level laufen (security = user) und der PDC sein muss, damit diese Option funktioniert. Außerdem erwarten Windows-Maschinen eine auf dem Sambaserver existierende Share [netlogon] (siehe den Abschnitt 6.5.1, Samba für Windows Domain Logons konfigurieren, früher in diesem Kapitel).

6.5.3.2 domain group map

Diese Option legt den Standort einer Abbildungsdatei fest, die dazu bestimmt ist, Windows NT Domaingruppen-Namen in Unix-Gruppennamen zu übersetzen. Die Datei sollte auf dem Sambaserver liegen. Zum Beispiel:

/usr/local/samba/private/groups.mapping

Die Datei hat ein einfaches Format:

UnixGroup = NTGroup

Ein Beispiel ist:

admin = Administrative

Die angeführte Unixgruppe sollte eine gültige Gruppe in der Datei /etc/group sein. Die NT-Gruppe sollte der Name sein, unter welchem du die Unix-Gruppe auf einem NT-Client abbilden willst. Diese Option arbeitet nur mit NT-Clients.

6.5.3.3 domain user map

Diese Option legt den Standort einer Abbildungsdatei fest, die dazu bestimmt ist, Windows NT Domainuser-Namen in Unix-Usernamen zu übersetzen. Die Datei sollte auf dem Sambaserver liegen. Zum Beispiel:

/usr/local/samba/private/domainuser.mapping

Die Datei hat ein einfaches Format:

UnixUsername = [\\Domain\\]NTUserName

Ein beispielhafter Eintrag ist:

joe = Joseph Miller

Der angeführte Unixname sollte ein gültiger Username in der Datei /etc/passwd sein. Der NT-Name sollte der Username sein, unter welchem du den Unix-Usernamen auf einem NT-Client abbilden willst. Diese Option arbeitet nur mit NT-Clients.

Wenn du gerne mehr Information darüber hättest, wie Windows NT Domain-Usernamen und lokale Gruppen verwendet, empfehlen wir Eric Pearce's Windows NT in a Nutshell, herausgegeben von O'Reilly.

6.5.3.4 local group map

Diese Option legt den Standort einer Abbildungsdatei fest, die dazu bestimmt ist, Windows NT Lokalgruppen-Namen in Unix-Gruppennamen zu übersetzen. Lokale Gruppennamen umfassen solche wie Administrator und User. Die Datei sollte auf dem Sambaserver liegen. Zum Beispiel:

/usr/local/samba/private/localgroup.mapping

Die Datei hat ein einfaches Format:

UnixGroup = [BUILTIN\]NTGroup

Ein beispielhafter Eintrag ist:

root = BUILTIN\Administrators

Diese Option arbeitet nur mit NT-Clients. Für mehr Information siehe Eric Pearce's Windows NT in a Nutshell (O'Reilly).

6.5.3.5 revalidate

Diese Share-Level-Option weist Samba an, die User jedes Mal zur Authentifikation mit Passwörtern zu zwingen, wenn sie sich mit einer anderen Share auf der Maschine verbinden, egal, welcher Security-Level auf dem Sambaserver eingestellt ist. Der Vorgabewert ist no, was Usern Zugangs-Berechtigung erteilt, sobald sie sich erfolgreich authentifiziert haben. Du kannst das ändern mit:

revalidate = yes

Du kannst diese Option zur Erhöhung der Sicherheit auf deinem System benützen. Nun, du solltest sie abwägen gegenüber der Unannehmlichkeit, User auf jeder Share einschränken zu müssen.


Previous: 6.4 Passwörter Next: 6.6 Logon Scripts
6.4 Passwörter Buch-Index (engl.) 6.6 Logon Scripts

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

© 1999, O'Reilly & Associates, Inc.