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.confeditiert, 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
- Workgroup: Geben Sie den Namen Ihrer Windows-Workgroup oder Domain an.
- Service Start: Stellen Sie den Start auf
During Boot. - Shares: Hier können Sie bequem neue Verzeichnisse freigeben und Berechtigungen setzen.
- 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 |