Kapitel 30. Upgrade von Samba-2.x auf Samba-3.0.0

Jelmer R. Vernooij

Samba Team

John H. Terpstra

Samba Team

Gerald (Jerry) Carter

Samba Team

Stefan G. Weichinger

Deutsche Übersetzung
German Samba-3-Docs-Translation Team

June 30, 2003

Inhaltsverzeichnis

Kurzanleitung zur Migration
Neue Features in Samba-3
Änderungen von Konfigurationsparametern
Enfernte Parameter
Neue Parameter
Geänderte Parameter (Änderungen im Verhalten):
Neue Funktionalität
Datenbanken
Änderungen im Verhalten
Passdb-Backends und Authentifikation
LDAP

Dieses Kapitel befasst sich ausschließlich mit den Unterschieden zwischen Samba-3.0.0 und Samba-2.2.8a. Es zeigt, wo in der Konfiguration Parameter geändert wurden und stellt eine einfache Anleitung für den Umstieg von 2.2.x auf 3.0.0 dar.

Kurzanleitung zur Migration

Das Standard-Verhalten von Samba-3.0.0 sollte ungefähr dasselbe sein wie das von Samba-2.2.x. Das Standard-Verhalten, wenn der neue Parameter passdb backend nicht in der Datei smb.conf gesetzt ist, entspricht demselben Standard-Verhalten von Samba-2.2.x mit encrypt passwords = Yes und benutzt die Datenbank smbpasswd.

Warum sagen wir dann, das Verhalten sollte ungefähr dasselbe wie bei Samba-2.2.x sein? Weil Samba-3 neue Protokolle beherrscht, z.B. die Unterstützung für Unicode, was zur Folge haben kann, dass anderer Protokoll-Code verwendet wird. Das neue Verhalten unter solchen Umständen ist nicht exakt dasselbe wie das frühere. Die gute Nachricht dabei ist, dass die Domänen- und Maschinen-SIDs beim Upgrade beibehalten werden.

Wenn das Samba-2.2.x-System ein LDAP-Backend verwendet hat und keine Zeit vorhanden ist, um die LDAP-Datenbank upzudaten, sollten Sie zumindest prüfen, dass passdb backend = ldapsam_compat in der Datei smb.conf gesetzt ist. Das restliche Verhalten sollte mehr oder minder das gleiche bleiben. Zu einem späteren Zeitpunkt, wenn Zeit vorhanden ist, um ein neues zu Samba-3 kompatibles LDAP-Backend zu implementieren, ist es möglich, die alte LDAP-Datenbank unter Verwendung des Befehls pdbedit zu migrieren (siehe ???).

Neue Features in Samba-3

Die wichtigsten neuen Features sind:

  1. Active Directory Support. Dieses Release kann sich einer ADS-Realm als Mitgliedsserver anschließen und Benutzer mittels LDAP/Kerberos authentifizieren.

  2. Samba kann nun Unicode on-the-fly verhandeln, und es gibt intern eine viel bessere Infrastruktur für Multi-byte- und Unicode-Zeichensätze.

  3. Neues Authentifizierungssystem. Das interne Authentifizierungssystem wurde fast komplett neu geschrieben. Die meisten Veränderungen sind intern, aber auch das neue Authoring-System ist sehr vielfältig konfigurierbar.

  4. Neuer Befehl „net“. Der neue Befehl „net“ wurde hinzugefügt. Er ähnelt dem Windows-Befehl „net“. Eventuell werden einige andere Werkzeuge (wie smbpasswd) durch Sub-Befehle in „net“ ersetzt.

  5. Samba kann nun Status32-codes von NT on-the-wire verhandeln. Dies verbessert den Umgang mit Fehlern und deren Codes deutlich.

  6. Bessere Windows-200x/XP-Druck-Unterstützung, einschließlich der Bereitstellung von Drucker-Attributen im ADS.

  7. Neue ladbare RPC-Module für passdb-Backends und Zeichensätze.

  8. Neue standardmäßige Dual-Dämon-Unterstützung für Winbind mit besserer Performance.

  9. Unterstützung für die Migration von einer Windows NT 4.0-Domäne auf eine Samba-Domäne unter Beibehaltung von Benutzer-, Gruppen- und Domänen-SIDs.

  10. Unterstützung für das Herstellen von Vertrauensstellungen mit Windows NT 4.0-Domänencontrollern.

  11. Initial-Unterstützung für eine verteilte Winbind-Architektur unter Verwendung eines LDAP-Verzeichnisses zur Speicherung der Zuordnungen von SIDs zu UIDs/GIDs.

  12. Große Updates im Samba-Dokumentationsbaum.

  13. Volle Unterstützung für Client- und Server-Signing, um für Kompatibilität mit den Standard-Sicherheitseinstellungen von Windows 2003 zu sorgen.

