Ubuntu 20.04 Server / Samba / Installieren und einen Ordner freigeben

Installieren Sie Samba auf Ubuntu 20.04 Server und konfigurieren Sie Freigabe, Benutzer und Dateirechte für den Zugriff im Windows-Explorer. Das Beispiel ist ein eigenständiger Dateiserver für authentifizierte Mitglieder einer eigenen Gruppe, keine kennwortlose Gastfreigabe.

Umfang prüfen und Samba installieren

Samba stellt Linux-Dateien über SMB (Server Message Block) für Windows bereit. Hier entsteht eine Freigabe mit lokalen Konten, kein Active-Directory-Domänencontroller oder Domänenmitglied. Überschreiben Sie keine bestehende Domänenkonfiguration unter [global].

Sie brauchen sudo-Rechte, Speicher und Windows-Zugriff auf die private IP oder den korrekt aufgelösten Hostnamen. Das Beispiel nutzt 192.168.10.20 und das erlaubte Netz 192.168.10.0/24; passen Sie beides an. Ubuntu 20.04 verließ 2025 den Standardsupport: prüfen Sie die Wartung bei Canonical zu Ubuntu 20.04.

Installieren Sie die Pakete und prüfen Sie die Version. smbclient ist das Clientwerkzeug für Tests. Grundlagen nennt die Ubuntu-Anleitung zum Samba-Dateiserver.

sudo apt update
sudo apt install samba smbclient
smbd --version
systemctl status smbd.service

Prüfen Sie bei bestehenden Servern zuerst Freigaben und Benutzer, dann sichern Sie /etc/samba/smb.conf. Existiert die Sicherung schon, wählen Sie einen anderen Namen. Das Beispiel nutzt ein neues leeres Verzeichnis und ändert bestehende Datenrechte nicht rekursiv.

sudo cp -a /etc/samba/smb.conf /etc/samba/smb.conf.before-team-share
sudo testparm -s

Benutzer, Gruppe und Verzeichnis anlegen

  1. Prüfen Sie, ob smbuser und smbteam existieren. Kontrollieren Sie vor Wiederverwendung Zweck und Mitglieder oder wählen Sie andere Namen und passen Sie alle Verweise an.
getent passwd smbuser
getent group smbteam
  1. Fehlen beide Namen, erstellen Sie Gruppe und Freigabekonto und registrieren ein Samba-Passwort. Die letzte Abfrage setzt das für Windows verwendete Passwort.
sudo groupadd smbteam
sudo useradd -M -s /usr/sbin/nologin -G smbteam smbuser
sudo smbpasswd -a smbuser

Das Freigabekonto erhält weder Homeverzeichnis noch interaktive Anmeldeshell. Linux-Passwörter mit passwd und Samba-Zugangsdaten mit smbpasswd sind getrennt. Bestehende Konten nicht erneut anlegen: mit sudo usermod -aG smbteam USERNAME ergänzen und denselben Namen in Samba registrieren. Siehe smbpasswd-Handbuch für Ubuntu 20.04.

  1. Erstellen Sie das neue Verzeichnis. Der Befehl setzt Besitzer, Gruppe und Modus; enthält der Pfad Daten, prüfen Sie zuerst die vorhandenen Rechte.
sudo install -d -o root -g smbteam -m 2770 /srv/samba/team
ls -ld /srv/samba/team
id smbuser

2770 gewährt Besitzer und Gruppe Lesen, Schreiben und Verzeichniszugriff, anderen keinen Zugang. Die führende 2 ist setgid zur Gruppenvererbung. Prüfen Sie Gruppe smbteam und Mitgliedschaft von smbuser. Linux und Samba müssen Zugriff erlauben; verwenden Sie nicht chmod 777 als Lösung.

Authentifizierte Freigabe konfigurieren

Öffnen Sie sudoedit /etc/samba/smb.conf und ergänzen Sie den Abschnitt unter Erhalt der bisherigen Konfiguration. Existiert [Team], prüfen Sie ihn statt eines Duplikats. Freigabename Team und Dateipfad sind verschieden.

[Team]
    path = /srv/samba/team
    browseable = yes
    read only = no
    guest ok = no
    valid users = @smbteam
    force group = smbteam
    create mask = 0660
    force create mode = 0660
    directory mask = 2770
    force directory mode = 2770

guest ok = no verbietet Gäste; valid users = @smbteam erlaubt authentifizierte Gruppenmitglieder. read only = no erlaubt Samba-Schreibzugriff, umgeht aber Linux nicht. force group legt die Gruppe für Operationen fest.

Masken begrenzen Rechte neuer Objekte, Force-Modi ergänzen benötigte Gruppenrechte. Das Beispiel zielt auf Dateien mit 0660 und Verzeichnisse mit 2770; bestehende Dateien bleiben unverändert. Zusätzliche ACLs (Access Control Lists, Zugriffslisten) oder Rechtemodule benötigen eigene Prüfung. Siehe smb.conf-Handbuch für Ubuntu 20.04.

Prüfen, anwenden und Firewall kontrollieren

  1. Prüfen Sie die Konfiguration und beheben Sie Fehler vor der Anwendung. Erfolgreiches testparm bedeutet ladbare Konfiguration, keine Garantie für Anmeldung oder Dateizugriffe.
sudo testparm -s

Vergleichen Sie [Team], Pfad und Einschränkungen in der Ausgabe. Auch das testparm-Handbuch verlangt separate Funktionstests. Ein Neustart kann bestehende Freigaben trennen: ermitteln Sie Nutzer und planen Sie Wartung.

  1. Wenden Sie nach erfolgreicher Prüfung den Dienst an und kontrollieren Sie Betrieb und Autostart.
sudo systemctl enable --now smbd.service
sudo systemctl restart smbd.service
systemctl is-active smbd.service
systemctl is-enabled smbd.service
sudo ss -ltnp | grep ':445'
  1. Erlauben Sie bei aktiver Firewall TCP 445 nur aus dem nötigen internen Netz. Ersetzen Sie den Beispielbereich, bestimmen Sie den Umfang und prüfen Sie vorhandene Regeln.
sudo ufw status verbose
sudo ufw allow from 192.168.10.0/24 to any port 445 proto tcp

Eine Regel aktiviert keine inaktive UFW. Führen Sie ufw enable nicht ohne Prüfung des Fernwartungszugangs aus. Prüfen Sie Router und Cloud und leiten Sie SMB nicht direkt aus dem Internet weiter. Direkter Adresszugriff braucht keine pauschale Öffnung alter NetBIOS-Suchports. Syntax im UFW-Handbuch.

Testen Sie Anmeldung und Verzeichnisliste auf dem Server. Geben Sie das Passwort an der Abfrage ein, nicht im Befehl. Prüfen Sie Team und Inhalte und testen Sie Windows separat. Siehe smbclient-Handbuch.

smbclient -L 127.0.0.1 -U smbuser
smbclient //127.0.0.1/Team -U smbuser -c 'ls'

Von Windows zugreifen und Dateien testen

  1. Öffnen Sie den Explorer und geben Sie den Pfad in die Adressleiste ein. Ersetzen Sie 192.168.10.20. Direkter Zugriff ist auch ohne automatische Anzeige unter Netzwerk möglich.
\\192.168.10.20\Team
  1. Verwenden Sie smbuser und das mit smbpasswd -a registrierte Passwort, nicht Windows-Konto oder PIN. Wird ein anderes Konto gewählt, verwenden Sie die Option für ein anderes Konto und geben den Samba-Benutzer an.
  2. Erstellen Sie Testordner und -datei, ändern und öffnen Sie den Inhalt erneut. Löschen Sie die Testdatei und prüfen Sie Bearbeitung durch einen anderen erlaubten Benutzer. Keine wichtigen vorhandenen Dateien testen.

Für weitere Nutzer bereiten Sie individuelle Linux-Konten und Samba-Zugangsdaten vor und ergänzen smbteam. Nutzen Sie persönliche Konten statt eines gemeinsamen Passworts. Nach Gruppen- oder Rechteänderungen bestehende Verbindungen schließen und eine neue SMB-Sitzung testen.

Für häufigen Zugriff wählen Sie Dieser PC → Netzlaufwerk verbinden, einen Buchstaben und \\192.168.10.20\Team als Ordner. Nutzen Sie bei Bedarf andere Anmeldedaten. Versionsabhängige Menüs erklärt Microsofts Anleitung für Netzlaufwerke.

Windows-Gastbeschränkungen und SMB-Signierung können alte anonyme Freigaben ablehnen. Dieses Beispiel authentifiziert sich, ohne SMB1, unsichere Gäste oder abgeschaltete Signierung als Abhilfe. Beschränkt die Organisation NTLM, ist eine zu Domäne und Server passende Konfiguration nötig. Bedingungen nach Version und Edition erläutert Microsoft zur SMB-Signierung.

Zugriffsfehler untersuchen und Freigabe aufheben

Testen Sie TCP 445 aus PowerShell. TcpTestSucceeded mit True bestätigt weder Zugangsdaten noch Rechte; bei False prüfen Sie Adresse, Routing, Firewall und lauschenden Dienst. Optionen bei Microsoft zu Test-NetConnection.

Test-NetConnection -ComputerName 192.168.10.20 -Port 445

Bei Passwortfehlern prüfen Sie Samba-Registrierung, Namen und Gruppe. Gelingt Anmeldung ohne Schreiben, prüfen Sie mit namei -l /srv/samba/team, ls -ld /srv/samba/team und id smbuser Pfadzugriff und Gruppe sowie Samba-Schreibschutz. Protokolle: sudo journalctl -u smbd.service -n 50 --no-pager und /var/log/samba/.

Bei alten Windows-Zugangsdaten prüfen Sie net use. Dateien schließen, nur die betroffene Freigabe wie unten trennen und neu verbinden. Prüfen Sie auch andere Freigaben desselben Servers und die Anmeldeinformationsverwaltung. Keine unbeteiligten Netzlaufwerke pauschal löschen.

net use \\192.168.10.20\Team /delete

Entfernen oder restaurieren Sie zum Beenden nur [Team] in smb.conf, prüfen mit testparm -s und starten smbd.service im Wartungsfenster neu. Entfernen Sie nur die passende UFW-Regel, falls unnötig. Prüfen Sie verbleibende Verbindungen und bewahren Sie Daten und Linux-Konten getrennt davon auf.

sudo ufw delete allow from 192.168.10.0/24 to any port 445 proto tcp

Vergleichen Sie vor kompletter Wiederherstellung Änderungen anderer Freigaben seit dem Backup. Nur das Samba-Konto lässt sich mit sudo smbpasswd -d smbuser deaktivieren; bestehende Sitzungen enden dadurch nicht garantiert sofort. Prüfen Sie neue abgewiesene Verbindungen und verbleibende Sitzungen separat.