Samba 4.4.2 auf Debian 8.4 installieren (Jessie)

samba_logo_4cIn dieser Anleitung soll auf einem frisch installierten Debian System ein Samba 4.4.2 AD DC installiert werden. Da in den Debian Repositorys von Samba „nur“ die Version 4.1.x vorhanden ist, heißt dies also, dass die Quelltexte von Samba.org geladen, entpackt, kompiliert, installiert und konfiguriert werden. Zu guter Letzt wird eine neue Domäne bereitgestellt und ein Windows Client darf der Domäne beitreten. Ausserdem wird der Samba-Server mit dem RSAT Tools verwaltet.  Basis der Installation ist ein frisch aufgesetztes Debian 8.4 (Jessie) ohne Desktop. Außer den Systemwerkzeugen wurde lediglich der ssh Server installiert. Außerdem sind alle Updates mit

bereits installiert worden. Zu Beginn darf der Rechner auch gerne noch als DHCP Client konfiguriert sein damit er am Internet hängt.

Da die allermeisten der folgenden Befehle root Rechte benötigen, gehe ich davon aus das der root angemeldet ist und spare mir daher das sudo .

Als erstes sollten die für die Samba Installation benötigten Abhängigkeiten installiert werden:

(Der isc-dhcp-server  ist nicht zwingend notwendig. In diesem Tutorial werde ich ihn aber später noch brauchen. Ggf könnt ihr den also weglassen.)

Während der Installation sind drei Fragen zu beantworten. Die erste Frage nach dem voreingestellten Realm für Kerberos Version 5 lege ich auf MY.OWN.DOM  fest. Zu beachten ist, dass ihr als Toplevel keinen öffentlichen Domainnamen nehmen solltet. Also statt des von mir gewählten .DOM solltet ihr nicht so etwas wie  .COM, .DE, .ORG oder zb. .NET nehmen, da diese Domains öffentlich sind. Ihr solltet lieber etwas wählen, das es nicht im Internet gibt, damit es beim DNS zu keinen Konflikten kommt.

Die beiden nächsten Fragen müssen mit dem während der Installation des Debian Servers vergebenen HostNamen beantwortet werden. Welcher Name das ist, lässt sich auch mit dem Befehl hostname  erfragen. Bei mir heisst die Maschine smbdc01:

Dann können auch schon die Samba 4.4 Quelltexte geladen werden:

Nach dem Download entpacken:

Nun in das gerade entpackte Verzeichnis wechseln:

Und mit den beiden folgenden Befehlen kompilieren:

Beide Befehle nehmen je nach Rechenleistung einige Minuten in Anspruch.

Last but not least: Installieren:

Damit samba bequem aufgerufen werden kann, ist es ratsam die $PATH Variable um die neuen samba Pfade zu ergänzen.

Damit das greift, müßt ihr euch aber einmal ausloggen $ exit  und dann wieder einloggen. Wenn alles geklappt hat sollte samba grundsätzlich laufen, was wir mit folgendem Befehl prüfen:

jep, läuft 😀

Falls das Netzwerk des Servers per DHCP konfiguriert wurde, ist es somit nun an der Zeit dies zu ändern. Ein Domänencontroller sollte immer auch die Rolle des DHCP und DNS Servers haben. Letzterer wird in Kürze mit dem Bereitstellen der neuen Domäne aktiviert. Der DHCP Server kommt später dazu, sodass wir jetzt erstmal mit festen IPs zum weiteren Testen arbeiten. Da der DC auch immer eine feste IP haben sollte, ist dies also sowieso erstmal gar nicht so verkehrt. Ich spiele hier mit meinen Installationen in einem HyperV Sandkasten. Daher habe ich es leicht und ändere die Netzwerkverbindung des Servers auf einen Netzwerkswitch des HyperV, der als privates Netz konfiguriert ist. Falls ihr mit einer echten physikalischen Maschine arbeitet, solltet ihr einen Switch (KEINEN Router) zur Hand nehmen und den Samba Server nun mit diesem verkabeln. Abgesehen vom Netzteil, ist der Switch selbst erstmal mit keinen weiteren Geräten verbunden. Vor allem nicht mit eurem Router!

Falls ihr bis gerade so wie ich per ssh gearbeitet habt, wars das natürlich nun erstmal. Also meldet euch artig an der Konsole an und vergebt dem Server eine feste IP indem ihr die interfaces Datei editiert:

Damit der Server die feste IP 10.101.42.1 hat, sieht meine Datei wie folgt aus:

Um die Änderungen zu übernehmen muss das Netzwerk einmal neugestartet werden:

 mit ping könnt ihr zB prüfen ob dies funktioniert hat:

Wenn eine Antwort kommt, dann läuft das Netz. Wenn nicht, dann checkt nochmal eure interfaces  Datei.

So langsam kommen wir dann auch zum spannenden Teil. Die neue Domäne wird bereitgestellt. Meine Domäne wird wie oben bereits erwähnt my.own.dom heißen und ich stelle diese mit denen vom samba Team geratenen Voreinstellungen bereit. Wer sich für die weiteren Schalter interessiert, sollte sich den entsprechenden Abschnitt auf samba.org durchlesen.

Die Installation läuft recht simpel mit nur einem Befehl und ein paar Fragen ab:

Nach Abschluß des Assistenten startet man den Server mit dem Befehl samba .

Bevor wir einen Dienst einrichten um den Sambaserver nach einem reboot automatisch zu starten, testen wir mit den beiden folgenden Befehlen  erstmal, ob das bereitstellen der Domäne auch funktioniert hat.

Wenn es bei euch zu Fehlern kommt, solltet ihr euch den Bereich Trobleshooting auf samba.org durchlesen.  Hier läuft es, also installieren wir nun den Dienst, damit Samba demnächst nach einen Neustart des Server automatisch startet. Dafür muss nur eine Datei mit folgendem Inhalt angelegt werden:

Nun muss der Dienst noch aktiviert werden: systemctl enable samba.service

Nun kann Samba mit den üblichen Befehlen gestartet und gestoppt werden:

Zuletzt wird der DHCP Server eingerichtet:

Die Installation dessen habe ich euch bereits bei der Installation der Abhängigkeiten untergeschoben gehabt, daher muss er nun nur noch konfiguriert werden. Dies geschieht in der Datei dhcpd.conf, welche also zB mit nano zu öffnen ist:

folgende Zeilen sind nun anzupassen:

Die Datei mit STRG+O  und STRG + X  speichern und schließen. Nun nur noch den Dienst des DHCP-Servers starten:

Es ist soweit, der erste Windowsclient kann / darf der Domäne beitreten. Ich werde hierfür einen Windows 10 Pro x64 Client nehmen. Um die Domäne auch zu verwalten, habe ich auf diesem bereits die RSATs installiert. (Hier steht wie das geht). Der Windows Client muss natürlich im selben physikalischen Netz hängen wie der Sambaserver! Da letzterer nun aber bereits als DHCP Server arbeitet, sind an dem Windows Client keinen Einstellungen im Netzwerk mehr notwendig.

Um der Domäne beizutreten könnte man wie üblich den Weg über die Systemsteuerung gehen, Aber wir nehmen mal den neuen Weg über die Einstellungen -> System -> Info (links unten) -> Systeminfo (rechts unten) und landen: „In der Systemsteuerung!!“ Dort also wieder wie gewohnt auf „Einstellungen ändern“ klicken, und nochmal auf ändern um der neuen Samba Domäne beizutreten:MY1Klickt nun noch auf OK und sobald ihr nach einem Nutzerkonto gefragt werdet, gebt das Konto des Domänenadmins an (Das Kennwort habt ihr bei der Installation des Sambasevers vergeben):

MY2

Et voila, euch geht’s wie den Leuten früher aus der Werbung eines ISP: „Bin ich da etwa schon drin?“:MY3Den Linux Rechner mussten wir bisher nicht einmal neustarten. Kaum begeben wir uns aber an ein Windows und „Schwubs“, schon wird der erste Neustart verlangt. Tut dies also…

Nach dem Neustart steht die erste Anmeldung in der Domäne an. Da bisher kein Nutzerkonto außer dem des Administrators besteht, meldet sich also zunächst der Administrator an:

MY4

Nach dem Login könnt ihr direkt das AD und / oder die Gruppenrichtlinienverwaltung aufrufen und euch dort austoben, als wäre es eine MS Domäne:
MY5
Als Sahnehäubchen könnte man dem Linuxserver auch noch eine zweite Netzwerkschnittstelle verpassen. Über diese könnte der Linuxserver dann die Windows Clients ins Internet routen. Aber dies ist Teil eines separaten Tutorials.