Und es gibt noch viele weitere Verbesserungen!

Änderungen von Konfigurationsparametern

Dieser Abschnitt enthält eine kurze Liste von Veränderungen an den Parametern in smb.conf, die in der Samba-Release 3.0.0 enthalten sind. Bitte konsultieren Sie die smb.conf(5)-Manpage für vollständige Beschreibungen der neuen oder geänderten Parameter.

Enfernte Parameter

(alphabetisch geordnet):

  • admin log

  • alternate permissions

  • character set

  • client codepage

  • code page directory

  • coding system

  • domain admin group

  • domain guest group

  • force unknown acl user

  • nt smb support

  • post script

  • printer driver

  • printer driver file

  • printer driver location

  • status

  • stip dot

  • total print jobs

  • use rhosts

  • valid chars

  • vfs options

Neue Parameter

(Die neuen Parameter wurden nach Funktion gruppiert):

Fernwartung

  • abort shutdown script

  • shutdown script

Verwaltung von Benutzer- und Gruppen-Konten:

  • add group script

  • add machine script

  • add user to group script

  • algorithmic rid base

  • delete group script

  • delete user from group script

  • passdb backend

  • set primary group script

Authentifikation:

  • auth methods

  • realm

Protokoll-Optionen:

  • client lanman auth

  • client NTLMv2 auth

  • client schannel

  • client signing

  • client use spnego

  • disable netbios

  • ntlm auth

  • paranoid server security

  • server schannel

  • server signing

  • smb ports

  • use spnego

Datei-Dienst:

  • get quota command

  • hide special files

  • hide unwriteable files

  • hostname lookups

  • kernel change notify

  • mangle prefix

  • map acl inherit

  • msdfs proxy

  • set quota command

  • use sendfile

  • vfs objects

Drucken:

  • max reported print jobs

Unicode und Zeichensätze:

  • display charset

  • dos charset

  • unicode

  • UNIX charset

Zuordnung von SIDs zu UIDs/GIDs:

  • idmap backend

  • idmap gid

  • idmap uid

  • winbind enable local accounts

  • winbind trusted domains only

  • template primary group

  • enable rid algorithm

LDAP:

  • ldap delete dn

  • ldap group suffix

  • ldap idmap suffix

  • ldap machine suffix

  • ldap passwd sync

  • ldap user suffix

Allgemeine Konfiguration:

  • preload modules

  • privatedir

Geänderte Parameter (Änderungen im Verhalten):

  • encrypt passwords (Standard-Wert: YES)

  • mangling method (Standard-Wert: hash2)

  • passwd chat

  • passwd program

  • password server

  • restrict anonymous (Integer-Wert)

  • security (neuer ADS-Wert)

  • strict locking (Standard-Wert: YES)

  • winbind cache time (erhöht auf 5 Minuten)

  • winbind uid (veraltet zugunsten von idmap uid)

  • winbind gid (veraltet zugunsten von idmap gid)

Neue Funktionalität

Datenbanken

