Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Samba Server unter Ubuntu Server 22.04 und 24.04 einrichten
Diese Anleitung beschreibt die Installation und Einrichtung eines Samba-Servers unter Ubuntu 22.04.
Samba ermöglicht die Freigabe von Verzeichnissen im Netzwerk, sodass Linux- und Windows-Clients darauf zugreifen können.
1. Samba installieren
Auf dem Server:
sudo apt update sudo apt install samba samba-common-bin smbclient cifs-utils
Dienst prüfen:
systemctl status smbd
Falls der Dienst nicht aktiv ist:
sudo systemctl enable smbd sudo systemctl start smbd
2. Freigabe-Verzeichnis erstellen
Beispiel Server 1:
sudo mkdir -p /media/daten/samba/sambashare
Beispiel Server 2:
sudo mkdir -p /home/samba/publicshare
3. Rechte setzen
Beispiel mit dem Benutzer someuser.
Server 1:
sudo chown -R someuser:someuser /media/daten/samba/sambashare sudo chmod -R 770 /media/daten/samba/sambashare
Server 2:
sudo chown -R someuser:someuser /home/samba/publicshare sudo chmod -R 770 /home/samba/publicshare
Die Rechte der übergeordneten Verzeichnisse können mit folgendem Befehl geprüft werden:
namei -l /home/samba/publicshare
Wichtig ist, dass die notwendigen Verzeichnisse betreten werden können. Dafür ist das x-Recht auf den Verzeichnissen erforderlich.
4. Samba-Benutzer einrichten
Ein Samba-Benutzer muss auch als Linux-Benutzer existieren.
Falls der Benutzer noch nicht existiert:
sudo adduser someuser
Samba-Passwort setzen:
sudo smbpasswd -a someuser
Samba-Benutzer aktivieren:
sudo smbpasswd -e someuser
Samba-Benutzer anzeigen:
sudo pdbedit -L
5. Samba-Freigabe konfigurieren
Die Samba-Konfiguration bearbeiten:
sudo nano /etc/samba/smb.conf
Am Ende der Datei wird die Freigabe eingetragen.
Beispiel für Server 1:
[sharing] path = /media/daten/samba/sambashare comment = Samba share directory browseable = yes read only = no guest ok = no valid users = someuser create mask = 0660 directory mask = 0770
Beispiel für Server 2:
[sharing] path = /home/samba/publicshare comment = Samba share directory browseable = yes read only = no guest ok = no valid users = someuser create mask = 0660 directory mask = 0770
Wichtig:
Der Freigabename ist der Name in den eckigen Klammern.
In diesem Beispiel lautet der Freigabename:
sharing
Der Zugriff erfolgt daher nicht über den Linux-Pfad, sondern über den Freigabenamen.
Richtig:
smbclient //SERVER-IP/sharing -U someuser -m SMB3
Falsch:
smbclient //SERVER-IP/home/samba/publicshare -U someuser
6. Konfiguration prüfen
Nach jeder Änderung an der Datei smb.conf sollte die Konfiguration geprüft werden:
testparm
Oder kurz zusammengefasst:
testparm -s
In der Ausgabe muss die Freigabe sharing sichtbar sein.
7. Samba neu starten
Nach erfolgreicher Prüfung Samba neu starten:
sudo systemctl restart smbd
Status prüfen:
systemctl status smbd
8. Lokalen Zugriff testen
Auf dem Samba-Server selbst:
smbclient -L //localhost -U someuser -m SMB3
Beispielausgabe:
Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers sharing Disk Samba share directory IPC$ IPC IPC Service SMB1 disabled -- no workgroup available
Die Meldung
SMB1 disabled -- no workgroup available
ist kein Fehler. Sie bedeutet nur, dass die alte SMB1-Arbeitsgruppen-Suche deaktiviert ist. SMB1 sollte aus Sicherheitsgründen nicht wieder aktiviert werden.
Direkt mit der Freigabe verbinden:
smbclient //localhost/sharing -U someuser -m SMB3
Wenn die Verbindung funktioniert, erscheint die Samba-Konsole.
Befehle innerhalb der Samba-Konsole:
ls put test.txt get test.txt exit
9. Zugriff von einem anderen Linux-Client
Zuerst die IP-Adresse des Samba-Servers ermitteln:
hostname -I
Vom Client aus die Freigaben anzeigen:
smbclient -L //SERVER-IP -U someuser -m SMB3
Direkt verbinden:
smbclient //SERVER-IP/sharing -U someuser -m SMB3
Beispiel:
smbclient //192.168.1.42/sharing -U someuser -m SMB3
10. Firewall freigeben
Falls UFW aktiv ist:
sudo ufw allow samba
Oder eingeschränkt auf das lokale Netz, zum Beispiel 192.168.1.0/24:
sudo ufw allow from 192.168.1.0/24 to any app Samba
Status prüfen:
sudo ufw status
11. Häufige Fehler
Fehler: SMB1 disabled -- no workgroup available
Diese Meldung ist normalerweise unkritisch.
Ursache:
Die alte Arbeitsgruppen-Suche über SMB1 ist deaktiviert.
Lösung:
Freigabe direkt über IP-Adresse oder Hostname aufrufen:
smbclient //SERVER-IP/sharing -U someuser -m SMB3
SMB1 sollte nicht aktiviert werden.
Fehler: NT_STATUS_BAD_NETWORK_NAME
Beispiel:
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
Ursache:
Der angegebene Freigabename existiert nicht.
Beispiel:
Wenn die Freigabe in smb.conf so heißt:
[sharing] path = /home/samba/publicshare
dann muss der Zugriff so erfolgen:
smbclient //SERVER-IP/sharing -U someuser -m SMB3
Nicht so:
smbclient //SERVER-IP/publicshare -U someuser -m SMB3
Der Freigabename ist immer der Name in den eckigen Klammern.
Fehler: NT_STATUS_NOT_FOUND
Ursache:
Meist wurde ein Platzhalter oder falscher Servername verwendet.
Falsch:
smbclient //SERVER-IP/sharing -U someuser -m SMB3
Richtig mit echter IP-Adresse:
smbclient //192.168.1.42/sharing -U someuser -m SMB3
Oder lokal auf dem Server:
smbclient //localhost/sharing -U someuser -m SMB3
12. Wichtige Prüfkommandos
Samba-Dienst prüfen:
systemctl status smbd
Samba-Konfiguration prüfen:
testparm
Aktive Freigaben anzeigen:
smbclient -L //localhost -U someuser -m SMB3
Samba-Benutzer anzeigen:
sudo pdbedit -L
Logdatei prüfen:
sudo tail -n 100 /var/log/samba/log.smbd
Systemd-Log prüfen:
sudo journalctl -u smbd -n 100 --no-pager
Verzeichnisrechte prüfen:
namei -l /home/samba/publicshare
13. Zusammenfassung
Für die Samba-Freigabe sind drei Punkte entscheidend:
- Das Linux-Verzeichnis muss existieren.
- Der Samba-Benutzer muss eingerichtet sein.
- Der Zugriff erfolgt über den Freigabenamen aus smb.conf, nicht über den Linux-Pfad.
Beispiel:
[sharing] path = /home/samba/publicshare
Zugriff:
smbclient //SERVER-IP/sharing -U someuser -m SMB3
Empfehlung für deine DokuWiki-Seite
Du kannst den Titel allgemeiner machen:
Hinweis zu Ubuntu 24.04
Die Einrichtung eines Samba-Servers funktioniert unter Ubuntu Server 24.04 grundsätzlich gleich wie unter Ubuntu Server 22.04.
Die wichtigsten Befehle bleiben gleich:
sudo apt update sudo apt install samba samba-common-bin smbclient cifs-utils sudo systemctl restart smbd testparm
Ubuntu 24.04 verwendet eine neuere Samba-Version als Ubuntu 22.04. Für einfache Freigaben mit Benutzeranmeldung ändert sich dadurch normalerweise nichts an der Konfiguration.
Die Meldung
SMB1 disabled -- no workgroup available
ist auch unter Ubuntu 24.04 kein Fehler. SMB1 sollte nicht aktiviert werden. Stattdessen wird die Freigabe direkt über IP-Adresse oder Hostname aufgerufen.
Beispiel:
smbclient //SERVER-IP/sharing -U someuser -m SMB3
Fazit
Deine bestehende Anleitung passt auch für Ubuntu Server 24.04. Ich würde nur den Titel auf Ubuntu 22.04 und 24.04 ändern und den Hinweis zur neueren Samba-Version ergänzen.