Benutzer-Werkzeuge

Webseiten-Werkzeuge


ubuntu:samba

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ubuntu:samba [2026/05/25 16:29] – gelöscht franzubuntu:samba [2026/05/25 17:12] (aktuell) – [Empfehlung für deine DokuWiki-Seite] franz
Zeile 1: Zeile 1:
 +====== 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:
 +
 +<code bash> sudo apt update sudo apt install samba samba-common-bin smbclient cifs-utils 
 +</code>
 +
 +Dienst prüfen:
 +
 +<code bash> systemctl status smbd 
 +</code>
 +
 +Falls der Dienst nicht aktiv ist:
 +
 +<code bash> sudo systemctl enable smbd sudo systemctl start smbd 
 +</code>
 +
 +===== 2. Freigabe-Verzeichnis erstellen =====
 +
 +Beispiel Server 1:
 +
 +<code bash> sudo mkdir -p /media/daten/samba/sambashare 
 +</code>
 +
 +Beispiel Server 2:
 +
 +<code bash> sudo mkdir -p /home/samba/publicshare 
 +</code>
 +
 +===== 3. Rechte setzen =====
 +
 +Beispiel mit dem Benutzer someuser.
 +
 +Server 1:
 +
 +<code bash> sudo chown -R someuser:someuser /media/daten/samba/sambashare sudo chmod -R 770 /media/daten/samba/sambashare 
 +</code>
 +
 +Server 2:
 +
 +<code bash> sudo chown -R someuser:someuser /home/samba/publicshare sudo chmod -R 770 /home/samba/publicshare 
 +</code>
 +
 +Die Rechte der übergeordneten Verzeichnisse können mit folgendem Befehl geprüft werden:
 +
 +<code bash> namei -l /home/samba/publicshare 
 +</code>
 +
 +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:
 +
 +<code bash> sudo adduser someuser 
 +</code>
 +
 +Samba-Passwort setzen:
 +
 +<code bash> sudo smbpasswd -a someuser 
 +</code>
 +
 +Samba-Benutzer aktivieren:
 +
 +<code bash> sudo smbpasswd -e someuser 
 +</code>
 +
 +Samba-Benutzer anzeigen:
 +
 +<code bash> sudo pdbedit -L 
 +</code>
 +
 +===== 5. Samba-Freigabe konfigurieren =====
 +
 +Die Samba-Konfiguration bearbeiten:
 +
 +<code bash> sudo nano /etc/samba/smb.conf 
 +</code>
 +
 +Am Ende der Datei wird die Freigabe eingetragen.
 +
 +Beispiel für Server 1:
 +
 +<code ini> [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 
 +</code>
 +
 +Beispiel für Server 2:
 +
 +<code ini> [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 
 +</code>
 +
 +Wichtig:
 +
 +Der Freigabename ist der Name in den eckigen Klammern.
 +
 +In diesem Beispiel lautet der Freigabename:
 +
 +<code> sharing 
 +</code>
 +
 +Der Zugriff erfolgt daher nicht über den Linux-Pfad, sondern über den Freigabenamen.
 +
 +Richtig:
 +
 +<code bash> smbclient //SERVER-IP/sharing -U someuser -m SMB3 
 +</code>
 +
 +Falsch:
 +
 +<code bash> smbclient //SERVER-IP/home/samba/publicshare -U someuser 
 +</code>
 +
 +===== 6. Konfiguration prüfen =====
 +
 +Nach jeder Änderung an der Datei smb.conf sollte die Konfiguration geprüft werden:
 +
 +<code bash> testparm 
 +</code>
 +
 +Oder kurz zusammengefasst:
 +
 +<code bash> testparm -s 
 +</code>
 +
 +In der Ausgabe muss die Freigabe sharing sichtbar sein.
 +
 +===== 7. Samba neu starten =====
 +
 +Nach erfolgreicher Prüfung Samba neu starten:
 +
 +<code bash> sudo systemctl restart smbd 
 +</code>
 +
 +Status prüfen:
 +
 +<code bash> systemctl status smbd 
 +</code>
 +
 +===== 8. Lokalen Zugriff testen =====
 +
 +Auf dem Samba-Server selbst:
 +
 +<code bash> smbclient -L //localhost -U someuser -m SMB3 
 +</code>
 +
 +Beispielausgabe:
 +
 +<code> Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers sharing Disk Samba share directory IPC$ IPC IPC Service SMB1 disabled -- no workgroup available 
 +</code>
 +
 +Die Meldung
 +
 +<code> SMB1 disabled -- no workgroup available 
 +</code>
 +
 +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:
 +
 +<code bash> smbclient //localhost/sharing -U someuser -m SMB3 
 +</code>
 +
 +Wenn die Verbindung funktioniert, erscheint die Samba-Konsole.
 +
 +Befehle innerhalb der Samba-Konsole:
 +
 +<code> ls put test.txt get test.txt exit 
 +</code>
 +
 +===== 9. Zugriff von einem anderen Linux-Client =====
 +
 +Zuerst die IP-Adresse des Samba-Servers ermitteln:
 +
 +<code bash> hostname -I 
 +</code>
 +
 +Vom Client aus die Freigaben anzeigen:
 +
 +<code bash> smbclient -L //SERVER-IP -U someuser -m SMB3 
 +</code>
 +
 +Direkt verbinden:
 +
 +<code bash> smbclient //SERVER-IP/sharing -U someuser -m SMB3 
 +</code>
 +
 +Beispiel:
 +
 +<code bash> smbclient //192.168.1.42/sharing -U someuser -m SMB3 
 +</code>
 +
 +===== 10. Firewall freigeben =====
 +
 +Falls UFW aktiv ist:
 +
 +<code bash> sudo ufw allow samba 
 +</code>
 +
 +Oder eingeschränkt auf das lokale Netz, zum Beispiel 192.168.1.0/24:
 +
 +<code bash> sudo ufw allow from 192.168.1.0/24 to any app Samba 
 +</code>
 +
 +Status prüfen:
 +
 +<code bash> sudo ufw status 
 +</code>
 +
 +===== 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:
 +
 +<code bash> smbclient //SERVER-IP/sharing -U someuser -m SMB3 
 +</code>
 +
 +SMB1 sollte nicht aktiviert werden.
 +
 +==== Fehler: NT_STATUS_BAD_NETWORK_NAME ====
 +
 +Beispiel:
 +
 +<code> tree connect failed: NT_STATUS_BAD_NETWORK_NAME 
 +</code>
 +
 +Ursache:
 +
 +Der angegebene Freigabename existiert nicht.
 +
 +Beispiel:
 +
 +Wenn die Freigabe in smb.conf so heißt:
 +
 +<code ini> [sharing] path = /home/samba/publicshare 
 +</code>
 +
 +dann muss der Zugriff so erfolgen:
 +
 +<code bash> smbclient //SERVER-IP/sharing -U someuser -m SMB3 
 +</code>
 +
 +Nicht so:
 +
 +<code bash> smbclient //SERVER-IP/publicshare -U someuser -m SMB3 
 +</code>
 +
 +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:
 +
 +<code bash> smbclient //SERVER-IP/sharing -U someuser -m SMB3 
 +</code>
 +
 +Richtig mit echter IP-Adresse:
 +
 +<code bash> smbclient //192.168.1.42/sharing -U someuser -m SMB3 
 +</code>
 +
 +Oder lokal auf dem Server:
 +
 +<code bash> smbclient //localhost/sharing -U someuser -m SMB3 
 +</code>
 +
 +===== 12. Wichtige Prüfkommandos =====
 +
 +Samba-Dienst prüfen:
 +
 +<code bash> systemctl status smbd 
 +</code>
 +
 +Samba-Konfiguration prüfen:
 +
 +<code bash> testparm 
 +</code>
 +
 +Aktive Freigaben anzeigen:
 +
 +<code bash> smbclient -L //localhost -U someuser -m SMB3 
 +</code>
 +
 +Samba-Benutzer anzeigen:
 +
 +<code bash> sudo pdbedit -L 
 +</code>
 +
 +Logdatei prüfen:
 +
 +<code bash> sudo tail -n 100 /var/log/samba/log.smbd 
 +</code>
 +
 +Systemd-Log prüfen:
 +
 +<code bash> sudo journalctl -u smbd -n 100 --no-pager 
 +</code>
 +
 +Verzeichnisrechte prüfen:
 +
 +<code bash> namei -l /home/samba/publicshare 
 +</code>
 +
 +===== 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:
 +
 +<code ini>
 + [sharing] path = /home/samba/publicshare
 +
 +
 +</code>
 +
 +Zugriff:
 +
 +<code bash>
 + smbclient //SERVER-IP/sharing -U someuser -m SMB3
 +
 +
 +</code>
 +
 +===== 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:
 +
 +<code bash> sudo apt update sudo apt install samba samba-common-bin smbclient cifs-utils sudo systemctl restart smbd testparm 
 +</code>
 +
 +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
 +
 +<code> SMB1 disabled -- no workgroup available 
 +</code>
 +
 +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:
 +
 +<code bash> smbclient //SERVER-IP/sharing -U someuser -m SMB3 
 +</code>
 +
 +===== 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.
 +
  
ubuntu/samba.1779719375.txt.gz · Zuletzt geändert: von franz

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki