ubuntu:samba
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ubuntu:samba [2026/05/25 16:30] – gelöscht franz | ubuntu: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 | ||
| + | </ | ||
| + | |||
| + | Dienst prüfen: | ||
| + | |||
| + | <code bash> systemctl status smbd | ||
| + | </ | ||
| + | |||
| + | Falls der Dienst nicht aktiv ist: | ||
| + | |||
| + | <code bash> sudo systemctl enable smbd sudo systemctl start smbd | ||
| + | </ | ||
| + | |||
| + | ===== 2. Freigabe-Verzeichnis erstellen ===== | ||
| + | |||
| + | Beispiel Server 1: | ||
| + | |||
| + | <code bash> sudo mkdir -p / | ||
| + | </ | ||
| + | |||
| + | Beispiel Server 2: | ||
| + | |||
| + | <code bash> sudo mkdir -p / | ||
| + | </ | ||
| + | |||
| + | ===== 3. Rechte setzen ===== | ||
| + | |||
| + | Beispiel mit dem Benutzer someuser. | ||
| + | |||
| + | Server 1: | ||
| + | |||
| + | <code bash> sudo chown -R someuser: | ||
| + | </ | ||
| + | |||
| + | Server 2: | ||
| + | |||
| + | <code bash> sudo chown -R someuser: | ||
| + | </ | ||
| + | |||
| + | Die Rechte der übergeordneten Verzeichnisse können mit folgendem Befehl geprüft werden: | ||
| + | |||
| + | <code bash> namei -l / | ||
| + | </ | ||
| + | |||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | Samba-Passwort setzen: | ||
| + | |||
| + | <code bash> sudo smbpasswd -a someuser | ||
| + | </ | ||
| + | |||
| + | Samba-Benutzer aktivieren: | ||
| + | |||
| + | <code bash> sudo smbpasswd -e someuser | ||
| + | </ | ||
| + | |||
| + | Samba-Benutzer anzeigen: | ||
| + | |||
| + | <code bash> sudo pdbedit -L | ||
| + | </ | ||
| + | |||
| + | ===== 5. Samba-Freigabe konfigurieren ===== | ||
| + | |||
| + | Die Samba-Konfiguration bearbeiten: | ||
| + | |||
| + | <code bash> sudo nano / | ||
| + | </ | ||
| + | |||
| + | Am Ende der Datei wird die Freigabe eingetragen. | ||
| + | |||
| + | Beispiel für Server 1: | ||
| + | |||
| + | <code ini> [sharing] path = / | ||
| + | </ | ||
| + | |||
| + | Beispiel für Server 2: | ||
| + | |||
| + | <code ini> [sharing] path = / | ||
| + | </ | ||
| + | |||
| + | Wichtig: | ||
| + | |||
| + | Der Freigabename ist der Name in den eckigen Klammern. | ||
| + | |||
| + | In diesem Beispiel lautet der Freigabename: | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | Der Zugriff erfolgt daher nicht über den Linux-Pfad, sondern über den Freigabenamen. | ||
| + | |||
| + | Richtig: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | Falsch: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | ===== 6. Konfiguration prüfen ===== | ||
| + | |||
| + | Nach jeder Änderung an der Datei smb.conf sollte die Konfiguration geprüft werden: | ||
| + | |||
| + | <code bash> testparm | ||
| + | </ | ||
| + | |||
| + | Oder kurz zusammengefasst: | ||
| + | |||
| + | <code bash> testparm -s | ||
| + | </ | ||
| + | |||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | Status prüfen: | ||
| + | |||
| + | <code bash> systemctl status smbd | ||
| + | </ | ||
| + | |||
| + | ===== 8. Lokalen Zugriff testen ===== | ||
| + | |||
| + | Auf dem Samba-Server selbst: | ||
| + | |||
| + | <code bash> smbclient -L //localhost -U someuser -m SMB3 | ||
| + | </ | ||
| + | |||
| + | Beispielausgabe: | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | Die Meldung | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | 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 // | ||
| + | </ | ||
| + | |||
| + | Wenn die Verbindung funktioniert, | ||
| + | |||
| + | Befehle innerhalb der Samba-Konsole: | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | ===== 9. Zugriff von einem anderen Linux-Client ===== | ||
| + | |||
| + | Zuerst die IP-Adresse des Samba-Servers ermitteln: | ||
| + | |||
| + | <code bash> hostname -I | ||
| + | </ | ||
| + | |||
| + | Vom Client aus die Freigaben anzeigen: | ||
| + | |||
| + | <code bash> smbclient -L //SERVER-IP -U someuser -m SMB3 | ||
| + | </ | ||
| + | |||
| + | Direkt verbinden: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | Beispiel: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | ===== 10. Firewall freigeben ===== | ||
| + | |||
| + | Falls UFW aktiv ist: | ||
| + | |||
| + | <code bash> sudo ufw allow samba | ||
| + | </ | ||
| + | |||
| + | Oder eingeschränkt auf das lokale Netz, zum Beispiel 192.168.1.0/ | ||
| + | |||
| + | <code bash> sudo ufw allow from 192.168.1.0/ | ||
| + | </ | ||
| + | |||
| + | Status prüfen: | ||
| + | |||
| + | <code bash> 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: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | SMB1 sollte nicht aktiviert werden. | ||
| + | |||
| + | ==== Fehler: NT_STATUS_BAD_NETWORK_NAME ==== | ||
| + | |||
| + | Beispiel: | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | Ursache: | ||
| + | |||
| + | Der angegebene Freigabename existiert nicht. | ||
| + | |||
| + | Beispiel: | ||
| + | |||
| + | Wenn die Freigabe in smb.conf so heißt: | ||
| + | |||
| + | <code ini> [sharing] path = / | ||
| + | </ | ||
| + | |||
| + | dann muss der Zugriff so erfolgen: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | Nicht so: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | 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 // | ||
| + | </ | ||
| + | |||
| + | Richtig mit echter IP-Adresse: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | Oder lokal auf dem Server: | ||
| + | |||
| + | <code bash> smbclient // | ||
| + | </ | ||
| + | |||
| + | ===== 12. Wichtige Prüfkommandos ===== | ||
| + | |||
| + | Samba-Dienst prüfen: | ||
| + | |||
| + | <code bash> systemctl status smbd | ||
| + | </ | ||
| + | |||
| + | Samba-Konfiguration prüfen: | ||
| + | |||
| + | <code bash> testparm | ||
| + | </ | ||
| + | |||
| + | Aktive Freigaben anzeigen: | ||
| + | |||
| + | <code bash> smbclient -L //localhost -U someuser -m SMB3 | ||
| + | </ | ||
| + | |||
| + | Samba-Benutzer anzeigen: | ||
| + | |||
| + | <code bash> sudo pdbedit -L | ||
| + | </ | ||
| + | |||
| + | Logdatei prüfen: | ||
| + | |||
| + | <code bash> sudo tail -n 100 / | ||
| + | </ | ||
| + | |||
| + | Systemd-Log prüfen: | ||
| + | |||
| + | <code bash> sudo journalctl -u smbd -n 100 --no-pager | ||
| + | </ | ||
| + | |||
| + | Verzeichnisrechte prüfen: | ||
| + | |||
| + | <code bash> namei -l / | ||
| + | </ | ||
| + | |||
| + | ===== 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> | ||
| + | | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | Zugriff: | ||
| + | |||
| + | <code bash> | ||
| + | | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | ===== 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 | ||
| + | </ | ||
| + | |||
| + | 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 | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | 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 // | ||
| + | </ | ||
| + | |||
| + | ===== 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** | ||
| + | |||
ubuntu/samba.1779719407.txt.gz · Zuletzt geändert: von franz