Sparen Sie 15% bei allen Hosting-Diensten

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Abschnitte
Linux

Wie man Samba auf Ubuntu installiert und konfiguriert: Ein vollständiger Schritt-für-Schritt-Leitfaden

Samba ist eine leistungsstarke Open-Source-Softwaresuite, die nahtlose Datei- und Druckerfreigabe zwischen Computern mit Windows und Unix-ähnlichen Betriebssystemen wie Ubuntu ermöglicht. Durch die Installation und ordnungsgemäße Konfiguration von Samba können Sie die Lücke zwischen Linux- und Windows-Umgebungen überbrücken und Benutzern auf beiden Plattformen ermöglichen, Dateien, Verzeichnisse und sogar Drucker über ein lokales oder Wide-Area-Network freizugeben.

Egal ob Sie ein Home Lab, ein kleines Geschäftsnetzwerk oder eine Produktionsserver-Umgebung verwalten, dieser umfassende Leitfaden führt Sie durch jeden Schritt der Installation, Konfiguration und Sicherung von Samba auf Ubuntu — einschließlich erweiterter Optionen, die die meisten Tutorials auslassen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie folgende Voraussetzungen erfüllen:

  • Ein Server oder eine Maschine mit Ubuntu 20.04, 22.04 oder 24.04
  • Sudo- oder Root-Zugriff auf das System
  • Grundlegende Kenntnisse der Linux-Befehlszeile
  • Netzwerkverbindung zwischen den Maschinen, die Sie verbinden möchten

Wenn Sie Samba auf einem Remote-Server ausführen, ist eine zuverlässige und leistungsstarke Hosting-Umgebung unerlässlich. VPS Hosting von AlexHost bietet Ihnen vollständigen Root-Zugriff, dedizierte Ressourcen und die Flexibilität, Ihren Server genau nach Ihren Anforderungen zu konfigurieren.

Schritt 1: Systempaket aktualisieren

Vor der Installation neuer Software ist es wichtig, den Paketindex Ihres Systems zu aktualisieren und vorhandene Pakete auf ihre neuesten Versionen zu aktualisieren. Dies gewährleistet Kompatibilität und schützt vor bekannten Sicherheitslücken.

sudo apt update && sudo apt upgrade -y

Warten Sie, bis der Prozess abgeschlossen ist, bevor Sie fortfahren.

Schritt 2: Samba installieren

Installieren Sie das Samba-Paket mit dem APT-Paketmanager:

sudo apt install samba -y

Nach Abschluss der Installation überprüfen Sie, ob die Installation erfolgreich war, indem Sie die Samba-Version überprüfen:

smbd --version

Sie sollten eine Ausgabe ähnlich wie folgt sehen:

Version 4.15.13-Ubuntu

Sie können auch überprüfen, ob der Samba-Dienst ausgeführt wird:

sudo systemctl status smbd

Die Ausgabe sollte den Dienst als active (running) anzeigen.

Schritt 3: Sicherung der Standard-Samba-Konfigurationsdatei

Vor Änderungen sollten Sie immer die ursprüngliche Konfigurationsdatei sichern. Dies ermöglicht es Ihnen, die Standardeinstellungen wiederherzustellen, falls etwas schiefgeht:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Dies ist eine bewährte Methode, die viele Anleitungen übersehen, aber erfahrene Systemadministratoren immer befolgen.

Schritt 4: Freigegebenes Verzeichnis erstellen und konfigurieren

4.1 Verzeichnis erstellen

Entscheiden Sie, welches Verzeichnis Sie über das Netzwerk freigeben möchten. In dieser Anleitung erstellen wir einen dedizierten Ordner namens shared im Home-Verzeichnis:

mkdir ~/shared

4.2 Verzeichnisberechtigungen festlegen

Legen Sie die entsprechenden Berechtigungen für das Verzeichnis fest. Für eine gemeinsame Umgebung, in der mehrere Benutzer Lese- und Schreibzugriff benötigen:

chmod 777 ~/shared

> Sicherheitshinweis: Die Einstellung chmod 777 gewährt allen Benutzern vollständige Lese-, Schreib- und Ausführungsberechtigungen. Obwohl dies für Tests praktisch ist, wird es für Produktionsumgebungen nicht empfohlen. Verwenden Sie in einer Produktionsumgebung restriktivere Berechtigungen wie chmod 770 und verwalten Sie den Zugriff über Gruppenmitgliedschaften.

Schritt 5: Samba konfigurieren — smb.conf bearbeiten

Öffnen Sie die Hauptkonfigurationsdatei von Samba mit einem Texteditor:

sudo nano /etc/samba/smb.conf

Scrollen Sie zum Ende der Datei und fügen Sie den folgenden Konfigurationsblock hinzu:

[SharedFolder]
   path = /home/username/shared
   available = yes
   valid users = username
   read only = no
   browsable = yes
   public = yes
   writable = yes

Ersetzen Sie username durch Ihren tatsächlichen Ubuntu-Systembenutzernamen.

Verständnis jeder Direktive

DirektiveBeschreibung
pathDer absolute Pfad zum freigegebenen Verzeichnis
availableOb die Freigabe für Benutzer verfügbar ist
valid usersBeschränkt den Zugriff auf die aufgelisteten Benutzer
read onlyAuf no setzen, um Schreibzugriff zu ermöglichen
browsableOb die Freigabe beim Durchsuchen des Netzwerks angezeigt wird
publicErmöglicht den Zugriff ohne Authentifizierung (mit Vorsicht verwenden)
writableErmöglicht Benutzern, Dateien in die Freigabe zu schreiben

Nachdem Sie Ihre Änderungen vorgenommen haben, speichern Sie die Datei durch Drücken von CTRL + O, dann Enter, und beenden Sie mit CTRL + X.

Konfiguration validieren

Bevor Sie Samba neu starten, testen Sie Ihre Konfigurationsdatei auf Syntaxfehler:

testparm

Dieser Befehl analysiert die Datei smb.conf und meldet alle Probleme. Beheben Sie alle Fehler, bevor Sie fortfahren.

Schritt 6: Ein Samba-Benutzerkonto erstellen

Samba verwaltet seine eigene Passwortdatenbank, die von den Standard-Linux-Systempasswörtern getrennt ist. Sie müssen ein Samba-spezifisches Passwort für jeden Benutzer hinzufügen, der auf die Freigabe zugreifen muss.

sudo smbpasswd -a username

Sie werden aufgefordert, ein Passwort einzugeben und zu bestätigen. Dieses Passwort ist erforderlich, wenn Sie sich von einem Remote-Windows- oder Linux-Computer aus mit dem freigegebenen Ordner verbinden.

> Tipp: Verwenden Sie für jeden Samba-Benutzer ein starkes, eindeutiges Passwort. Vermeiden Sie die Wiederverwendung von Systempasswörtern.

So aktivieren Sie das Benutzerkonto in Samba (falls es zuvor deaktiviert war):

sudo smbpasswd -e username

Schritt 7: Firewall konfigurieren

Wenn Sie UFW (Uncomplicated Firewall) auf Ihrem Ubuntu-Server aktiviert haben, müssen Sie Samba-Datenverkehr durch die Firewall zulassen:

sudo ufw allow samba

Überprüfen Sie, ob die Regel hinzugefügt wurde:

sudo ufw status

Samba verwendet die folgenden Ports:

  • TCP 445 — SMB over TCP (primary)
  • TCP 139 — NetBIOS session service
  • UDP 137 & 138 — NetBIOS name and datagram services

Schritt 8: Samba-Dienste neu starten und aktivieren

Wenden Sie Ihre Konfigurationsänderungen an, indem Sie die Samba-Dienste neu starten:

sudo systemctl restart smbd
sudo systemctl restart nmbd

