Samba 4 als Speicher im Netz

Jens Stolt, 123RF

Brückenbau

Seit die finale Version von Samba 4 erschienen ist, gewinnt sie in der Praxis mehr und mehr an Bedeutung und hat mittlerweile Einzug in Jessie, dem nächsten Debian-Release, gehalten. Wir werfen einen Blick auf die neuen Funktionen.
Das Titelthema im ADMIN 04/14 "Vernetzt speichern" sind Netzwerkdateisysteme, etwa Samba 4, verteilter Storage mit Ceph & GlusterFS und der Unix-Klassiker ... (mehr)

Als Samba 3 im Jahr 2003 veröffentlicht wurde, bestand es aus drei Diensten: Dem Fileserver »smbd« , dem Nameserver »nmbd« und dem Authentifizierungsserver »winbind« . Diese drei Dienste haben in ihrem Zusammenspiel mit dem restlichen System einen Dateidienst und/oder NT4-Domain-Controller bereitgestellt.

Bei der Entwicklung von Samba 4 wurde diese Struktur komplett überarbeitet. Dies rührt daher, dass eine Active-Directory-Domäne sehr viel mehr Dienste bereitstellen muss als nur die obigen drei: Die klassische NETBIOS-Namensauflösung wurde abgelöst durch DNS, Authentifizierung wurde zentralisiert mittels Kerberos und zentrale Datenhaltung wird über LDAP realisiert – einzig der Dateiserver ist beim Alten geblieben, wurde allerdings auf die neue Struktur angepasst.

Erstmalig ist es mit Samba 4 möglich, eine komplette Windows-Domänenstruktur auf Linux abzubilden. Die Debian-Pakete bieten diese Möglichkeit selbstverständlich an und fragen bei der Installation nach, welche Rolle das System im Netz spielen soll. Wir haben im Test vier Systeme provisioniert: eine virtuelle Maschine als Domänen-Controller (Debian Jessie), ein openATTIC-System als Domänenmitglied (Debian Jessie) und zwei Windows-Clients als Domänenmitglieder (Windows 7/8).

Das Netzwerkdateisystem ist nun mehr denn je in das Domänenkonzept integriert – es nutzen zu wollen, ohne die Benutzer und Berechtungen in der Domain zu verwalten, ist nur mäßig sinnvoll. Das hier beschriebene Setup ist also die Grundvoraussetzung, um Samba als gemeinsames Dateisystem im Unternehmen einsetzen zu können.

Der Domain Controller

Das neue Samba ist so modular aufgebaut (siehe Listing 1 ), dass es auch möglich ist, die einzelnen Dienste auszulagern und beispielsweise DNS durch »bind9« oder den Verzeichnisdienst durch OpenLDAP zu ersetzen. Das Rundum-Sorglos-Paket ist allerdings für eine einfache Installation mehr als ausreichend.

Listing 1

Prozesse von Samba 4

 

Ein zentraler Dienst, den der DC bereitstellt, ist jedoch leicht zu übersehen: Eine Windows-Domäne erledigt ihre komplette Authentifizierung über Kerberos. Dieses Protokoll funktioniert nur dann, wenn bei allen Systemen die Uhrzeit um nicht mehr als fünf Minuten voneinander abweicht. Es gilt also unbedingt, einen NTP-Server zu konfigurieren, um Probleme in dieser Richtung auszuschließen.

Die Software-Installation des Domain Controllers (DC) ist mittels »apt-get install samba« sehr einfach zu erledigen. Debconf stellt während der Installation ein paar Fragen zur Rolle des Servers sowie zu den Eckdaten der Domäne und erledigt auch automatisch die Provisionierung, sodass man sich hier im Idealfall um nichts mehr selbst kümmern braucht. Falls dabei etwas schief geht – der häufigste Grund dafür dürfte sein, dass das Administratorkennwort an der Kennwortrichtlinie der Domäne scheitert – so ist eine erneute Provisionierung mittels »samba-tool domain provision« schnell erledigt. Die Pakete sorgen dann auch dafür, dass »samba-tool« die richtigen Vorgabewerte übernimmt.

