Der Server wird Domänencontroller

    Mit Samba sind wir nicht nur in der Lage, Verzeichnisse für Windowsrechner freizugeben. Samba erlaubt es uns, eine Windows-Domäne zu erstellen und zu verwalten. Unser Server wird zum Windows-Domänencontroller, obwohl überhaupt kein Windows installiert ist.

    Was bringt es uns, einen Domänencontroller aufzusetzen?

    Der Hauptvorteil ist die zentrale Benutzerverwaltung. Alle User werden ausschließlich auf dem Server angelegt. Die Anmeldung auf den Clientrechnern erfolgt nicht mehr lokal, sondern die Authentifizierung erfolgt über den Server. Das bedeutet für uns, wir brauchen auf den einzelnen Rechnern keine Benutzer anzulegen und alle Kennwörter gleich zu halten, damit z.B. der Zugriff auf freigegebene Verzeichnsse funktioniert. Jeder Benutzer kann sich mit seinen Anmeldedaten an jedem Rechner anmelden. Den Usern kann automatisch das Homeverzeichnis, das unter /home/benutzername vorhanden ist, als Netzlaufwerk verbunden werden. Über ein Anmeldescript können die Samba-Freigaben ebenfalls automatisch als Netzlaufwerk verbunden werden. Wenn wir ein neues Verzeichnis freigeben wollen, ändern wir lediglich die smb.conf und das Anmeldescript. Bei der nächsten Anmeldung steht das neue Verzeichnis allen Benutzern zur Verfügung, ohne das es manuell verbunden werden muß. Sogar die Benutzerprofile können auf dem Server abgelegt werden, damit jeder User - egal an welchem Rechner er sich anmeldet - z.B. die gleiche Desktop-Einstellung vorfindet. Das ist jedoch mit Vorsicht zu genießen, da Windows mittlerweile so gut wie alles standardmäßig im Profilordner abspeichert, dazu später mehr.

    Anforderungen an die Windows-Clients: Als Betriebssystem wird mindestens die entsprechende Professional-Version erwartet. Windows XP Home oder Windows 7 Home erlauben es nicht, einer Domäne beizutreten.

    Zur Vorbereitung legen wir ein paar Verzeichnisse an:

    sudo mkdir /home/samba

    sudo chgrp -R users /home/samba

    sudo chmod 2750 /home/samba

    sudo mkdir /home/samba/profiles

    sudo mkdir /home/samba/netlogon

    Nach diesen Vorarbeiten erweitern wir unsere smb.conf. Zunächst legen wir die Freigaben für die Homeverzeichnisse, das Profilverzeichnis und das sog. Netlogon-Verzeichnis fest. Im Netlogon wird u.a. das Anmeldescript abgelegt. Wir fügen am Ende der smb.conf folgende Zeilen ein:

    [homes]
    comment = Homeverzeichnisse
    browseable = no
    vadid users = %S
    writeable = yes
    create mode = 0600
    directory mode = 0700

    [profiles]
    comment = Ordner für Profildaten
    path = /home/samba/profiles
    guest ok = yes
    browseable = no
    create mask = 0600
    directory mask = 0700
    writeable = yes

    [netlogon]
    comment = Logon-Script etc.
    path = /home/samba/netlogon
    guest ok = yes
    writeable = no
    share modes = no

    Um den Server zum Domänencontroller zu machen, verändern bzw. erweitern wir den [global]-Teil. Änderungen und Ergänzungen sind fett und blau markiert:

    [global]
    # workgroup bezeichnet ab sofort den Domänennamen, also auf Eure Bedürfnisse anpassen
    workgroup = exil
    server string = Sambaserver auf %h
    wins support = yes
    os level = 255
    local master = yes
    preferred master = yes
    domain master = yes
    domain logons = yes

    # Sicherheitseinstellungen
    security = user
    encrypt passwords = true
    passwd backend = tdbsam
    obey pam restrictions = yes
    unix password sync = yes
    password program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .

    # Homeverzeichnis auf H: mappen
    logon drive = h:

    # Anmeldescript
    logon script = logon.bat

    # Servergespeicherte Profile (will ich nicht!)
    # logon path = \\%L\profiles\%U

    # wenn keine Servergespeicherten Profile gewünscht sind:
    # ohne den leeren Eintrag werden die Profile im home gespeichert!
    logon path =

    # Logverzeichnis
    logfile = /var/log/samba/log.%m
    max log size = 1000
    syslog = 0

    # Diverses
    socket options = TCP_NODELAY

    # Bei Performanceproblemen statt dessen diese Zeile probieren:
    # socket options = TCP_NODELAY SO_RCVBUFF=8192 SO_SNDBUFF=8192

    Abspeichern und Samba neu starten:

    restart smbd

    Damit wir die Rechner in unsere neue Domäne aufnehmen können, müssen wir den Benutzer 'root' für Samba freischalten:

    sudo smbpasswd -a root

    Maschinenkonten anlegen

    Für jeden Rechner muß ein Maschinenkonto - analog zu einem Benutzerkonto - vorhanden sein. Wir legen zunächst mal eine Gruppe für unsere Rechner an:

    sudo groupadd computers

    Nun erstellen wir für jeden Rechner ein Konto:

    sudo useradd -g computers -s /dev/null RECHNER01$

    -g = fügt das Konto der Gruppe computers hinzu

    -s = für Maschinenkonten gibt es keine Shell

    RECHNER01$ = der Name des Rechners plus '$'

    Jetzt das Ganze noch für Samba:

    sudo smbpasswd -a -m RECHNER01$

    -m = Maschinenkonto. Es wird kein Kennwort abgefragt.

    Anmerkung: Den Rechnernamen könnt Ihr wie folgt anzeigen bzw. ändern:

    • Windows Explorer öffnen
    • Rechtsklick auf 'Computer' - Eigenschaften

    Unten seht Ihr den Computernamen, mit einem Klick auf 'Einstellungen ändern' könnt Ihr den Namen ändern. Das ist evtl. recht sinnvoll, da Windows standardmäßig etwas eigenwillige Rechnernamen vergibt.

    Windows 7 Rechner in die Domäne aufnehmen

    1. DNS

    In einem typischen Netzwerk, wie es heutzutage im privaten Bereich anzutreffen ist, fungiert der Router als DNS-Server. Ein 'echter' Windows-Domänenserver muß jedoch auch als DNS-Server konfiguriert sein. Meine Tests haben ergeben, daß es bei der Domänenaufnahme auch bei Samba zu Problemen führt, wenn auf unserem Server kein DSN-Server läuft. Die Domäne wurde nicht gefunden. Die 'große' Lösung, bind zu installieren, ist reichlich oversized, da es schon etwas Einarbeitung erfordert, bind zu konfigurieren. Für unsere Zwecke reicht dnsmasq völlig aus. Wir installieren es mit

    sudo apt-get install dnsmasq

    Die Konfiguration besteht lediglich daraus, in der Datei /etc/resolv.conf unseren Server sich selbst bekannt zu machen. Dazu fügen wir als erste Zeile ein:

    nameserver 127.0.0.1

    Der Rest bleibt bestehen. Ein Beispiel für eine resolv.conf, bei der eine Fritzbox der Router ist:

    nameserver 127.0.0.1
    nameserver 192.168.2.1
    domain fritz.box
    search fritz.box

    'Händisch' wurde nur die 1. Zeile eingefügt.

    2. Rechner von Arbeitsgruppe auf Domäne ändern

    Wir führen die gleichen Schritte wie bei der Änderung des Rechnernamens durch:

    • Windows Explorer öffnen
    • Rechtsklick auf 'Computer' - Eigenschaften
    • 'Einstellungen ändern' anklicken

    Nun klicken wir auf die Schaltfläche [Ändern], wählen den Punkt 'Domäne' und geben den Namen der Domäne ein, den wir in der smb.conf unter

    workgroup = exil

    festgelegt haben. Nach Klick auf [OK] öffnet sich ein Anmeldefenster. Hier geben wir als Benutzer 'root' mit dem entsprechenden Kennwort ein. Wenn alles klappt, werden wir in der Domäne begrüßt. Anschließend ist ein Neustart fällig.

    joindomain welcomedomain

    Mögliche Fehler

    Wird die Domäne nicht gefunden oder konnte keine Verbindung hergestellt werden,

    joindomainerror

    hilft folgende Änderung in der Registry im Zweig:

    HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters

    die folgenden DWORD-Werte hinzufügen:

    DomainCompatibilityMode = 1

    DNSNameResolutionRequired = 0

    Wenn das nicht zum Erfolg führt, kann man im Zweig

    HKLM\System\CurrentControlSet\Services\Netlogon\Parameters

    die beiden Werte

    RequireStrongKey und RequireSignorSeal

    auf Null setzen. Bitte nur, wenn es nicht funktioniert! Bei einem heutigen Test mit einem frisch installierten Rechner mußte ich die beiden Werte auf '0' setzen. Bei meinen ersten Versuchen war das auf einem laufenden System genau verkehrt, erst als ich die Werte wieder auf '1' geändert hatte, funktionierte es! Es kommt darauf an, ob schon andere Änderungen in der Registry vorgenommen wurden, welchen Patch-Stand der Rechner hat etc. Auf jeden Fall setzt die beiden Werte nach der Willkommensmeldung unbedingt wieder auf '1'. Die Fehlermeldung

    dnserror

    die des Öfteren erwähnt wird, hatte ich heute bei dem frisch aufgesetzten Rechner zum ersten Mal. Die Meldung kann im Übrigen ignoriert werden, der Domänenbeitritt hat trotzdem funktioniert. DAS es funktioniert hat, sehen wir nach dem Reboot, statt des Anmeldefensters kommt die Meldung

    Drücken Sie Strg+Alt+Entf, um sich anzumelden.

    Erst nach dem 'Affengriff' kommen wir zur Anmeldemaske. Diejenigen, die bisher unter Windows-Betriebssystemen bis Windows XP in einer Domäne gearbeitet haben, werden jetzt verwirrt sein: Seit den Zeiten von Windows NT wurde bei einem Domänencomputer eine Zeile "Anmelden an:" angeboten, in der man zwischen lokaler Anmeldung und Anmeldung an der Domäne auswählen konnte. Und nun? Nix mehr zu sehen! Wir sehen jedoch einen Unterschied: Statt des Benutzernamens steht nun Rechner\Benutzer im Anmeldefenster. Um uns an der Domäne anzumelden, klicken wir auf [Benutzer wechseln] [Anderer Benutzer] und geben ein:

    Domäne\Domänenbenutzer

    z.B. exil\schwaelmer

    plus zugehörigem Kennwort. Sollte jetzt die Meldung kommen, daß keine Vertrauensstellung hergestellt werden konnte, habt Ihr die Werte RequireStrongKey und RequireSignorSeal nicht wieder auf '1' gesetzt. Holt das nach, dann funktioniert auch die Domänenanmeldung.

    Wenn Ihr nach der Anmeldung den Windows Explorer öffnet, solltet Ihr auch ein Laufwerk H: sehen. Das ist das gemappte Homeverzeichnis /home/benutzername.

    Servergespeicherte Profile

    Prinzipiell sind servergespeicherte Profile eine feine Sache. Alle Usereinstellungen, angefangen vom Desktop bis zu Programmeinstellungen, werden so von Rechner zu Rechner mitgenommen. Leider speichert Windows 7 so standardmäßig so ziemlich Alles im Benutzerprofil ab und das Profil überschreitet leicht die Gigabyte-Grenze. Zum einen müllt uns das den Serverspeicher zu, das größere Problem ist jedoch, das beim An- und Abmelden das Profil immer auf den Server geschrieben bzw. von dort geladen wird und dadurch die An- und Abmeldung sehr verzögert wird. Vor- und Nachteile sollten genau abgewogen werden. Um das Profil zu verschlanken, ist viel Handarbeit angesagt, um die Pfade vom Profilordner z.B. auf das Homelaufwerk zu verbiegen.

    Freigaben automatisch mappen

    Um den Usern die eingerichteten Freigaben automatisch zu verbinden, bedienen wir uns eines Anmeldescripts. in der smb.conf haben wir es schon benannt:

    logon script = logon.bat

    Das Script wird in der NETLOGON-Freigabe erwartet, also erstellen wir es auch dort und verbinden den Usern das Laufwerk Q: mit unserem Verzeichnis /home/Allgemein:

    sudo nano /home/samba/netlogon/logon.bat

    @echo off

    net use Q: \\SERVERNAME\Allgemein /persistent:no

    Nach ab- uind anmelden am Windows-PC ist neben dem Laufwerk H: auch das Laufwerk Q: vorhanden. Weitere Freigaben definiert Ihr in der smb.conf und tragt sie nach dem obigen Muster in die logon.bat ein.

    Kommentar schreiben

    Sicherheitscode
    Aktualisieren

    © 2018 Exilschwaelmer. All Rights Reserved. Designed By JoomShaper
    Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
    Weitere Informationen Ok Ablehnen