Aktivieren Sie beide Dienste, um beim Systemstart automatisch zu starten:

sudo systemctl enable smbd
sudo systemctl enable nmbd

Der nmbd Dienst verwaltet die NetBIOS-Namensauflösung, die wichtig ist, damit Windows-Clients Ihren Samba-Server nach Name im lokalen Netzwerk erkennen können.

Schritt 9: Auf den freigegebenen Ordner von einem Windows-System zugreifen

Von jedem Windows-Computer im selben Netzwerk können Sie sich jetzt mit Ihrer Ubuntu Samba-Freigabe verbinden:

  1. Öffnen Sie Datei-Explorer
  2. Geben Sie in der Adressleiste den Netzwerkpfad zu Ihrem Ubuntu-Computer ein:
   ubuntu_ip_addressSharedFolder

Ersetzen Sie ubuntu_ip_address durch die tatsächliche IP-Adresse Ihres Ubuntu-Servers (z. B. 192.168.1.100SharedFolder)

  1. Geben Sie bei Aufforderung den Samba-Benutzernamen und das Passwort ein, die Sie in Schritt 6 konfiguriert haben
  2. Der freigegebene Ordner wird nun im Datei-Explorer angezeigt, und Sie können Dateien lesen, schreiben, kopieren und löschen, genau wie bei einem lokalen Ordner

Die Freigabe als Netzlaufwerk zuordnen (Optional)

Für persistenten Zugriff können Sie die Samba-Freigabe als Netzlaufwerk in Windows zuordnen:

  1. Klicken Sie mit der rechten Maustaste auf Dieser PC im Datei-Explorer
  2. Wählen Sie Netzlaufwerk verbinden
  3. Wählen Sie einen Laufwerksbuchstaben und geben Sie den Netzwerkpfad ein
  4. Aktivieren Sie Bei Anmeldung erneut verbinden für automatisches Mounten

Schritt 10: Auf die Samba-Freigabe von einem anderen Linux-System zugreifen

Auf einem anderen Linux-Computer können Sie sich mit dem smbclient Befehlszeilentool mit der Samba-Freigabe verbinden.

Installieren Sie zunächst smbclient, falls es noch nicht vorhanden ist:

sudo apt install smbclient -y

Verbinden Sie sich dann mit der Freigabe:

smbclient //ubuntu_ip_address/SharedFolder -U username

Geben Sie das Samba-Passwort ein, wenn Sie dazu aufgefordert werden. Sie gelangen dann in eine interaktive FTP-ähnliche Shell, in der Sie Befehle wie ls, get, put und cd verwenden können, um Dateien zu navigieren und zu übertragen.

Samba-Freigabe auf Linux einbinden

Für ein nahtloseres Erlebnis können Sie die Samba-Freigabe mit cifs-utils als lokales Dateisystem einbinden:

sudo apt install cifs-utils -y
sudo mkdir /mnt/samba_share
sudo mount -t cifs //ubuntu_ip_address/SharedFolder /mnt/samba_share -o username=username,password=yourpassword

Um die Einbindung über Neustarts hinweg persistent zu machen, fügen Sie einen Eintrag zu /etc/fstab hinzu:

//ubuntu_ip_address/SharedFolder /mnt/samba_share cifs username=username,password=yourpassword,_netdev 0 0

> Sicherheitstipp: Speichern Sie Anmeldedaten nicht in /etc/fstab, sondern verwenden Sie eine Anmeldedatei mit eingeschränkten Berechtigungen.

Schritt 11: Erweiterte Samba-Konfigurationsoptionen

Sambas smb.conf unterstützt eine breite Palette von Direktiven, die dir eine präzise Kontrolle über deine Dateifreigabeumgebung geben. Hier sind die nützlichsten erweiterten Optionen:

Schreibgeschützter Zugriff

Um zu verhindern, dass Benutzer Dateien in einer Freigabe ändern, stelle Folgendes ein:

read only = yes