Der Provisionierungsvorgang erzeugt unter anderem die Dateien »/etc/krb5.conf« und »/etc/samba/smb.conf« , die am Ende so aussieht wie in Listing 2 . Diese Konfiguration deckt alles ab, was man zum Start benötigt.

Listing 2

/etc/samba/smb.conf

 

Installation des Domänenmitglieds

Für den Betrieb eines Samba-4-Servers als Domänenmitglied gilt es eine Einschränkung zu beachten: Das Programm »samba« unterstützt den Betrieb als Mitglied nicht. Diese Konfiguration wird daher mittels der bekannten Programme »smbd« , »nmbd« und »winbind« realisiert. Auch an dieser Stelle noch einmal der Hinweis auf den NTP-Client, der zuvor unbedingt konfiguriert werden sollte: Stimmt die Zeitsynchronisierung nicht, ist kaum mit einer funktionierenden Samba-Installation zu rechnen. Weiterhin muss geprüft werden, ob »hostname --fqdn« den korrekten, vollqualifizierten Namen des Rechners zurückgibt:

$ hostname --fqdn
benrime.samba.lan

Zum Test sollte ein openATTIC-Storage-Server als Domänenmitglied auftreten. Dazu wurde auf dem Rechner erst Debian Wheezy installiert, openATTIC darauf konfiguriert und das System danach auf Debian Jessie aktualisiert. Anschließend wird das System – wie im openATTIC-Standard vorgesehen  – durch den Befehl »oaconfig domainjoin« in die Domäne aufgenommen. Dieses Skript führt eine Reihe von Befehlen aus, die im Folgenden näher beschrieben werden und so auf jedem beliebigen Linux-System funktionieren.

openATTIC erzeugt zunächst die Datei »krb5.conf« (diese kann auch einfach vom DC kopiert werden) sowie die Samba-Konfiguration »/etc/samba/smb.conf« ( Listing 3 ).

Listing 3

/etc/samba/smb.conf von openATTIC

 

Als nächstes testet openATTIC, ob Kerberos funktioniert, indem es sich als Administrator authentifiziert ( Listing 4 ).

Listing 4

Kerberos-Authentifizierung

 

Ist dieser Schritt erfolgreich, so kann man mittels »net ads join -U Administrator« der Domäne beitreten. Die Samba-Konfiguration von openATTIC verwendet eine externe Keytab, um Kerberos-Authentifikation für andere Dienste außer Samba zu ermöglichen. Daher muss nun die Keytab erzeugt und validiert werden ( Listing 5 ).

Listing 5

Kerberos-Keytab

 

Wenn das alles funktioniert hat, war der Domänenbeitritt erfolgreich. Nun bleibt noch »winbind« zu konfigurieren, indem man die Datei »/etc/nsswitch.conf« folgendermaßen anpasst:

passwd:   compat winbind
group:    compat winbind

Nach einem anschließenden Neustart des Winbind-Servers ( »service winbind restart« ) kann das neue Domänenmitglied auf die Domäne zugreifen und Benutzer und Gruppen abrufen:

root@benrime:~$ getent passwd Administratoradministrator:*:10500:10513:Administrator:/home/SAMBA/administrator:/bin/bash
root@benrime:~$ getent group "Domain Admins"
domain admins:x:10512:test,administrator

Damit ist der Domänenbeitritt abgeschlossen.

Windows-Systeme können einer Samba-4-Domäne genauso beitreten wie einem klassischen Windows-Active-Directory ( Abbildung 1 ). Man navigiert also in die Systemeinstellungen unter »Erweiterte Systemeinstellungen« , »Computername« , »Ändern« , trägt dort die Domäne ein, beantwortet die Frage nach dem Administrator-Kennwort, und nach ein paar Sekunden des Wartens und einem Neustart ist der Domänenbeitritt erledigt. Auch die Konfiguration des NTP-Clients erledigt Windows beim Beitritt automatisch.

Abbildung 1: Mit der richtigen Konfiguration treten Windows-Clients einer Samba-4-Domain bei.
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023