9 Gedanken zu „Samba 4.4.2 auf Debian 8.4 installieren (Jessie)

  1. Habe alles wie in der Anleitung beschrieben installiert hatt auch fast alles geklappt bis auf die verlinkung von Samba jetzt aber meine frage ich will eine lokale Freigabe einrichten über rsat funktioniert aber nicht

    1. Die Freigabe muss zunächst in der Datei /usr/local/samba/etc/smb.conf eingetragen sein. Da stehen auch schon Die Freigaben netlogon und sysvol drin. Analog dazu, kannst Du zunächst Deine Freigabe ergänzen. Ggf den Sambadienst anschließend neustarten.
      Danach kannst Du die Berechtigungen von Windows aus mit dem Explorer verwalten (Eigenschaften (des Ordners) -> Sicherheit).

      1. Ja das ist schon Klar nur wenn ich mich per Computerverwaltung>>auf anderen Pc verbinden>>System klicke kommt der erste Fehler „Ereignisanzeige“ Die Prozeduranzahl liegt außerhalb des erlaubten Bereichs(1745) dann klick ich auf OK ! Dann auf System>>Freigegebene Ordner>>Freigaben Da wähle ich zb meine Freigabe und ändere etwas und will anschliesend auf Übernehmen oder OK klicken kommt der Fehler Die Änderungen konnten nicht gespeichert werden. Zugriff verweigert !!!
        Die Freigaben funktionieren aber auf dem Debian Server zeit er mir unbekanter Benutzer

        1. Der Fehler 1745 kommt daher, dass der Debian Server natürlich keine Windows-Ereignisanzeige hat. Somit läuft das Snap-In auf einen Fehler.

          Den Fehler „Zugriff verweigert“ bekomme ich, wenn ich versuche Dein beschriebenes Vorgehen als Nicht-Administrator nachzuvollziehen. Melde ich mich auf dem Windows-Rechner mit dem Nutzer my.own.dom\Administrator an, funktioniert es wie erwartet. (Abgesehen von dem Fehler 1745, der bleibt natürlich)

          1. Tatsächlich hatt geklappt nur vieleicht hast du ein Tipp für mich wie ich die Domain Benutzer auch lokal auf dem Server sehe wenn ich Berechtigungen ändere bekomme ich nur unbekannter benutzer:10003 angezeigt

          2. „Am besten gar nicht!“ 😉

            Benutzer anlegen. verwalten etc geht am einfachsten mit einem Windows Client auf dem Du Dich mit dem Domänen Admin anmeldest und dort die RSAT installierst. Damit kannst Du dann auch am einfachsten Berechtigungen vergeben, Gruppen anlegen, GPOs erstellen etc.
            Benutzerkonten die Du in der Domäne anlegst, existieren nicht im Linux System. Das kannst Du am schönsten nachvollziehen, indem Du Dir mit folgendem Befehl Deine Linux User auflistest:

            awk -F ':' '{ print $1}' /etc/passwd

            Da werden Deine Domänenkonten nicht bei sein. Wenn Du aber tatsächlich nicht mit den RSAT arbeiten willst, dann ist samba-tool Dein Werkzeug: Mit samba-tool user list kannst Du Dir zB Deine Domänenkonten anzeigen lassen. samba-tool -h listet Dir alle Subcommands von samba-tool auf.

            Ansonsten gibt es auch noch die Tools ldbsearch, ldbedit und ldbmodify. Mit denen habe ich aber noch nie gearbeitet. Ich nutze am liebsten die RSAT. In Scripten auch samba-tool, aber das sind meist nur einmalige Aktionen zum Anlegen einer Liste von Nutzern.

  2. Sehr gute Anleitung, die mir bei dem Problem mit Debian und systemd in Bezug auf Samba doch sehr weiter geholfen hat. Nimmt man nämlich das Paket aus den Paketquellen wird der Samba-Server direkt wieder beendet und man sucht erstmal nach der Fehlerquelle.

    Allerdings hätte ich da noch eine Frage in Bezug auf Kerberos. Dazu hast du selbst nichts gesagt. Arbeitest du dabei ohne Kerberos oder hast du das nur ausgelassen, da man es eh braucht für die Tickets und dem „Einmal-Login“?

    1. Freut mich, wenn es Dir geholfen hat!

      Kerberos erwähne ich nur Eingangs am Rande während der Installation der Systemvorraussetzungen (apt-get install […] krb5-user […]), und im folgenden Absatz zur Festlegung des Kerberos Realms. Nähere Infos zu Kerberos liefere ich in der Anleitung vor allem deshalb nicht, da ich mich selber nicht fit genug mit Kerberos fühle, um anderen Ratschläge erteilen zu wollen. 🙂

      Liebe Grüße
      Sebastian

      1. Ah okay, das ist nachvollziehbar.
        An sich brauch man für Samba auch nicht so das Wissen zu Kerberos, Hauptsache man achtet darauf das auch der DNS dann richtig läuft.

        Danke nochmal 🙂

Kommentare sind geschlossen.