How-to SAMBA+

Einrichten eines SAMBA+ Standalone-Servers

Ein Standalone-Server stellt Datei- und Druckdienste bereit und ist nützlich, wenn keine Domänenintegration erforderlich oder gewünscht ist (z. B. in kleinen Netzwerken). Die Dienste können auch ohne Authentifizierung für Gäste freigegeben werden, aber da dies viele Sicherheitsauswirkungen hat, überspringen wir diese Variante hier und beschreiben nur einen authentifizierenden Standalone-Server.

Bitte installieren Sie mindestens das Paket 'sernet-samba' und dessen Abhängigkeiten.

SAMBA+ kann in verschiedenen Servermodi betrieben werden, daher müssen Sie die Rolle Ihres Servers angeben, bevor Sie die Dienste starten können. Dieser Modus muss mit der Variable "SAMBA_START_MODE"  in der Datei  /etc/default/sernet-samba eingestellt werden.  Setzen Sie den Modus auf "classic", um einen eigenständigen Fileserver zu betreiben.

Die Dienste können mit den üblichen systemd-Befehlen, wie 'systemctl', gesteuert werden. Für einen Standalone-Dateiserver sind die folgenden Dienste verfügbar:

  •  sernet-samba-smbd.service            Samba SMB Daemon (Datei- und Druckdienste)
  •  sernet-samba-nmbd.service           Samba NMB Daemon  (NetBIOS Name Resolution)
  •  sernet-samba-winbindd.service    Samba Winbind Dämon (ID mapping, Name Service Switch Dämon)

Die weitere Konfiguration muss in /etc/samba/smb.conf erledigt werden.

Eine sehr einfache Konfiguration könnte wie folgt aussehen:

[global]                                                                         
       netbios name = FILESRV1                                                  
       workgroup = MYWORKGROUP                                                  
                                                                                
[share1]                                                                         
       path = /path/to/share1                                                   
       read only = no
                                                          

Der "netbios name" gibt den Namen des Servers an und "workgroup" den Namen Ihrer Arbeitsgruppe.

Im Abschnitt [global] werden die globalen Einstellungen festgelegt. Für jede Dateifreigabe und jeden Drucker muss ein eigener Abschnitt hinzugefügt werden (siehe [share1] im Beispiel).

Details zu globalen und share-spezifischen Parametern finden Sie in der ManPage zu smb.conf ('man smb.conf').

Um auf Ihre neue SMB-Freigabe zuzugreifen, müssen Sie einen Samba-Benutzer anlegen. Samba benötigt ein gleichnamiges UNIX-Konto, um die Berechtigungen im Dateisystem überprüfen zu können.                                                 

Fügen Sie den UNIX-Benutzer hinzu (falls er noch nicht vorhanden ist):                                    
sudo useradd -s /usr/sbin/nologin smbuser1                                   

Fügen Sie den Samba-Benutzer hinzu:                                                                
sudo smbpasswd -a smbuser1                                               

Die Passwörter der beiden Konten können unterschiedlich sein. Beim Verbinden mit der Freigabe wird das Passwort des Samba-Benutzers benötigt.

Auch das gemeinsame Verzeichnis muss existieren. Wenn es noch nicht vorhanden ist, kann es über 'sudo mkdir -p /path/to/share1' entsprechend dem obigen Beispiel angelegt werden. Stellen Sie bitte sicher, dass der Benutzer auf Dateisystemebene Zugriff auf das freigegebene Verzeichnis hat.     

Starten Sie die Daemons "smbd" und "nmbd" und versuchen, sich mit der Freigabe zu verbinden:             

Starten Sie die Dienste:                                                            
sudo systemctl restart sernet-samba-smbd                        
sudo systemctl restart sernet-samba-nmbd
                    

Stellen Sie mit 'smbclient' eine Verbindung zur Freigabe her:                                            
smbclient //FILESRV1/share1 -U smbuser1                                   

Die Verbindung über einen Windows- und andere SMB-Clients ist natürlich auch möglich.

 

Einrichten eines SAMBA+ AD-Domänencontrollers (AD DC)

Ein Domänencontroller stellt das zentrale Active Directory zur Verfügung. Stellen Sie sicher, dass Sie mindestens zwei DC für das Failover haben! Verwenden Sie Ihre Domänencontroller nicht als Dateiserver.

Installieren Sie bitte das Paket "sernet-samba-ad" und seine Abhängigkeiten.

  • Debian/Ubuntu:  apt-get install sernet-samba-ad
  • RHEL/CentOS:      yum install sernet-samba-ad
  • SUSE/Leap:          zypper in sernet-samba-ad

Danach editieren Sie bitte die SAMBA+ Konfigurationsdatei "/etc/default/sernet-samba" und setzen Sie die Variable "SAMBA_START_MODE" auf "ad". Andernfalls wird der 'samba'-Deamon nicht starten.

Jetzt kann die Konfiguration und die Datenbank der neuen AD-Domäne über das 'samba-tool domain provision' Kommando erstellt werden. Bitte geben Sie Ihren Realm, Domänennamen, etc. ein. Dieser Schritt erstellt die Konfigurationsdatei "/etc/samba/smb.conf". Anschließend kann der Dienst über den Befehl 'systemctl restart sernet-samba-ad' gestartet werden.

 

Einrichten eines SAMBA+-Domänen-Mitgliedsservers

Ein Domänenmitglied ist Teil einer Domäne (Domänenbenutzer und -gruppen sind verfügbar), welcher sich gegenüber DCs authentifiziert. Ein Mitgliedsserver wird normalerweise für Datei- oder Druckserver verwendet.

SAMBA+ kann sowohl in einer Domäne im NT4-Stil als auch in einem Active Directory Mitglied sein.

