Samba 4 Domain Controller

Zurzeit realisiere ich eine kleine Umgebung mit mindestens zwei Domain Controller und zwei Fileserver, die ihre Daten replizieren. Dazu würde ich in Zukunft einfach meine Erfahrungen, Informationen und Vorgehensweise mit euch teilen und hier niederschreiben. In diesen Artikel beschreibe ich die Installation von einem Active Directory Domain Controller auf Linuxbasis. zu Verwendung kommt hier Samba 4. Anschließend lassen sich Linux-, Windows-, und OS X-Systeme in die Domäne einbinden. Die Grundlegende Konfiguration kann über die Kommandozeile geschehen, für alles andere hat Microsoft die Remote Server Administration Tools (RSAT) bereitgestellt. Diese laufen aktuell nur auf Windows.

 

Vorbereitung

Wir benötigen folgendes:

Eine Installation von Samba 4 auf Debian Wheezy ist ebenfalls möglich, aber sehr viel umständlicher, weil in Debian Jessie alle nötigen Pakete bereits im Repository hinterlegt sind.

 

Installation

Debian Jessie ist installiert, der Server oder die Virtuelle Maschine ist im Netzwerk mit Internet angeschlossen? Dann kann es losgehen.

root@dc01:~# apt-get install dnsutils samba

Das war es auch schon, wie gesagt: Es sind alle nötigen Pakete hinterlegt.

 

Konfiguration

Als erstes löschen wir die Standardkonfiguration von Samba, diese wird bei der Konfiguration der Domäne neu angelegt.

root@DC01:~# rm /etc/samba/smb.conf

Der Befehl samba-tool  bietet uns Zugang zu allen möglichen Einstellungen von Samba. Die Einrichtung der Domäne erfolgt mit folgendem Befehl. Die Hilfe ruft ihr mit  samba-tool -h  auf.

root@DC01:~# samba-tool domain provision

Nun benötigt das System noch einige Angaben zur Domäne, DNS und unter anderem das Passwort. Realm kann zum Beispiel home.lan verwendet werden, als Domain dann home, Server Role ist dc, als DNS nutzen wir SAMBA_INTERNAL, und als DNS forwarder eure nächsten DNS Server. An sich kann auch die Standardkonfiguration bei der Abfrage, welche sich in den eckigen Klammern befindet, benutzt werden. Dazu einfach das Feld leer lassen. Abschließen benötigen wir ein sicheres Passwort für den Administrator, welches wir zwei Mal eingeben müssen.

root@DC01:~# samba-tool domain provision --use-rfc2307 --interactive --use-ntvfs

#Hier erfolgt die Eingabe
Realm [HOME.LAN]: 
 Domain [HOME]: 
 Server Role (dc, member, standalone) [dc]: 
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: 
 DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.1]: 
Administrator password: 
Retype password: 

# Hier erfolgt die Ausgabe
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
[...]
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role:           active directory domain controller
Hostname:              DC01
NetBIOS Domain:        HOME
DNS Domain:            home.lan
DOMAIN SID:            S-1-5-21-2673285370-223673860-3095292321

Jetzt schauen wir einmal in die Konfigurationsdatei von Samba an und fügen die markierte Zeile hinzu. Sollte die Zeile schon vorhanden sein, ersetzen wir diese durch die unten angegebene und markierte.

root@DC01:~# nano /etc/samba/smb.conf

# Inhalt der smb.conf

[global]
        workgroup = HOME
        realm = HOME.LAN
        netbios name = DC1
        server role = active directory domain controller
        dns forwarder = 192.168.1.1
        server services = s3fs rpc nbt wrepl ldap cldap kdc drepl winbind ntp_signd kcc dns dnsupdate
 
[netlogon]
        path = /var/lib/samba/sysvol/test.lan/scripts
        read only = No
 
[sysvol]
        path = /var/lib/samba/sysvol
        read only = No

Anschließend muss der Samba Daemon neugestartet werden und dann steht die Domäne bereit.

root@DC01:~# /etc/init.d/samba restart

Mit dieser Standardkonfiguration bekommen wir in Zukunft Probleme wenn wir mit Freigaben auf dem Samba Server arbeiten möchten. Um unseren Domain Admins die entsprechenden Rechte zu geben wird folgender Befehl benötigt.

root@DC01:~# net rpc rights grant 'HOME\Domain Admins' SeDiskOperatorPrivilege -Uadministrator

Sollte hier ein Fehler auftauchen, die Domain anpassen. Bei mir war das HOME. 😉

Das war die eigentliche Installation von Samba mit der Funktion als Active Directory Domain Controller. Es gibt weit aus noch viel mehr Möglichkeiten, als seinen Domain Controller als standalone zu betreiben, dazu später mehr.

 

Domänenbeitritt

Der Weg ist eigentlich ganz simpel und Microsoft hat dafür schon die perfekte Anleitung, um einer Domäne beizutreten.

Bitte bedenken: Als DNS Server am Client muss der Server eingetragen sein, den wir eben konfiguriert haben. Da auch ein Abgleich mit einem Zeitserver geschieht, sollte die Abweichung der Uhrzeit von Server und Client so gering wie möglich gehalten werden. Also eventuell noch mal die Zeit und das Datum anpassen.

 

Administration

Zur Administration der Benutzer, Computer, Gruppen, Drucker, Gruppenrichtlinien eignen sich das von Microsoft zusammengestellte Paket Remote Server Administration Tools (RSAT). Diese dienen zur Verwaltung der Domäne auf einem Computer in der Domäne.

Den Download findet ihr für den jeweiligen Client hier:

ALLERDINGS: Für Windows 8.1 und Windows 10 sind noch nicht alle Funktionen angepasst und lauffähig. Die besten Erfahrungen habe ich mit Windows 7 gemacht, deshalb empfehle ich Windows 7.

 

 

6 comments On Samba 4 Domain Controller

  • Moin Dennis,

    beim letzten Schritt (oot@DC01:~# net rpc rights grant ‚HOME\Domain Admins‘ SeDiskOperatorPrivilege -Uadministrator) erhalte ich folgende Fehlermeldung:

    „Enter administrator’s password:
    Could not connect to server 127.0.0.1
    Connection failed: NT_STATUS_OBJECT_NAME_NOT_FOUND“

    Die Domäne habe ich natürlich angepasst.

    • Check mal deine smb.conf auf tipfehler:
      server services = s3fs rpc nbt wrepl ldap cldap kdc drepl winbind ntp_signd kcc dns dnsupdate

  • Hat alles perfekt funktioniert. Freue mich auf weitere Tutorials

  • habe deine Anleitung so genau wie möglich befolgt – leider sieht meine automatisch generierte smb.conf erheblich anders aus (services alle per komma getrennt) …
    dann beim letzten net befehl bekomme ich Could not connect to server 127.0.0.1 / Connection failed NT_STATUS_CONNECTION_REFUSED?

    allerdings meldet samba beim start des Dienstes keinerlei Fehler – sowohl mit deiner „Kommalosen“ Schreibweise – als auch mit Kommas …

    noch irgendwelche Vorschläge ?

  • Edit – und welche Zeile soll man hinzufügen ? ist keine markiert – oder hast du deine Seite nachträglich nochmal geändert ?

Leave a reply:

Your email address will not be published.