Dieser Abschnitt enthält kurze Beschreibungen der neuen Datenbanken, die mit Samba-3 eingeführt wurden. Bitte vergessen Sie nicht, Ihre existierenden ${lock directory}/*tdb-Dateien zu sichern, bevor Sie auf Samba-3 upgraden. Samba wird die Datenbanken upgraden, wenn sie geöffnet sind (wenn nötig), jedoch wird das Downgrade von 3.0 auf 2.2 nicht unterstützt.

Die neuen tdb-Dateien sind in ??? beschrieben.

Tabelle 30.1. TDB-Datei-Beschreibungen

NameBeschreibungBackup?
account_policyEinstellungen zu Benutzer-RichtlinienJa
gencacheAllgemeine Caching-DBNein
group_mapping

Zuordnungstabelle von Windows-Gruppen/SID zu UNIX-Gruppen

Ja
idmap

Neue Tabelle für die ID-Zuordnung von SIDs zu UNIX-UIDs/GIDs

Ja
namecacheEinträge im Namensauflösungs-CacheNein
printing/*.tdb

Gepufferte Ausgabe des Befehls `lpq command', die für jeden Druckdienst angelegt wird

Nein
registry

Read-only-Samba-Registry-Gerüst, das Unterstützung für den Export verschiedener Datenbank-Tabellen via winreg-RPCs bietet

no

Änderungen im Verhalten

Die folgenden Themen sind bekannte Veränderungen im Verhalten zwischen Samba-2.2 und Samba-3, die manche Installationen beeinflussen können.

  1. Wenn Samba-2.2 als Mitglied einer Windows-Domäne arbeitet, würde es alle Benutzer, die vom entfernten DC authentifiziert wurden, dem „guest account“ zuordnen, wenn keine UID durch den Aufruf getpwnam() erhalten werden kann. Samba-3 weist die Verbindung als „NT_STATUS_LOGON_FAILURE“ ab. Es gibt derzeit keine Möglichkeit, das Verhalten von Samba-2.2 wiederherzustellen.

  2. Beim Hinzufügen von Maschinen zu einer Samba-2.2-Domäne wurde „add user script“ verwendet, um die UNIX-Identität des Maschinen-Vertrauenskontos anzulegen. Samba-3 führt „add machine script“ ein, das zu diesem Zweck spezifiziert werden muss. Samba-3 wird nicht auf die Verwendung von „add user script“ zurückgreifen, wenn kein „add machine script“ vorhanden ist.

Passdb-Backends und Authentifikation

Es gibt einige Änderungen, an die Samba-Administratoren beim Wechsel auf Samba-3 denken sollten.

  1. Verschlüsselte Passwörter sind nun standardmäßig aktiviert, um besser mit Out-of-the-box-Windows-Client-Installationen zusammenzuarbeiten. Das bedeutet, dass entweder (a) ein Samba-Konto für jeden Benutzer angelegt werden muss oder dass (b) „encrypt passwords = no“ explizit in smb.conf gesetzt sein muss.

  2. Die neue Option security = ads wurde eingeführt, um die Integration einer ADS-Domäne unter Verwendung der nativen Windows-Kerberos-5- und LDAP-Protokolle zu ermöglichen.

Samba-3 beinhaltet auch die Möglichkeit, Verkettungen von Authentifikationsmethoden (auth methods) und Konten-DB-Backends (passdb backend) einzusetzen. Bitte konsultieren Sie die Manpage für smb.conf und ??? für Details. Obwohl beide Parameter auf vernünftige Standard-Werte gesetzt wurden, ist es doch wahrscheinlich, dass Sie ihre Bedeutung kennen lernen wollen, um den korrekten Betrieb von Samba zu gewährleisten.

Bestimmte Funktionen des Befehls smbpasswd wurden auf das neue Werkzeug smbpasswd, das Werkzeug net und das neue pdbedit-Utility aufgeteilt. Details dazu finden Sie in den jeweiligen Manpages.

LDAP

Dieser Abschnitt stellt kurz die neuen Features vor, die die Samba/LDAP-Integration betreffen.

Neues Schema

Eine neue Objektklasse (sambaSamAccount) wurde eingeführt, um die alte Klasse sambaAccount zu ersetzen. Diese Änderung hilft dabei, Attribute umzubenennen, um Kollisionen mit Attributen anderer Hersteller zu vermeiden. Es gibt ein Konverter-Skript (examples/LDAP/convertSambaAccount), das eine LDIF-Datei in das neue Schema konvertiert.

Beispiel:

		$ ldapsearch .... -b "ou=people,dc=..." > old.ldif
		$ convertSambaAccount <DOM SID> old.ldif new.ldif
		

Sie können <DOM SID> abfragen, indem Sie auf dem Samba PDC (als root)

$ net getlocalsid <DOMAINNAME>

ausführen.

Das alte sambaAccount-Schema kann weiterhin verwendet werden, indem man das Passdb-Backend ldapsam_compat spezifiziert. sambaAccount und zugehörige Attribute wurden jedoch in den „historical“-Abschnitt der Schema-Datei verschoben und müssen erst auskommentiert werden, um sie verwenden zu können. Die Samba-2.2-Objektklassen-Deklaration für einen sambaAccount hat sich in der samba.schema-Datei von Samba-3 nicht verändert.

Andere neue Objektklassen und deren Anwendungen beinhalten:

  • sambaDomain Domänen-Information zur Zuordnung von RIDs für Benutzer und Gruppen. Die Attribute werden im „ldap suffix“-Verzeichnis-Eintrag automatisch hinzugefügt, wenn ein UID/GID-Bereich für die idmap gesetzt und das „ldapsam“-Passdb-Backend ausgewählt wurde.

  • sambaGroupMapping Ein Objekt, das die Beziehung zwischen einer posixGroup und einer Windows-Gruppe/SID repräsentiert. Diese Einträge werden im „ldap group suffix“ gespeichert und mit dem Befehl „net groupmap“ verwaltet.

  • sambaUNIXIdPool Wird automatisch im „ldap idmap suffix“ angelegt und enthält die nächste verfügbare „idmap-UID“ und „idmap-GID“.

  • sambaIdmapEntry Das ist ein Objekt, das eine Zuordnung zwischen einer SID und einer UNIX-UID/GID speichert. Diese Objekte werden vom idmap_ldap-Modul je nach Bedarf angelegt.

Neues Suffix für die Suche

Die folgenden neuen smb.conf-Parameter wurden hinzugefügt, um bestimmte LDAP-Abfragen zu unterstützen, wenn passdb backend = ldapsam://... spezifiziert wurde.

  • ldap suffix für die Suche nach Benutzer- und Maschinen-Konten.

  • ldap user suffix für das Speichern von Benutzer-Konten.

  • ldap machine suffix für das Speichern von Maschinen-Vertrauenskonten.

  • ldap group suffix posixGroup/sambaGroupMapping-Einträge.

  • ldap idmap suffix sambaIdmapEntry-Objekte.

Wenn ein ldap suffix definiert ist, wird es an alle verbleibenden sub-suffix-Parameter angehängt. In diesem Fall ist die Reihenfolge der Suffixe in smb.conf wichtig. Platzieren Sie ldap suffix immer als ersten Eintrag in der Liste.

Wegen einer Beschränkung in Sambas Parsing von smb.conf sollten Sie die DNs nicht in Anführungszeichen einschließen.

Idmap-LDAP-Support

Samba-3 unterstützt ein LDAP-Backend für das idmap-Subsystem. Die folgenden Optionen informieren Samba darüber, dass die idmap-Tabelle auf dem Verzeichnis-Server „onterose“ in der Partition „ou=idmap,dc=quenya,dc=org“ gespeichert werden soll.

[global]
...
idmap backend = ldap:ldap://onterose/
ldap idmap suffix = ou=idmap,dc=quenya,dc=org
idmap uid = 40000-50000
idmap gid = 40000-50000

Bei dieser Konfiguration können Winbind-Installationen auf mehreren Servern sich einen UID/GID-Zahlenbereich teilen. Dadurch werden die Probleme bei der Zusammenarbeit mit NFS vermeiden, die es in Samba-2.2 gab.