1 Samba (Netzwerkfreigaben zwischen Linux und Windows)
Samba implementiert die von Microsoft entwickelten Netzwerkprotokolle SMB (Server Message Block) und CIFS (Common Internet File System). Dadurch kann ein Linux-System (z. B. ein Debian-Server, ein Raspberry Pi oder ein NAS) im lokalen Netzwerk als Datei- und Druckerserver agieren, auf den Windows-, macOS- und andere Linux-Clients so zugreifen können, als handele es sich um einen echten Windows-Server. Sogar die Funktion eines Active Directory Domain Controllers (AD) kann Samba vollständig übernehmen.
1.1 📥 Installation unter Linux
Da Samba der absolute Industrie-Standard für Dateifreigaben ist, ist es in den offiziellen Paketquellen aller Distributionen enthalten. Für den Betrieb als Server (Bereitstellung von Ordnern) wird das Paket samba benötigt:
Debian / Ubuntu / Linux Mint / Armbian:
Arch Linux / EndeavourOS / Manjaro:
openSUSE (Leap & Tumbleweed):
1.2 ⚙️ Die Schaltzentrale: Die Datei smb.conf
Die gesamte Konfiguration von Samba wird unter Linux in einer einzigen, zentralen Textdatei gesteuert: /etc/samba/smb.conf.
Um einen Ordner im Netzwerk für die Familie oder das Büro freizugeben, fügen Administratoren am Ende dieser Datei einen Konfigurationsblock ein. Ein klassisches, sicheres Praxisbeispiel für den Foren-Support sieht so aus:
Ini, TOML
[Netzwerkspeicher]
comment = Gemeinsamer Linux-Speicher
path = /home/samba/freigabe
browsable = yes
writable = yes
guest ok = no
valid users = @smbusers
force create mode = 0660
force directory mode = 0770
- Erklärung der Parameter:
- path: Der reale Pfad des Ordners auf der Linux-Festplatte.
- browsable: Bestimmt, ob der Ordner in der Windows-Netzwerkumgebung sichtbar ist.
- writable: Erlaubt den berechtigten Nutzern, Dateien hochzuladen oder zu löschen.
- guest ok = no: Verhindert anonymen Zugriff ohne Passwort.
- valid users: Nur Mitglieder der Linux-Gruppe smbusers dürfen zugreifen.
1.3 ⚠️ Die klassischen Stolpersteine
Wenn Nutzer melden:
„Ich sehe den Ordner unter Windows, kann aber nichts hineinkopieren!“, liegt der Fehler fast immer an einer der drei folgenden Hürden:
1.3.1 1. Die doppelten Passwörter (Das Samba-Benutzer-Paradoxon)
Samba nutzt aus Sicherheitsgründen eine eigene, vom Linux-System getrennte Benutzerdatenbank.
- Der Fehler:
Einsteiger legen einen Linux-Nutzer an und versuchen, sich unter Windows mit dessen normalem Linux-Passwort anzumelden. Das schlägt fehl. Die Lösung:
Jeder Benutzer muss zwingend manuell für Samba freigeschaltet und mit einem Samba-Passwort versehen werden:
1.3.2 2. Das Zusammenspiel der Dateirechte (Linux vs. Samba)
Samba kann im Netzwerk nur Rechte gewähren, die der darunterliegende Linux-Kernel auf der Festplatte überhaupt zulässt.
- Der Fehler:
In der smb.conf steht zwar writable = yes, aber der Linux-Ordner unter /home/samba/freigabe gehört dem Benutzer root und hat die Linux-Rechte 755 (andere dürfen nur lesen). Windows-Nutzer erhalten dann die Meldung: „Zugriff verweigert“. - Die Lösung:
Die Linux-Rechte des Ordners müssen per chown und chmod im Terminal so angepasst werden, dass die Samba-Nutzer auch auf Dateisystem-Ebene Schreibrechte besitzen.
1.3.3 3. Der "Verschwundene Server" (SMBv1 und WSD)
Seit Windows 10/11 hat Microsoft das uralte, unsichere Protokoll SMBv1 standardmäßig komplett deaktiviert. Dadurch funktioniert die alte "Netzwerkknöterich-Erkennung" im Windows-Explorer nicht mehr automatisch.
- Das Symptom:
Der Linux-Server wird unter Windows einfach nicht mehr im Netzwerk-Baum aufgelistet. - Der Rat:
Der Nutzer sollte den Server direkt über die Adresszeile des Windows-Explorers mittels der IP-Adresse oder des Hostnamens aufrufen (z. B. \\192.168.1.50\Netzwerkspeicher). Um den Server wieder sichtbar zu machen, kann auf dem Linux-System ein kleiner Zusatzdienst namens wsdd (Web Services Discovery daemon) installiert werden, welcher modernen Windows-Clients die Anwesenheit des Samba-Servers signalisiert.
1.3.4 4. Das Versions-Chaos: SMBv1 (alt/unsicher) vs. SMBv2/v3 (modern)
Ein extrem häufiges Phänomen:
Ein Nutzer hat einen älteren Netzwerk-Drucker, einen alten Mediaplayer, ein betagtes NAS oder nutzt eine ältere Linux-Distribution und versucht, eine Verbindung zu einem modernen Windows 11-PC oder einem aktuellen Debian-Samba-Server aufzubauen. Die Verbindung schlägt ohne aussagekräftige Fehlermeldung fehl.
- Der technische Hintergrund:
Das ursprüngliche Protokoll SMBv1 (auch bekannt als NT1) ist über 30 Jahre alt, extrem langsam und durch schwere Sicherheitslücken (wie die WannaCry-Ransomware-Katastrophe) kompromittiert. Moderne Betriebssysteme haben SMBv1 daher komplett standardmäßig deaktiviert und verbannt. Aktuelle Samba- und Windows-Versionen kommunizieren standardmäßig nur noch über SMBv2 oder SMBv3. - Das Problem im Alltag:
Will ein moderner Linux-Client ein uraltes NAS einbinden, das nur SMBv1 beherrscht, verweigert Linux den Mount-Befehl.- Umgekehrt blockiert ein moderner Samba-Server standardmäßig Anfragen von uralten Geräten.
Die Lösung (Der Spagat zwischen Sicherheit und Kompatibilität):
Muss ein Nutzer aus unumgänglichen Gründen (z.B. wegen eines alten, teuren Netzwerk-Scanners) zwingend SMBv1 auf seinem Linux-Samba-Server erlauben, muss er das in der smb.conf im Bereich [global] explizit freischalten:Möchte man beim Einbinden (Mounten) eines alten Netzlaufwerks auf dem Linux-PC die Version erzwingen, nutzt man beim mount-Befehl das Argument vers:
1.4 🐧 Linux-Praxistipp: Samba-Status im Terminal prüfen
Um schnell zu analysieren, ob der Samba-Dienst überhaupt fehlerfrei läuft, welche Windows-Geräte aktuell mit dem Linux-Server verbunden sind und welche Dateien gerade geöffnet sind, hilft das integrierte Diagnose-Werkzeug:
Sollte man Änderungen an der smb.conf vorgenommen haben, kann man die Datei vor dem Neustart des Dienstes auf Tippfehler überprüfen lassen:
Vorteil:
testparm meldet sofort, wenn ein Parameter falsch geschrieben wurde oder eine Syntax-Warnung vorliegt, bevor der Server abstürzt.