Samba4 AD DC
Da ich diese Woche auf Arbeit einen Samba4 als Active Directory Domain Controller eingerichtet habe, möchte ich euch hier eine kurze Anleitung geben, wie ich vorgegangen bin.
Als Basis dient ein openSuSe 12.3 64 Bit in der Grundinstallation und ein Samba-Server Version 4.0.4, welchen wir selbst kompilieren.
Der Netzwerkkarte wurde die interne Zone zugewiesen und SSH für die später Administration aktiviert.
Folgende Pakete müssen zusätzlich installiert werden:
- libacl-devel
- libblkid-devel
- libgnutls-devel
- libgda-xslt-5_0-4
- libxslt-devel
- python-xattr
- python-bsddb3
- python-bsddb3-devel
- python-setproctitle
- python-devel
- gnutls
- readline-devel
- openldap2
- openldap2-devel
- cups-devel
- docbook-xsl-stylesheets
- gcc
- make
- sssd
- krb5-client
Einige davon kann man vor der Installation auswählen, andere kann man erst nach der Installation über das Software-Management von Yast hinzufügen.
Nachdem das System alle Updates bekommen hat, vergeben wir einen Namen an das System, z.B. PDC.
Als erstes laden wir uns den Samba-Source Version 4.0.4 runter und entpacken diesen, z.B. in /home
Jetzt geht es auf der Kommandozeile weiter!Wechselt in das eben entpackte Verzeichnis (/home/samba-4.0.4) und führt nacheinander die folgenden Befehle aus.
./configure make make install
Sollten hier etwas schief laufen, prüft, ob ihr wirklich alle Pakete installiert habt!
Habt ihr alles bis hierher richtig gemacht, so findet ihr euern kompilierten Samba im Verzeichnis /usr/local/samba
OK, jetzt erstellen wir unsere Domäne, konfigurieren unseren DNS-Server und vergeben unser Administrator-Passwort.
Klingt viel schlimmer, als es ist...
# Domain erstellen /usr/local/samba/bin/samba-tool domain provision
Jetzt werdet ihr nach den folgenden Angaben gefragt:
- realm => FQDN der Domain (z.B. DEINE.DOMAIN)
- Domain => Domänenname (einfach Enter drücken)
- Serverrole => die Rolle des Servers (DC = Domaincontroller)
- DNS backend => die zu nutzende DNS-Datenbank (SAMBA_INTERNAL)
- DNS forwarder => der DNS-Server, an den Anfragen weitergeleitet werden, die unser DNS nicht kennt (z.B. eine zentrale Firewall, Router, etc.)
- Administrator password => Admin-Passwort (das Passwort muss aus mindestens 8 Zeichen bestehen und mindestens 1 Großbuchstaben und mindestens eine Zahl beinhalten [kann später abgeschaltet werden])
Somit ist die Grundeinrichtung abgeschlossen.
Zum starten des Samba-Servers einfach noch folgenden Befehlt ausführen:
#Samba starten /usr/local/samba/sbin/samba
Der Samba-Deamon muss momentan noch manuell gestartet werden.
Ihr solltet euch sinnvollerweise ein Script erstellen, welchen den Deamon beim Systemstart mit startet...
Kommen wir jetzt zum ersten Verbindungstest. Dieser ist noch lokal!
Gebt folgende Befehle in die Kommandozeile ein:
/usr/local/samba/bin/smbclient -L localhost -U% /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'EuerP4$$wort' -c 'ls'
Mit dem ersten Befehl prüft ihr, ob ihr euch zu euerm lokalen Samba-Server verbinden könnt.Der zweite Befehl versucht euch mit dem Benutzer Administrator an der Freigabe netlogon an zu melden.
Jetzt überprüfen wir die DNS-Einstellungen.
In der Datei /etc/resolve.conf sollten folgende Zeilen zu finden sein:
domain DEINE.DOMAIN nameserver IP_DEINES_SAMBA4_SERVERS
Zum testen des DNS helfen uns diese Befehle:
host -t SRV _ldap._tcp.DEINE.DOMAIN. host -t SRV _kerberos._udp.DEINE.DOMAIN. host -t A SERVERNAME.DEINE.DOMAIN.
Vergesst den Punkt am Ende nicht!
Hier sollten keine Fehler auftreten, sonst ist der DNS falsch konfiguriert.
Zum Schluss kommt noch Kerberos an die Reihe.
Kopiert die Datei /usr/local/samba/share/setup/krb5.conf in das Verzeichnis /etc.In der Datei muss folgende Zeile zu finden sein:
default_realm = DEINE.DOMAIN
Achtung! Kerberos verlangt, dass die Domain groß geschrieben wird! (siehe Kommentare)
Anschließend sollten euch die beiden Befehle
kinit Administrator@DEINE.DOMAIN klist
keine Fehler bringen.
Damit ist einer Samba4 als AD DC konfiguriert. Glückwunsch!
Die Administration des DNS, der Benutzer, der Gruppen und der Gruppenrichtlinien kann ganz bequem mit den Windows Remote Administration Tools erfolgen.
Downloads:
- Windows 7: http://www.microsoft.com/de-de/download/details.aspx?id=7887
- Windows 8: http://www.microsoft.com/de-de/download/details.aspx?id=28972
Es kann zwischendurch oftmals helfen, den Samba neu zu starten
killall samba /usr/local/samba/sbin/samba
Wenn ihr noch zusätzliche Verzeichnisse eures Server freigeben wollt, dann tragt diese in folgendem Format in die Datei /usr/local/samba/etc/smb.conf ans Ende ein.
[FREIGABENAME] path = /PFAD/ZUR/FREIGABE comment = KOMMENTAR read only = no
Anschließend den Samba-Deamon neustarten.
Hier noch ein paar Befehle, die euch bei der Einrichtung behilflich sein könnten:
#Der realm deiner Domain (DEINE.DOMAIN). /usr/local/samba/bin/samba-tool testparm -suppress-prompt |grep realm #Abstellen, dass ein komplexes Passwort benötigt wird. /usr/local/samba/bin/samba-tool domain passwordsettings set --complexity=off #Version des Samba-Servers prüfen. /usr/local/samba/sbin/samba -V #Version des Samba-Clients prüfen. /usr/local/samba/bin/smbclient --version #Passwortrichtlinien der Domäne anzeigen. /usr/local/samba/bin/samba-tool domain passwordsettings show #Maximales Passwortalter setzen. (Hier 999 Tage.) /usr/local/samba/bin/samba-tool domain passwordsettings set --max-pwd-age=999 #Minimales Passwortalter setzen.(Hier 0 Tage.) /usr/local/samba/bin/samba-tool domain passwordsettings set --min-pwd-age=0 #Minimale Passwortlänge festlegen. (Hier 2 Zeichen.) /usr/local/samba/bin/samba-tool domain passwordsettings set --min-pwd-length=2
Hinzufügen eines Windows-Clients zur Domäne
Nun werden wir noch einen Windows-Client zu unserer neu angelegten Domäne hinzufügen.
In den Netzwerkeinstellungen des Windows-Rechners stellen wir als primären DNS-Server die IP unseres Samba4-Servers ein.
Später sollte das per DHCP gemacht werden...
Anschließend Rechtsklick auf Computer -> Eigenschaften -> Einstellungen ändern (rechts neben dem Computernamen).
Domäne auswählen und deinen Domänennamen eingeben. (DEINE.DOMAIN).
Jetzt sollte eine Abfrage nach Benutzer und Passwort kommen.
Unser Benutzer ist natürlich Administrator und euer dazu vergebenes (Samba-Administrator-) Passwort.
Wenn alles geklappt hat, kommt eine Aufforderung zum Neustart.
Nach einem Neustart könnt ihr euch mit euer Windows-PC an der Domäne anmelden (DEINE.DOMAIN\Administrator).
Kommentare
Welche von den am Anfang zu
Welche von den am Anfang zu installierenden Pakete sind denn für den Betrieb von samba4 notwendig und welche werden nur zum compilieren der Software benötigt?
Ist ja nicht unbedingt sinnvoll auf einem Server ein komplette Entwicklungsumgebung laufen zu haben.
nur eine Vermutung
Hallo,
Leider habe ich das selbst noch nicht getestet, aber ich gehe davon aus, dass die devel-Pakete nach dem Kompilieren wieder entfernt werden können.
Eine Antwort, ob das so funktioniert wäre nicht schlecht... ;-)
kleine anmerkung
hey,
hat fast problemlos funktioniert! ich bin echt begeistert!
ich denke es sollte:
usr/local/samba/bin/samba-tool testparm --suppress-prompt |grep realm
heißen ;)
ein kleiner hinweis dass kerberos großgeschriebene domainnamen erwartet wäre auch nicht übel :)
vielen dank für das howto!!
Danke für die Rückmeldung!
Hallo,
Ich werde es bei Gelegenheit nachpflegen!
Danke für die Rückmeldung und den Hinweis...
Dankeschön.
Dankeschön.
Samba4
Hallo,
leider habe ich das Problem, dass ich ziehmlich am Anfang scheitere.
Beim "/usr/local/samba/bin/samba-tool domain provision" erhalte ich am ende die Fehlermeldung "Your filesystem or build does not support posix ACLs, which s3fs requires. Try mounting the filesystem with the "acl" option. Obwohl der / mit acl,user_xattr standartmäßig gemountet wird (laut fstab)
Es handelt sich um ein openSuSE 13.1 64 Bit.
Haben Sie eine Idee ?
Also ich habe auch grad SuSE
Also ich habe auch grad SuSE 13.1 installiert (mit standard Einstellung + kleinigkeiten) nach der installation habe ich dann erst alle fehlenden Pakete nachinstalliert, die samba 4.1.1 gesaugt und nach dem Tut installiert. alles klappt ganz sauber. Hatte vorher nen paar tests gemacht und bei der installation schon Entwicklerpakete usw. mit dazu genommen. Als ich dann samba installieren wollte, kamen schon beim kompilieren Fehler und es wurde abgebrochen. Also am besten Standardinstallation machen und erst danach fehlende Pakete installieren. Dann Samba und zu letzt kann man dann Entwicklertools usw. nachinstallieren.
Ich habe jetzt nur noch nen anderes Problem...
Ich habe über die entspr. Windowstools einen User angelegt. es wird aber immer nur en temporäres Profil beim einloggen angelegt und nachm Ausloggen wieder gelöscht. Muß ich bei Windows 7 erst ein Standard Profil auf den Server schieben? Bei XP wurde das immer automatisch angelegt...
Ich habe in dem Python-Script
Ich habe in dem Python-Script die Überprüfung der ACL's ausgeblendet, da ich feststellte das, dass Script auf Fehler beendet obwohl keinerlei ACL's Tests gemacht wurden. Manuell gestestet und gesehen, ACL geht.
So nun läuft Samba 4.1.1 bei mir auf SuSe 13.1 64 Bit. Wie hast du das genau mit den Windows Tools getan ? Ich kann nichteinmal einen Windows Rechner in die Domain aufnehmen.
Wenn ich mir die smb.conf ansehen steht kaum was drin. Habe einen Samba 3.6 schon am laufen mit backend und wesentlich mehr in der smb.conf stehen.
Ich würde gerne wissen, mit welcher Datenbank Samba 4 arbeitet. Irgendwo muss die ja gepflegt und angepasst werden.
Bezüglich Profil.
Soweit ich weiß, muss das Profil lokal auf der Maschine angelegt werden und dann das Profil auf den SDC erver kopiert werden. Wichtig ist, dass die Profile auf dem Samba der einzelnen Benutzer mit *.V2 enden. Ab Vista wird dies benötigt, sonst werden die nicht gefunden.
Grüße
Hallo,Samba 3 und Samba 4
Hallo,
Samba 3 und Samba 4 kannst du nicht so ohne weiteres vergleichen.
Was für eine Fehlermeldung bekommst du denn, wenn du versuchst einen Windows-Rechner in die Domäne zu integrieren?
Schalte ggf. mal zum testen die Firewall auf dem PDC ab...
Schau dir am besten mal die smb.conf aus dem Artikel SAMBA4 + CUPS + WINDOWS 8 an.
Dort habe ich die Profile mit auf dem Server abgelegt.
Man muss die Profile nicht erst lokal anlegen und dann rüber kopieren.
Die Windows-Rechner legen diese automatisch bei der ersten Anmeldung an (vorausgesetzt, die Berechtigungen auf dem Verzeichnis auf dem Server passen).
Grüße
Antwort Fehlermeldung MS
Hallo,
danke für Ihre Antwort. Also ich kann unter dem angegeben Pfad leider keine vollständige smb.conf finden.
Die Firewall ist deaktiviert.
Mein Windows liefert mir folgende Fehlermeldung beim versuch der Domäne cyon.de beizutreten:
Fehler: "Dieser Vorgang wurde wegen Zeitüberschreitung zurückgegeben."
(Fehlercode 0x000005B4 ERROR_TIMEOUT)
Es handelt sich um die Abfrage des Dienstidentifizierungseintrags (SRV) für _ldap._tcp.dc._msdcs.cyon.de.
Kann die Abfrage auch nicht ganz auflösen.
Das mit der Profilverwaltung ist mir neu. Hört sich vernüftig ein, jedoch müsste erstmal die Basis laufen.
beste grüße und danke
Remoteverwaltungstool
Server kann nicht aktualisiert werden RPC-Server ist nicht verfügbar. Weist du welchen Dienst ich noch starten muss?
samba4 und UNIX- Authentifizierung
Hallo !
Ich habe OpenSuSE 13.1 und samba 4.1.0.3 dazu aus den Quellen installiert. Das ganze läuft mit samba-3.6- Clients und win2k3 Server gut. Leider habe ich aber die Nutzung der samba-Accounts auf dem DC für die UNIX- Authentifizierung (was gewünscht ist), bisher nur mit winbind un der lokalen tdb auf dem samba-Memberservern installieren können. Ich habe den entsprechenden Domainusern zwar in den Feldern uidNumber und gidNumber entsprechende Werte übergeben, aber sie werden mit dem winbind backend ad leider nicht übernommen. Gibt es sachdienliche Hinweise ?
Danke im Voraus !
da kann ich leider nicht helfen
Hallo,Ich war jetzt eine Weile nicht da, deshalb melde ich mich erst jetzt.Leider kann ich da nicht helfen, da ich eine solche Konstellation nie hatte...
AD ADministrator
Hallo ich habe da mal nur kurz eine frage,
ich habe es irgendwie geschafft, beim Zuweisen der Objektzugehörigkeit im AD einer Gruppe ohne Benutzer anzugeben.
Leider hatte ich wie gesagt davor vergessen gehabt, einen User anzulegen der in dieser Gruppe hätte sein sollen.
Nun jetzt ist es so, dass ich keine Rechte mehr, über Windows auf mein AD habe xD
Kann ich mich da wieder irgendwie aus der schlinge ziehen, oder muss ich alles von vorne machen?
Als Administrator angemeldet?
Hallo,Hast du dich mal unter deinem Windwos direkt als Administrator angemeldet? Also nicht als ein Benutzer, der in der AD-Gruppe Administratoren ist, sondern direkt mit dem AD-Administrator?
Administrator
Hallo,
keine Ahnung warum aber jetzt auf einmal geht es wieder, leider kann ich mir dieses Phänomen nicht erklären?!?
Neuen Kommentar schreiben