Windows-Netze brauchen einen Primären Domänencontroller. Der übernimmt die Benutzervewaltung, stellt Login-Scripts bereit und erlaubt Benutzerprofile von Rechner zu Rechner mitzunehmen. Und das Beste: Auch Linux kann so einen Domänencontroller stellen. Er heißt Samba.
Ein Primärer Domänencontroller, kurz PDC, lohnt sich in Netzwerken ab etwa fünf Computern. Er ist ideal, wenn beispielsweise in einer Agentur regelmäßig freie Mitarbeiter an wechselnden Workstations arbeiten: Alle Daten sind auf dem Server und für den jeweiligen Benutzer verfügbar, sobald er sich auf so einem Server anmeldet. Auf diese Weise lassen sich vorhandene Ressourcen optimal nutzen.
Dieser Beitrag zeigt, wie Sie einen Samba-Server so einrichten, dass er als Domänencontroller arbeitet. Grundkenntnisse in Samba sind Voraussetzung, um die hier gezeigten Arbeitsschritte nachzuvollziehen.

Die Vorteile des PDC
Wer bislang in einem Peer-to-Peer-Netzwerk Daten zwischen Computern ausgetauscht hat wird es mit einem Domänen-Controller einfacher haben. Denn bislang war es bei der Ordnerfreigabe notwendig, auf jedem Computer auch den Benutzer einzutragen, der auf den Ordner zugreifen darf. Sobald ein User sein Kennwort ändert, muss dieses auch auf all jenen Computern ausgetauscht werden, auf die der Benutzer zugreifen will.
Solche Umstände sind mit dem Domänen-Controller nicht mehr notwendig. Bei einer Freigabe holt der Adminstrator eines Rechners nur noch die Benutzernamen vom Domänen Controller. Ändert sich das Kennwort, geschieht dies nur auf dem Server. Kleiner Nachteil: Die Neuvergabe von Kennwörtern findet auf der Linux-Kommandozeile statt – hier sollte sich der Administrator zumindest ein wenig auskennen.
Ein weiterer großer Vorteil des Domänen-Controllers sind Login-Scripts: Der PDC speichert für jeden seiner Nutzer und auf Wunsch auch für jeden Computer ein Login-Script. Diese Scripts bestehen aus Batch-Dateien mit Netzwerk-Befehlen für Windows. Zum Beispiel weist net use k: servshare dem Laufwerk k: auf der Workstation den freigegebenen Ordner share des Servers serv zu. Egal, auf welchem Computer sich ein Nutzer anmeldet, er wird immer dieses Skript erhalten und damit die richtigen Netzwerk-Zuordungen.
Die Fähigkeit zum Profile-Roaming ist eine starke Eigenschaft von Windows 2000 und XP. Alle Benutzereinstellungen, Mail-Daten und so weiter liegen im Netzwerk. Bei der Anmeldung auf einem anderen XP-Computer erscheinen dann genau diese Einstellungen und Dateien.
Voraussetzungen
Für den Server-Betrieb reicht ein alter PC der 266er-Klasse. Selbst ein Pentium 90 bringt noch genügend Leisung für kleine Netze bis zehn Workstations. Nur: genügend Speicher sollte der Netzwerker dem Server schon spendieren. Ab 128 MByte RAM ist der Server zu gebrauchen, mit 256 MByte macht die Arbeit Spaß. Und bei der Festplatte sind 5 GByte Pflicht und 10 GByte die Kür. Bei alten Pentium-Systemen ist außerdem ein SCSI-Controller hilfreich, um größere Datenmengen zu bewegen.
Ist der Server neu, sollte er zum Beispiel mit Suse-Linux in einer Minimal-Installation vorbereitet werden. Zusätzlich installiert der Webmaster Samba ab der Version 2.2.3a. Vorteil dieses Verfahrens: So entsteht ein Server mit minimalem Ballast. Das spart Prozessor-Power, da nicht mehr Dienste als nötig im Hintergrund arbeiten. Es spart Festplattenplatz, da nur das Grundsystem installiert ist. Und es macht das System sicherer. Denn je weniger Dienste es anbietet, desto weniger Schwachstellen bietet es.
Alle Beispiele in diesem Beitrag beziehen sich auf ein Netzwerk mit Computern, auf denen Windows XP Professional installiert ist. Auch mit Windows-2000-Workstation sollte das Domänen-kontrollierte Netz problemlos funktionieren. Windows XP Home unterstützt jedoch keine Domänen-Anmeldung.
Übrigens: Der Begriff Domäne hat an dieser Stelle nichts mit der aus dem Internet bekannten Domäne zu tun. Es wird also kein Domain Name Server benötigt und an den Domain-Namen-Eintrag des Linux-Servers brauchen Sie auch nichts zu ändern.
Wichtig für den Umstieg ist es, das Konzept der Benutzerverwaltung unter Windows zu verstehen. Denn die auf einer Workstation eingetragenen Benutzer haben nichts mit denen zu tun, die der PDC verwaltet. Ein Benutzer Heinz auf der XP-Professional-Workstation also ist nicht identisch mit dem Heinz, der auf dem Domänen-Controller eingetragen ist. Denn Windows vergibt immer Paare aus Domänen- oder Computernamen und Nutzernamen, um einen User eindeutig zu identifizieren.
Das bedeutet einigen Umstellungsaufwand für das Netzwerk. Denn damit das Konzept voll greift, müssen sich alle Netzwerk-Teilnehmer auch mit dem Benutzernamen anmelden, der vom Domänen-Controller geliefert wird. Damit allerdings erhalten sie eine komplett neue und leere Benutzeroberfläche, die erst wieder aufgefüllt werden muss. Auch kann es passieren, dass lokale Benutzerrechte für den Benutzer von der Domäne neu gesetzt werden müssen Gehen Sie bei der Umstellung deshalb behutsam vor: Testen Sie das neue Netz-Konzept erst ein paar Tage, bevor Sie das ganze Netz umstellen.
Vorbereitungen für den PDC
Die Hauptarbeit für den Domänenbetrieb findet auf dem Linux-Computer statt. Melden Sie sich dort als root an. Falls schon eine Samba-Konfiguration existiert, erzeugt der Befehl
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
eine Sicherungskopie der Samba-Konfiguration.
Danach öffnet der Netzwerker im Verzeichnis /etc/samba/ mit einem Editor die smb.conf, zum Beispiel mit
mcedit /etc/samba/smb.conf
Eine Samba-Konfiguration für den Netz-Betrieb sieht zum Beispiel so aus:
# smb.conf - Samba als PDC
[global]
workgroup = LXDOMAIN
security = user
encrypt passwords = Yes
guest account = Nobody
map to guest = Bad User
# Fuer jeden Computer ein Logfile
log file = /var/log/samba/%m
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
interfaces = 192.168.0.2/255.255.255.0
os level = 99
wins support = yes
character set = ISO8859-15
client code page = 850
veto files = /*.eml/*.nws/riched20.dll/*.{*}/
domain logons = Yes
domain master = Yes
logon script = %U.bat
logon script = %m.bat
# Where to store the logon scripts.
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
Zur Erklärung:
- Unter workgroup sollte ein kurzer, griffiger Namen für die Domäne stehen. Die in Peer to Peer-Netzen meist verwendeten Arbeitsgruppe oder MSHEIMNETZ sind zu lang und zu umständlich.
- Der Eintrag security sollte auf den Wert usergestellt sein. Denn die Benutzerdaten holt sich der Samba-Server aus seiner eigenen Kennwortdatei, die Sie mit smbpasswd verwalten.
- Die Einträge domain logons und domain master müssen auf yes stehen. Sie sind die eigentlich für den Domänenbetrieb zuständigen Parameter.
- Damit alles korrekt funktioniert, muss der Server auch als WINS-Server arbeiten. Zuständig dafür ist wins support = yes. WINS verwaltet die Zuordnung von Rechnernamen zu IP-Adressen innerhalb des Netzwerks. Wichtig ist, den os level auf einen Wert größer als 32 zu stellen, damit der PDC zum Master Browser im Netzwerk wird.
- Um bei einem Login automatisch Scripts ausführen zu lassen braucht der Server zwei Werte für den Eintrag logon script, nämlich logon script = %U.bat und logon script = %m.bat. An Stelle von %U setzt Samba später den Benutzernamen, an Stelle von %m den Namen des angemeldeten Computers.
- Die Login-Scripts liegen im Verzeichnis /var/lib/samba/netlogon. Das legen die Einträge unter [netlogon] fest, nämlich comment = Network Logon Service und path = /var/lib/samba/netlogon.Wichtig ist, dass die Scripts für Windows-Computer lesbar sind, also mit den richigen Zeilenumbrüchen (CR/LF) kommen. Wer die Dateien mit Linux schreibt, muss sie umwandeln. Der Befehl
cat raw | col -b > username.bat
erledigt diese Arbeit und wandelt den Text aus der Datei raw in die für Windows lesbare Datei username.bat um. - Falls Samba neu installiert wurde, muss es unbedingt als Dienst eingetragen werden. Das geschieht bei Suse über Yast im Runlevel-Editor. Wichtig ist es, hier auch den Dienst nmbd zu starten. Denn der ist für die Netbios-Namen zuständig.
Heimatgefühle
Damit die Benutzer ein Zuhause haben, sind unter [homes] folgende Einträge sinnvoll:
comment = Home Directories
read only = No
create mode = 0600
directory mode = 0700
browseable = No
hide unreadable = yes
valid users = %S
path = %H
Die Parameter create mode und directory mode schützen jedes Home-Verzeichnis vor fremden Blicken: Dort erzeugte Dateien sind nur für den Eigentümer zugänglich.
Wichtig, gerade für Windows-Netze, ist hide unreadable. Dieser Parameter versteckt Linux-Konfigurations- und Systemdateien, die sich im Home-Verzeichnis befinden. Der Wert %S sorgt dafür, dass der aktuell angemeldete Benutzer nur sein eigenes Home-Verzeichnis sieht. Der Pfad dieses Heimat-Verzeichnis schließlich steckt in %H.
Damit wären die Vorbereitungen an der smb.conf abgeschlossen. Achten Sie darauf, dass auch alle anderen Grundeinstellungen sowie die Freigaben stimmen.
Benutzer beim PDC anmelden
Damit Samba als Domänencontroller arbeitet, muss wie in Samba üblich jeder Benutzer auf dem Linux-Server und mit smbpasswd in Samba eintragen sein. Neu ist: Das gilt auch für jeden Computer, der sich am Domänen-Controller anmelden soll.
Zunächst tragen Sie den NETBIOS-Namen jedes angeschlossenen Computers in die Datei /etc/passwd ein. Hinter den Namen des Rechners muss ein Dollarzeichen $. Zusätzlich geben Sie dem Computer eine eigene Benutzernummer, eine Gruppennummer und bei Bedarf eine Beschreibung. Das Ergebnis sieht zum Beispiel so aus:
pegnitz$:x:400:400:Workstation_Pegnitz:/dev/null:/bin/false
rednitz$:x:401:400:Workstation_Rednitz:/dev/null:/bin/false
pilsbar$:x:402:400:Server_Pilsbar:/dev/null:/bin/false
/dev/null steht für das – nicht existierende – Heimatverzeichnis des Rechners, /bin/false steht für die ebenfalls nicht existente Shell.
Anschließend tragen Sie jeden dieser neuen Benutzer in die Samba-Userliste ein. Das geht mit dem Befehl:
smbpasswd –m –a pegnitz
Statt „pegnitz“ schreiben Sie den Namen der Workstation, die Sie eintragen wollen – ohne das zuvor verwendete $-Zeichen. Der Parameter –m weist Samba an, den Computer als Maschinen-Account einzutragen.
Um Computer an die Domäne anmelden zu können ist außerdem ein spezieller Samba-Root-Account notwendig. Falls dieser noch nicht eingerichtet ist, hilft das Kommando
smbpasswd -a root
weiter.
Sofern nicht schon geschehen, sollten anschließend alle Benutzer eingetragen werden. Dazu verwenden Sie unter Suse das Konfigurationsprogramm Yast oder bemühen den Befehl useradd mit dem Parameter –d für das Heimatverzeichnis und –p für das Kennwort, zum Beispiel:
useradd schorsch –d /home/schorsch –p test
Vergessen Sie nicht, nach dem Eintrag das Heimatverzeichnis anzulegen und diesem den entsprechenden Eigentümer zu verpassen. Anschließend übertragen Sie den Benutzer mit
smbpasswd -a schorsch
in die Samba-Kennwort-Datei.
Damit sich später Computer anmelden können, benötigt der Linux-Server noch die Zuordnung des Computernamens zur IP. Dieses Wertepaar tragen Sie in die Datei /etc/hosts ein.
Damit sind die Vorbereitungen am Linux-Computer abgeschlossen. Mit der Eingabe von testparm auf der Linux-Kommandozeile werden die Samba-Parameter nochmals auf syntaktische Richitigkeit überprüft. Danach starten Sie mit rcsmb restart unter Suse den Samba-Server neu.
Windows-Computer einrichten
Damit Windows XP mit dem PDC funktioniert, müssen dort einige Bestimmungen gelockert werden. Dies geschieht mit der Eingabe gpedit.msc in der Windows-Kommandozeile. Im Gruppenrichtlinieneditor findet sich das Menü
Windows-Einstellungen/Sicherheitseinstellungen/Lokale Richtlinien/Sicherheitsoptoinen.
Hier müssen die beiden folgenden Optionen deaktiviert werden:
Domänenmitglied: Daten des sicheren Kanals digital verschlüsseln (wenn möglich)
Domänenmitglied: Daten des sicheren Kanals digital verschlüsseln oder signieren (immer)
Falls Windows XP mit dem Service Pack 1 zum Einsatz kommt, muss ein weiterer Wert in Computerkonfiguration/Administrative Vorlagen/System/Benutzerprofile
geändert werden.
Für diese Aktionen sind Administratorenrechte auf dem XP-Rechner notwendig.
Anschließend sollten in der Kommandozeileneingabe alle Laufwerks-Mappings ins Netz geschlossen werden. Dies geschieht mit net use * /d /y.
Jetzt folgt der große Augenblick. Ein Klick mit der rechten Maustaste auf Arbeitsplatz und Klicks auf Eigenschaften – Computername führen in das Menü für die Domänenanmeldung. Hier folgt ein weiterer Klick auf Ändern und der Eintrag der Domäne.
Nach einem Klick auf Ok will der Computer den Benutzernamen und das Kennwort des Samba-Root-Accounts wissen. Nach der Eingabe dieser Parameter ist der Computer in der Domäne angemeldet.
Falls der Computer die Domäne nicht findet, kann dies mehrere Ursachen haben. Die gängigste: Der Server selbst weiß nicht, dass er der Master Browser im Netzwerk ist. Denn als dieser verwaltet er die Zuordnungen der Rechnernamen und IP-Nummern. Stellen Sie sicher, dass in der smb.conf Parameter os level auf einen Wert höher als 32 gesetzt ist – zur Sicherheit nehmen Sie gleich die 99.
Außerdem muss der Dienst nmbd laufen. Das prüfen Sie mit dem Befehl
ps ax | grep nmbd
Einige Quellen schlagen auch vor, bei Problemen die Datei lmhosts im Verzeichnis C:WINDOWSsystem32driversetc zu editieren. Öffnen Sie die Datei lmhosts.sam im Editor, tragen Sie IP und Name des Servers so ein
192.168.0.122 lx1 #PRE #DOM:lxdomain
und speichern Sie das Ergebnis unter dem Namen lmhosts. Falls Sie mit dem Notepad arbeiten, setzen Sie den Namen in Anführungszeichen, damit Notepad nicht die Endung .txt anhängt. Diese Anweisung weist dem Netbios-Namen lx1 die entsprechende IP-Adresse zu.
Mit #DOM wird der Rechner als PDC der Domäne lxdomain kenntlich gemacht. #PRE sorgt dafür, dass dieser Eintrag bereits beim Systemstart gelesen und während des Betriebs vorgehalten wird. Das verbessert die Geschwindigkeit. Die hier vorgestellte Konfiguration arbeitet jedoch auch ohne Eintrag in die lmhosts.
Die erste Anmeldung
Beim Erscheinen des Anmeldeschirms geben Sie Benutzernamen und Kennwort ein. Nach einem Klick auf Optionen folgt die Auswahl des Domänennamens. Und mit einem Klick auf Ok startet die Anmeldung. Sofern ein Login-Script für den Computer oder den Anwender vorliegt, werden diese ausgeführt. Übrigens: Der übliche Anmeldeschirm von Windows XP ist verschwunden und weicht dem klassischen Anmeldeverfahren.
Internet-Adressen
***