Login


 
Newsletter
Werbung
So, 22. Mai 2005, 00:00

Samba 3.x als Domänen-Mitglied

Beitritt zu einer Windows 2003-Domäne mit Benutzerübernahme

Einleitung

Da ich schon sehr lange keine Berichte für Pro-Linux verfasst habe (aus Zeitgründen wohlgemerkt ;) ) möchte ich das hier mal wieder nachholen ;). Dieser Bericht soll allen Leuten eine Anleitung bieten, die ähnliche Probleme mit der Integration von Linux bzw. Samba an einer Windows 2003-Domäne haben. Es ist nämlich schon eine kleine Herausforderung, die auch sehr leicht zu einer Verzweiflung werden kann. So kann es zum Beispiel zu Newsgroupbeiträgen wie »Samba 3.x als Win2003 Domänen-Mitglied! Hat das schon mal jemand geschafft?« kommen. Alternativ »googelt« man wie ein Weltmeister und findet tausende Konfigurationsbeispiele, mit denen man nicht wirklich viel anfangen kann oder die sich sogar noch widersprechen. Auch die Samba-Howtos gehen zwar in die richtige Richtung, sind aber dennoch oftmals nicht ausreichend. Ich möchte das hier ein wenig ändern und die Einrichtung von Samba als Domänen-Mitglied genauer beschreiben. Dabei werde ich auch genauer beschreiben, welche typischen Fehler bei dieser Einrichtung gemacht werden.

Vorausetzungen

Administrator

Dieser Artikel bezieht sich auf Personen, die schon einmal mit Samba gearbeitet haben. Es ist definitiv hilfreich, schon einen Samba-Server aufgesetzt zu haben. Zusätzlich ist es nicht schlecht, sich ein wenig mit Windows 2003 und dem Active Directory auszukennen.

Netzwerk

Bei meinem System handelt es sich um ein Netz mit einem Windows 2003 Domänencontroller, der mit allen SPs und Updates ausgestattet ist. Das Netz ist durch diverse Arbeitsstationen schon seit einiger Zeit im Einsatz. Damit sind auch schon alle Benutzer, Gruppen etc. in das Active Directory eingetragen. Der Dömanencontroller befindet sich in dem »Einheitlichen Modus« und benutzt somit das Authentifizierungsprotokoll Kerberos. Die Grundlagen von Kerberos möchte ich hier nur teilweise erläutern. Der Domänencontroller stellt für die Benutzer gängige Ressourcen wie Dateifreigaben, Druckerfreigaben etc. bereit.

Es soll ein weiterer Server integriert werden, der als weiterer Dateiserver dienen soll. Das Problem bei diesem Netz ist, dass die Hauptadministration der Benutzer nur über den Domänencontroller erfolgen soll. Bei dem neuen Server soll es dem Administrator also erspart bleiben, die gleichen Benutzer wie auf dem Domänencontroller einzurichten.

Der neue Server

Der neue Server ist somit ein Linux-Server mit der Bezeichnung »pds-backup«. Bei der Distribution handelt es sich dabei um SUSE 9.2. Ursprünglich habe ich das System mit SUSE 9.1 aufgesetzt. Das System lief damit auch, aber nach ca. einem Tag konnte ich die Active Directory-Benutzer mit Winbind nicht mehr aus dem Active Directory holen. Ein Neustart von Winbind brachte den gewünschten Erfolg für wieder ca. einen Tag. Ein Online-Update der Pakete auf neuere Samba-Versionen brachte keinen Erfolg und machte das Ganze sogar noch schlimmer. Aufgrund eines Bugs in Heimdal 0.6.1 konnte ich Winbind nach dem Update gar nicht mehr starten. Natürlich hätte ich jetzt Heimdal und Samba nehmen können, selber kompilieren etc... aber ich dachte mir einfach: Nö... mal schauen, ob es auch mit Bordmitteln funktioniert. Also neue SUSE 9.2 rauf und gleiche Konfiguration. Wieder das Problem dass die Benutzer nur ca. einen Tag aus dem Active Directory gezogen werden konnten. Also Standard Online-Update mit Yast durchgeführt und von Samba 3.0.7 auf 3.0.9 upgedatet und siehe da, das System läuft tatsächlich seit einer Woche stabil *freu*. Also gleich vorweg: Bitte mindestens diese hier angegebenen Versionen verwenden! Alles unter Heimdal 0.6.2 und Samba 3.0.9 führt zu Fehlern!

Der Server wurde mit einer Standardinstallation installiert. Nach der eigentlichen Installation sollte dringend darauf geachtet werden, dass die SUSE Firewall beim Systemstart (vorläufig) deaktivert ist, da sie in den Standardeinstellungen die SMB-Dienste blockiert. Auch der NSCD (Name Service Cache Daemon) sollte beim Systemstart deaktviert werden, um gleich einigen Problemen im Vorfeld aus dem Weg zu gehen.

Als Software wurden folgende Pakete nachinstalliert:

  • Samba 3.0.9 (mit Online-Update - 3.0.7 ist Standard in 9.2)
  • Samba-Client 3.0.9 (mit Online-Update - 3.0.7 ist Standard in 9.2)
  • Samba-Winbind 3.0.9 (mit Online-Update - 3.0.7 ist Standard in 9.2)
  • Heimdal 0.6.2 (Kerberosunterstützung für Linux)

Bei Heimdal ist unbedingt erforderlich, die Version größer als 0.6x zu verwenden. Ich habe es bewusst vermieden, Samba und die Kerberos-Unterstützung manuell zu kompilieren. Einfach aus dem Grund, es euch Lesern ein wenig einfacher zu machen und auch um zu testen, ob es von SUSE aus unterstützt wird. Nachdem das getan ist, folgt die eigentliche Konfiguration.

Was ist Kerberos und wieso muss ich mich authentifizieren?

Jetzt fängt spätestens das Schreien an ;). Was zur Hölle ist Kerberos und wozu braucht man es? Was ist ein Realm? Woran erkenne ich ein Realm? Muss ich auf dem Windows 2003-Domänencontroller Zusatzsoftware installieren? Was ist ein KDC? Vor all diesen Fragen stand ich auch wie ein Ochse vorm Berg. Um es vorweg zu schicken: Nein, es muss keine Zusatzsoftware auf dem Domänencontroller installiert werden.

Kerberos ist ein Authentifizierungsprotokoll, das ursprünglich von MIT entwickelt wurde. Dieses Protokoll ist also dafür zuständig, Benutzernamen und Passwörter zu überprüfen. Es gibt die Version 4 und die derzeitige Version 5. Version 5 benötigen wir, da sie von Windows 2003 zur Authentifizierung verwendet wird. Version 5 ist nicht zu anderen Versionen kompatibel! Es gibt noch andere Authentifizierungsprotokolle wie zum Beispiel LanManager, NTLMv1 oder NTLMv2, die ebenfalls mehr oder weniger in der Linuxwelt bekannt und/oder verwendet werden.

Kerberos ist Ticket-basierend aufgebaut und die Authentifizierung besitzt eine bestimmte Funktionsweise, die ich hier etwas näher erläutern möchte. Vorweg müssen allerdings noch einige Grundbegriffe geklärt werden. Der Kerberos-Server enthält ein »Kerberos Distribution Center« (kurz: KDC). Das KDC besteht aus einem »Ticket Granting Service« (kurz: TGS) und einem »Authentication Server« (kurz: AS).

Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten
Werbung