Samba Server Setup: Filesharing für Windows-Clients konfigurieren

Samba ist ein Open-Source-Dienst, der es Linux-Servern ermöglicht, Dateien und Drucker mit Windows-Clients im Netzwerk zu teilen. Ein korrekt konfigurierter Samba-Server ist essenziell, um sichere und performante File-Sharing-Dienste für Unternehmensnetzwerke oder Homelabs bereitzustellen. Dieses Tutorial zeigt Schritt für Schritt, wie Sie Samba auf einem Linux-Server installieren, Benutzer anlegen, Freigaben konfigurieren und Windows-Clients anbinden.

Samba installieren

Die Installation von Samba unterscheidet sich je nach Linux-Distribution. Die Standardpakete sind auf den meisten Server-Distributionen verfügbar.

# Installation auf Debian/Ubuntu
sudo apt update
sudo apt install samba

Installation auf RHEL/CentOS/AlmaLinux/Rocky Linux

sudo dnf install samba samba-client samba-common

Samba-Dienst aktivieren und starten

Nach der Installation muss der Samba-Dienst gestartet und für den automatischen Start beim Booten aktiviert werden.

sudo systemctl enable --now smb
sudo systemctl enable --now nmb
sudo systemctl status smb
sudo systemctl status nmb

Freigabe-Verzeichnisse vorbereiten

Bevor Freigaben konfiguriert werden, sollten die entsprechenden Verzeichnisse auf dem Server erstellt und die Berechtigungen korrekt gesetzt werden.

# Beispiel: Gemeinsames Verzeichnis erstellen
sudo mkdir -p /srv/samba/shared
sudo chown nobody:nogroup /srv/samba/shared
sudo chmod 2770 /srv/samba/shared

Samba-Benutzer anlegen

Samba benötigt eigene Benutzerkonten, die mit Linux-Benutzern verknüpft sind. Nur diese Benutzer können auf die Freigaben zugreifen.

# Linux-Benutzer anlegen
sudo useradd -M sambauser
sudo passwd sambauser

Samba-Passwort setzen

sudo smbpasswd -a sambauser
sudo smbpasswd -e sambauser

Samba-Konfiguration anpassen

Die zentrale Konfigurationsdatei ist /etc/samba/smb.conf. Hier werden globale Einstellungen und Freigaben definiert.

[global]
   workgroup = WORKGROUP
   server string = Samba Server %v
   netbios name = samba-server
   security = user
   map to guest = bad user
   dns proxy = no

[Shared]
path = /srv/samba/shared
browsable = yes
writable = yes
guest ok = no
read only = no
create mask = 0660
directory mask = 2770

Nach Anpassungen den Dienst neu laden:

sudo systemctl restart smb nmb

Firewall konfigurieren

Damit Windows-Clients auf den Samba-Server zugreifen können, müssen die entsprechenden Ports geöffnet werden.

# Beispiel mit UFW
sudo ufw allow 137/udp
sudo ufw allow 138/udp
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp

Firewall Status prüfen

sudo ufw status

Windows-Clients anbinden

Auf Windows-Rechnern kann die Samba-Freigabe wie folgt genutzt werden:

  • Im Datei-Explorer den Pfad eingeben: \server_ipShared
  • Benutzername und Passwort des Samba-Benutzers eingeben
  • Optional Netzlaufwerk verbinden und Laufwerksbuchstaben zuweisen

Testen der Freigaben

Mit dem Kommando smbclient können Samba-Freigaben direkt vom Linux-Server getestet werden:

# Testzugriff
smbclient //localhost/Shared -U sambauser

Beispiel: Dateien auflisten

ls

Beispiel: Datei hochladen

put localfile.txt

Best Practices für Samba im Serverbetrieb

  • Dedizierte Benutzer und Gruppen für Freigaben anlegen
  • Chroot oder ACLs nutzen, um Benutzerzugriff einzuschränken
  • Logging aktivieren: log file = /var/log/samba/%m.log
  • Regelmäßige Updates für Samba-Pakete durchführen
  • Backups der smb.conf und wichtiger Daten anlegen
  • Passwortrichtlinien und Komplexität für Samba-Benutzer durchsetzen
  • Netzwerksegmentierung für Samba-Dienste prüfen, um unbefugten Zugriff zu vermeiden

Zusammenfassung

Ein sicherer Samba-Server erfordert die korrekte Installation von Paketen, die Einrichtung von Benutzern, Gruppen und Freigaben, die Anpassung von smb.conf sowie die Firewall-Konfiguration. Durch die Einhaltung von Best Practices können Windows-Clients problemlos auf freigegebene Daten zugreifen, während die Sicherheit und Kontrolle im Linux-Serverbetrieb gewahrt bleibt.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles