linux-suse-opensuse storage networking samba smb windows yast sles

Samba on SUSE: Windows Integration (Artikel 160)

Professionelle Bereitstellung von Dateidiensten unter SUSE. Erfahren Sie alles über das YaST Samba-Modul, die Integration in Windows-Netzwerke und das Management von Freigaben.

# Samba on SUSE: Fileservices im heterogenen Netzwerk

TL;DR / Management Summary Während man unter anderen Distributionen oft händisch die smb.conf editiert, bietet SUSE mit dem YaST Samba-Server Modul ein Werkzeug, das die Konfiguration massiv vereinfacht. Ob als einfacher Dateiserver oder als Domain Member in einem Active Directory: YaST kümmert sich um die korrekten Dienst-Abhängigkeiten, die Firewall-Freischaltungen und die konsistente User-Datenbank.


# 1. Einführung & Architektur

Der SUSE Samba Stack.

Samba unter SUSE ist eng mit den System-Security-Policys (AppArmor) und dem Dateisystem (Btrfs/XFS) verknüpft.

# Die Architektur-Elemente (Mermaid)

graph LR
    A[YaST Samba Module] --> B[Master Config: /etc/samba/smb.conf]
    B --> C[Service: smb]
    B --> D[Service: nmb]
    B --> E[Service: winbind - optional]
    C --> F[Shares: /srv/samba/]
    E --> G[Active Directory Connection]
    H{AppArmor} --> C

# 2. Einrichtung mit YaST

Vom Server zur Freigabe.

# Schritt 1: Pakete installieren

sudo zypper install samba yast2-samba-server

# Schritt 2: YaST Wizard nutzen

sudo yast2 samba-server
  1. Workgroup: Geben Sie den Namen Ihrer Windows-Workgroup oder Domain an.
  2. Service Start: Stellen Sie den Start auf During Boot.
  3. Shares: Hier können Sie bequem neue Verzeichnisse freigeben und Berechtigungen setzen.
  4. Firewall: YaST fragt automatisch, ob die Ports in der Firewall geöffnet werden sollen.

# 3. Samba User-Management

Identitäten synchronisieren.

Samba nutzt seine eigene Datenbank (/var/lib/samba/private/passdb.tdb).

# User hinzufügen

# User muss im Linux System existieren
sudo smbpasswd -a <username>

# User löschen

sudo smbpasswd -x <username>

# 4. Day-2 Operations: Btrfs Snapshots in Samba

Der ‘Vorherige Versionen’ Trick.

Wenn Ihre Freigabe auf einem Btrfs-Dateisystem liegt, kann Samba dem Windows-Explorer die Snapper-Snapshots (siehe Artikel 154) als “Vorgängerversionen” präsentieren.

# Konfiguration (smb.conf)

[global]
    vfs objects = btrfs
[share]
    path = /srv/samba/data
    btrfs:snaps = yes

Windows-User können nun per Rechtsklick -> “Vorgängerversionen” Dateien selbstständig wiederherstellen.


# 5. Troubleshooting & “War Stories”

Wenn der Zugriff verweigert wird.

# Story 1: “Der AppArmor-Block”

Symptom: Die Freigabe wird in Windows angezeigt, aber beim Zugriff kommt “Permission Denied”, obwohl chmod 777 gesetzt ist. Ursache: Das AppArmor-Profil für smbd erlaubt den Zugriff auf das spezifische Verzeichnis (z.B. /data/custom) nicht. Lösung: Fügen Sie den Pfad zum Profil hinzu: /etc/apparmor.d/usr.sbin.smbd. Oder nutzen Sie den Standardpfad /srv/samba/.

# Story 2: “Duplicate SID nach Klonen”

Symptom: In einer AD-Domain kommt es zu sporadischen Fehlern, wenn mehrere SLES-Server gleichzeitig im Netz sind. Ursache: Der Server wurde geklont, und die Samba-SID (Security Identifier) ist auf beiden Systemen identisch. Lösung: Generieren Sie eine neue SID: sudo net setlocalsid $(net getlocalsid <master_server>) (und danach leicht abändern) oder einfacher: Samba-Secrets löschen und neu initialisieren.


# 6. Fazit & Empfehlung

  • Pfade: Nutzen Sie in SUSE bevorzugt /srv/samba/ für Freigaben.
  • Versionierung: Kombinieren Sie Samba mit Btrfs/Snapper für ein Self-Service Backup der User.
  • Wahl: Nutzen Sie für die reine Dateifreigabe immer die Version 3 des SMB-Protokolls (server min protocol = SMB3).

# Anhang: Cheatsheet

Aufgabe SUSE / CLI Befehl
Config testen testparm
Aktive User sehen smbstatus
Service Status systemctl status smb
Freigaben auflisten smbclient -L localhost -N
Log-Datei live tail -f /var/log/samba/log.smbd
YaST Modul yast2 samba-server
Domain Beitritt yast2 samba-client