Gastzugriff (anonyme Freigaben)

Um Benutzern die Verbindung ohne Passwort zu ermöglichen:

guest ok = yes
public = yes

> Verwende Gastzugriff nur in vertrauenswürdigen, isolierten Netzwerken. Aktiviere ihn niemals auf einem öffentlich zugänglichen Server.

Zugriff nach IP-Adresse einschränken

Um zu begrenzen, welche Maschinen sich mit einer Freigabe verbinden können:

hosts allow = 192.168.1.0/24
hosts deny = ALL

Dies schränkt den Zugriff auf Maschinen im 192.168.1.x Subnetz ein.

Mehrere freigegebene Ordner

Du kannst so viele Freigaben wie nötig definieren, indem du zusätzliche Blöcke zu smb.conf hinzufügst:

[Documents]
   path = /home/username/documents
   valid users = username
   read only = no
   writable = yes

[Backups]
   path = /srv/backups
   valid users = admin
   read only = yes
   browsable = no

Maximale Verbindungen festlegen

Um die Anzahl gleichzeitiger Verbindungen zu einer Freigabe zu begrenzen:

max connections = 10

Einen bestimmten Benutzer oder eine Gruppe erzwingen

Um sicherzustellen, dass alle Dateien mit einem bestimmten Benutzer- oder Gruppeneigentum erstellt werden:

force user = samba_user
force group = samba_group

Schritt 12: Sicherung Ihrer Samba-Installation

Sicherheit ist von größter Bedeutung, besonders wenn Ihr Samba-Server über Ihr lokales Netzwerk hinaus zugänglich ist. Befolgen Sie diese Best Practices zur Härtung:

1. Gastzugriff deaktivieren

Deaktivieren Sie den anonymen Zugriff immer, es sei denn, er ist ausdrücklich erforderlich:

map to guest = Never

2. Starke Passwörter verwenden

Erzwingen Sie starke, eindeutige Passwörter für alle Samba-Benutzer. Vermeiden Sie Wörterbuchbegriffe und verwenden Sie eine Kombination aus Groß- und Kleinbuchstaben, Zahlen und Symbolen.

3. Freigabesichtbarkeit einschränken

Setzen Sie browsable = no auf sensible Freigaben, damit diese beim Durchsuchen des Netzwerks nicht angezeigt werden. Benutzer, die den genauen Pfad kennen, können sich trotzdem verbinden.

4. Berechtigungen in freigegebenen Verzeichnissen begrenzen

Wenden Sie das Prinzip der geringsten Berechtigung an — gewähren Sie nur die Berechtigungen, die Benutzer tatsächlich benötigen. Vermeiden Sie chmod 777 in der Produktion.

5. Samba an eine bestimmte Schnittstelle binden

Wenn Ihr Server mehrere Netzwerkschnittstellen hat, binden Sie Samba nur an die interne Schnittstelle:

[global]
   interfaces = eth0 lo
   bind interfaces only = yes

6. Protokollierung aktivieren

Aktivieren Sie die Samba-Protokollierung, um den Zugriff zu überwachen und verdächtige Aktivitäten zu erkennen:

[global]
   log file = /var/log/samba/log.%m
   max log size = 1000
   log level = 1

7. Samba aktualisieren

Aktualisieren Sie Samba regelmäßig, um bekannte Sicherheitslücken zu beheben:

sudo apt update && sudo apt upgrade samba -y

Wahl der richtigen Hosting-Umgebung für Ihren Samba-Server

