Samba Server auf Ubuntu aufsetzen

Ubuntu

Zielbild

  • Ubuntu Server (mit Plesk)
  • Samba nur im internen Netz erreichbar
  • Saubere Benutzertrennung, keine anonymen Shares
  • Kein Konflikt mit Plesk oder Apache
  • Logs, klare Rechte, gut kontrollierbar

1. Vorüberlegungen (wichtig)

Bevor wir beginnen:

  • Samba nicht öffentlich ins Internet hängen.
    SMB gehört ins LAN oder VPN.
  • Wenn externe Zugriffe nötig sind: WireGuard / OpenVPN, nicht Port 445 forwarden.
  • Dateipfad nicht unter /var/www oder Plesk-Webspaces anlegen.

Wir nehmen z. B.:

/srv/samba/

2. Installation

sudo apt update
sudo apt install samba smbclient -y

Status prüfen:

systemctl status smbd

3. Benutzerkonzept (Linux ≠ Samba)

Systembenutzer anlegen (ohne Login)

sudo adduser --disabled-login sambauser

Samba-Benutzer setzen

sudo smbpasswd -a sambauser
sudo smbpasswd -e sambauser

4. Verzeichnisstruktur & Rechte

sudo mkdir -p /srv/samba/daten
sudo chown -R sambauser:sambauser /srv/samba/daten
sudo chmod -R 770 /srv/samba/daten

Optional mit Gruppe (empfohlen bei mehreren Usern):

sudo groupadd sambashare
sudo usermod -aG sambashare sambauser
sudo chown -R sambauser:sambashare /srv/samba/daten
sudo chmod -R 2770 /srv/samba/daten

5. Samba sicher konfigurieren

Backup der Config

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

Grundkonfiguration (/etc/samba/smb.conf)

[global]
   workgroup = WORKGROUP
   server string = Plesk Samba Server
   server role = standalone server

   security = user
   map to guest = never

   # Nur IPv4 (optional, empfehlenswert bei Ärger mit IPv6)
   disable netbios = yes
   smb ports = 445

   # Logging
   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file

   # Sicherheit
   server min protocol = SMB2
   client min protocol = SMB2
   client max protocol = SMB3
   server signing = mandatory

   # Performance & Stabilität
   socket options = TCP_NODELAY IPTOS_LOWDELAY
   deadtime = 15

6. Share definieren

Am Ende der Datei:

[daten]
   path = /srv/samba/daten
   valid users = sambauser
   read only = no
   browsable = yes
   writable = yes

   create mask = 0660
   directory mask = 2770

Config prüfen:

testparm

7. Dienst neu starten

sudo systemctl restart smbd
sudo systemctl enable smbd

8. Firewall (absolut Pflicht)

UFW aktivieren (falls noch nicht)

sudo ufw enable

Samba nur aus dem internen Netz erlauben

Beispiel LAN: 192.168.230.0/24

sudo ufw allow from 192.168.230.0/24 to any port 445 proto tcp
sudo ufw deny 445

Status prüfen:

sudo ufw status verbose

9. Zugriff testen

Vom Client aus:

smbclient //server-ip/daten -U sambauser

Oder direkt im Explorer:

\\server-ip\daten

10. Typische Plesk-Fallstricke vermeiden

  • ❌ Kein Share in /var/www/vhosts
  • ❌ Keine root-Shares
  • ❌ Kein Gastzugriff
  • ❌ Kein Portforwarding auf 445
  • ✔ Eigene User, eigene Verzeichnisse

11. Optional: Nur über VPN (empfohlen)

Wenn du magst, ist der nächste logische Schritt:

  • WireGuard auf dem Server
  • Samba nur an wg0 binden
  • Kein Firewall-Rule für LAN nötig

Sag Bescheid, dann baue ich dir das exakt so auf.


12. Logs & Wartung

Logs anschauen:

tail -f /var/log/samba/log.*

Aktive Sessions:

smbstatus

Fazit

So aufgesetzt ist Samba:

  • sauber getrennt von Plesk
  • nicht von außen angreifbar
  • wartbar und nachvollziehbar
  • problemlos erweiterbar (weitere Shares, User, Gruppen)