====== 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 ===== 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.