Die Leistung und Zuverlässigkeit Ihres Samba-Dateiservers hängen stark von der zugrunde liegenden Infrastruktur ab. Hier sind einige Hosting-Optionen, die Sie je nach Ihrem Anwendungsfall in Betracht ziehen sollten:

  • Kleine Teams und persönliche Projekte: Shared Web Hosting bietet einen erschwinglichen Einstiegspunkt für leichte Workloads.
  • Wachsende Unternehmen und Entwicklungsteams: VPS Hosting bietet dedizierte Ressourcen, vollständigen Root-Zugriff und die Skalierbarkeit, die erforderlich ist, um Samba neben anderen Diensten auszuführen.
  • Hochleistungs- oder Enterprise-Workloads: Dedicated Servers bieten maximale Leistung, Speicherkapazität und Netzwerkdurchsatz — ideal für großflächige Dateifreigabe-Umgebungen.
  • KI- und datenintensive Anwendungen: Wenn Sie Samba neben Machine-Learning- oder Datenverarbeitungs-Workloads ausführen, bietet GPU Hosting die erforderliche Rechenleistung.

Für Teams, die auch eine verwaltete Control-Panel-Erfahrung benötigen, vereinfacht VPS mit cPanel die Serververwaltung und gibt Ihnen dennoch die Flexibilität, Samba zu installieren und zu konfigurieren.

Behebung häufiger Samba-Probleme

Verbindung von Windows nicht möglich

  • Überprüfen Sie, ob der Samba-Dienst ausgeführt wird: sudo systemctl status smbd
  • Überprüfen Sie die Firewall-Regeln: sudo ufw status
  • Bestätigen Sie, dass die IP-Adresse korrekt ist und erreichbar: ping ubuntu_ip_address
  • Stellen Sie sicher, dass Benutzername und Passwort mit smbpasswd übereinstimmen

Berechtigung verweigert beim Zugriff auf die Freigabe

  • Überprüfen Sie die Verzeichnisberechtigungen: ls -la ~/shared
  • Überprüfen Sie, ob die valid users Direktive in smb.conf mit dem Samba-Benutzernamen übereinstimmt
  • Bestätigen Sie, dass der Benutzer mit smbpasswd -a username hinzugefügt wurde

Samba-Freigabe ist nicht im Netzwerk sichtbar

  • Stellen Sie sicher, dass nmbd ausgeführt wird: sudo systemctl status nmbd
  • Legen Sie browsable = yes in der Freigabekonfiguration fest
  • Überprüfen Sie, dass sich der Windows-Computer und der Ubuntu-Server im selben Subnetz befinden

Konfigurationsfehler nach dem Bearbeiten von smb.conf

  • Führen Sie testparm aus, um Syntaxfehler zu identifizieren
  • Stellen Sie die Sicherung bei Bedarf wieder her: sudo cp /etc/samba/smb.conf.bak /etc/samba/smb.conf

Fazit

Die Installation und Konfiguration von Samba auf Ubuntu ist eine der effektivsten Möglichkeiten, um plattformübergreifende Dateifreigabe zwischen Linux- und Windows-Systemen zu ermöglichen. Durch die Befolgung dieser Anleitung haben Sie gelernt, wie Sie:

  • Samba installieren und die Installation überprüfen
  • Freigegebene Verzeichnisse mit entsprechenden Berechtigungen erstellen und konfigurieren
  • Samba-Benutzer hinzufügen und die Authentifizierung verwalten
  • Die Firewall so konfigurieren, dass Samba-Datenverkehr zugelassen wird
  • Von Windows- und Linux-Clients aus auf Freigaben zugreifen
  • Erweiterte Konfigurationsoptionen für Zugriffskontrolle und Leistung anwenden
  • Ihre Samba-Installation gegen häufige Sicherheitsbedrohungen absichern

Mit der richtigen Server-Infrastruktur und einer ordnungsgemäß konfigurierten Samba-Einrichtung können Sie eine zuverlässige, sichere und leistungsstarke Dateifreigabeumgebung aufbauen, die Linux- und Windows-Benutzer nahtlos bedient. Unabhängig davon, ob Sie Samba auf einem lokalen Computer oder in einer Cloud-basierten VPS Hosting-Umgebung ausführen, helfen Ihnen die Prinzipien in dieser Anleitung, das Beste aus Ihrer Bereitstellung herauszuholen.