Bitte installieren Sie mindestens das 'sernet-samba' und 'sernet-samba-winbind' Paket und die Abhängigkeiten, die von Ihrem Paketmanager automatisch ermittelt werden.

SAMBA+ kann in verschiedenen Servermodi betrieben werden. Daher müssen Sie die Rolle Ihres Servers angeben, bevor Sie die Dienste starten können. Dieser Modus muss mit der Variable "SAMBA_START_MODE" in der Datei /etc/default/sernet-samba gesetzt werden. Setzen Sie den Modus auf "classic" um Samba als einen Domänenmitgliedsserver zu betreiben.

Die Dienste können mit den üblichen systemd-Befehlen, wie 'systemctl', gesteuert werden. Für einen Domänenmitgliedsserver sind die folgenden Dienste verfügbar:

  •  sernet-samba-smbd.service            Samba SMB Daemon (file and print services)
  •  sernet-samba-nmbd.service           Samba NMB Daemon  (NetBIOS name resolution)
  •  sernet-samba-winbindd.service    Samba Winbind Daemon (ID mapping, Name Service Switch daemon)

Die weitere Konfiguration muss in der /etc/samba/smb.conf Konfigurationsdatei vorgenommen werden.

Ein sehr einfaches Konfigurationsbeispiel ist als /etc/samba/smb.conf.member in den SAMBA+ Paketen enthalten.

In der [global] Sektion werden globale Einstellungen, wie die Domänenmitgliedschaft und das ID-Mapping festgelegt. Für jede Dateifreigabe oder Drucker kann eine weitere Sektion hinzugefügt werden (siehe [share1] in der Beispieldatei).

Details zu globalen und share-spezifischen Parametern finden Sie in der ManPage zu smb.conf ('man smb.conf').

Nachdem die Konfiguration in der smb.conf vorgenommen wurde, kann der Server mit dem 'net ads join' Kommando in die Domäne aufgenommen werden. Über die Option -U kann ein Domänenbenutzer angegeben werden, der die Berechtigung hat, den Server der Domäne hinzuzufügen:
net ads join -UAdministrator

Um auf Ihre neue SMB-Freigabe zugreifen zu können müssen noch die AD-Benutzer und -Gruppen auf dem System verfügbar gemacht werden. Die "passwd" und "group" Option in der /etc/nsswitch.conf muss "winbind" enthalten. Etwa so:
passwd: files winbind
group: files winbind


Starten Sie die Dienste "winbindd", "smbd" und "nmbd" und versuchen Sie sich mit der Freigabe zu verbinden:

sudo systemctl restart sernet-samba-winbindd
sudo systemctl restart sernet-samba-smbd
sudo systemctl restart sernet-samba-nmbd

Stellen Sie mit 'smbclient' eine Verbindung zur Freigabe her:
smbclient //filesrv.samdom.example.com/share1 -U"SAMDOM\aduser1"

Die Verbindung über einen Windows- und andere SMB-Clients ist natürlich auch möglich.

 

Einrichten eines SAMBA+ CTDB-Clusters

CTDB ist der Cluster-Management-Dienst von Samba. In Kombination mit einem Cluster-Dateisystem kann ein SAMBA+ CTDB-Cluster einen hochverfügbaren Samba-Server mit Lastverteilung bereitstellen.

Dieser Artikel beschreibt, welche Pakete und Dienste benötigt werden. Die Konfiguration eines CTDB-Clusters, insbesondere die Samba-Konfiguration, hängt stark von deinen Anforderungen ab.

Bitte installiere mindestens die Pakete "sernet-samba-ctdb", "sernet-samba" und "sernet-samba-winbind" und deren Abhängigkeiten auf jedem Knoten.

SAMBA+ kann in verschiedenen Servermodi betrieben werden, daher musst du die Rolle deines Servers angeben, bevor du die Dienste starten kannst. Dieser Modus muss mit der Variable "SAMBA_START_MODE" in der Datei /etc/default/sernet-samba eingestellt werden. Setze den Modus auf "classic", um Samba mit CTDB zu starten.

Der CTDB-Dienst kann mit den üblichen systemd-Befehlen wie "systemctl" gestartet und gestoppt werden. Der Dienstname lautet sernet-samba-ctdbd.service. Da CTDB die Samba-Dienste kontrollieren und überwachen kann, können die Dienste deaktiviert werden:
systemctl disable sernet-samba-nmbd.service
systemctl disable sernet-samba-smbd.service
systemctl disable sernet-samba-winbindd.service

systemctl disable sernet-samba-dcerpcd.service (ab SAMBA+ 4.20)

Mit dem Verwaltungsprogramm "ctdb" kannst du festlegen, welche Dienste von CTDB verwaltet werden sollen. Für einen Samba-Cluster werden normalerweise 49.winbind und 50.samba benötigt. Verwende die folgenden Befehle, um die Verwaltung der Dienste zu aktivieren:
ctdb event script enable legacy 49.winbind
ctdb event script enable legacy 50.samba

Wenn du den neuen Witness Service nutzen willst, der seit Samba Version 4.20 enthalten ist, musst du auch 47.dcerpcd aktivieren:
ctdb event script enable legacy 47.dcerpcd
Zusätzlich benötigst du die folgende Option in deiner smb.conf global section:
rpc start on demand helpers = no

Weitere Informationen zur Konfiguration von CTDB und Samba findest du im Artikel CTDB und geclusterter Samba im samba.org Wiki: https://wiki.samba.org/index.php/CTDB_and_Clustered_Samba

Nach der Konfiguration kannst du CTDB starten:
systemctl restart sernet-samba-ctdbd.service

 

Contact us
Kontakt
Deutsch English Français