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:
- Debian Jessie (mind. Jessie, minimale Installation)
- Internetverbindung
- Windows 7 Client (für die Integration in die Domäne)
- Statische IP-Konfiguration des Servers
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:
- Remote Server Administration Tools für Windows 7
- Remote Server Administration Tools für Windows 8
- Remote Server Administration Tools für Windows 8.1
- Remote Server Administration Tools für Windows 10
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.
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 ?
Moin Sven,
aktuell betreibe ich keinen Samba Server, werde es aber die nächsten Tage selber noch mal versuchen und mich dann noch mal melden.
Edit – und welche Zeile soll man hinzufügen ? ist keine markiert – oder hast du deine Seite nachträglich nochmal geändert ?
Ich hatte den Fehler auch. Wenn ich nicht, wie im Tutorial zuerst angegeben
samba-tool domain provision
sondern, wie einen Schritt darunter geschrieben
samba-tool domain provision –use-rfc2307 –interactive –use-ntvfs
nutze, klappt es.
HTH.
Restarting nmbd (via systemctl): nmbd.serviceJob for nmbd.service failed because the control process exited with error code.
See „systemctl status nmbd.service“ and „journalctl -xe“ for details.
failed!
Ich bekomme diese Meldung nachdem ich den Dienst neu starten will
Ich hatte das gleiche Problem.
nmbd wollte nicht starten mit AD DC.
anscheinend hat sich da etwas in der neuen samba version geändert.
wenn folgende Zeile zur globalen Config in smb.conf hinzugefügt wird hat es zumindest bei mir funktioniert.
server role check:inhibit=yes
Die Lösung habe ich hier gefunden:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837679
Gruß
Fritjof Heyde