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:29] – angelegt franz | ubuntu:samba [2026/05/25 17:12] (aktuell) – [Empfehlung für deine DokuWiki-Seite] franz | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Samba Server unter Ubuntu 22.04 einrichten ====== | + | ====== Samba Server unter Ubuntu |
| Diese Anleitung beschreibt die Installation und Einrichtung eines Samba-Servers unter Ubuntu 22.04. | 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. | Samba ermöglicht die Freigabe von Verzeichnissen im Netzwerk, sodass Linux- und Windows-Clients darauf zugreifen können. | ||
| + | |||
| ===== 1. Samba installieren ===== | ===== 1. Samba installieren ===== | ||
| Zeile 9: | Zeile 10: | ||
| Auf dem Server: | Auf dem Server: | ||
| - | <code bash>\\ | + | <code bash> sudo apt update sudo apt install samba samba-common-bin smbclient cifs-utils |
| - | sudo apt update\\ | + | |
| - | sudo apt install samba samba-common-bin smbclient cifs-utils\\ | + | |
| </ | </ | ||
| Dienst prüfen: | Dienst prüfen: | ||
| - | <code bash>\\ | + | <code bash> systemctl status smbd |
| - | systemctl status smbd\\ | + | |
| </ | </ | ||
| Falls der Dienst nicht aktiv ist: | Falls der Dienst nicht aktiv ist: | ||
| - | <code bash>\\ | + | <code bash> sudo systemctl enable smbd sudo systemctl start smbd |
| - | sudo systemctl enable smbd\\ | + | |
| - | sudo systemctl start smbd\\ | + | |
| </ | </ | ||
| Zeile 34: | Zeile 27: | ||
| Beispiel Server 1: | Beispiel Server 1: | ||
| - | <code bash>\\ | + | <code bash> sudo mkdir -p / |
| - | sudo mkdir -p / | + | |
| </ | </ | ||
| Beispiel Server 2: | Beispiel Server 2: | ||
| - | <code bash>\\ | + | <code bash> sudo mkdir -p / |
| - | sudo mkdir -p / | + | |
| </ | </ | ||
| Zeile 52: | Zeile 41: | ||
| Server 1: | Server 1: | ||
| - | <code bash>\\ | + | <code bash> sudo chown -R someuser: |
| - | sudo chown -R someuser: | + | |
| - | sudo chmod -R 770 / | + | |
| </ | </ | ||
| Server 2: | Server 2: | ||
| - | <code bash>\\ | + | <code bash> sudo chown -R someuser: |
| - | sudo chown -R someuser: | + | |
| - | sudo chmod -R 770 / | + | |
| </ | </ | ||
| Die Rechte der übergeordneten Verzeichnisse können mit folgendem Befehl geprüft werden: | Die Rechte der übergeordneten Verzeichnisse können mit folgendem Befehl geprüft werden: | ||
| - | <code bash>\\ | + | <code bash> namei -l / |
| - | namei -l / | + | |
| </ | </ | ||
| Zeile 81: | Zeile 62: | ||
| Falls der Benutzer noch nicht existiert: | Falls der Benutzer noch nicht existiert: | ||
| - | <code bash>\\ | + | <code bash> sudo adduser someuser |
| - | sudo adduser someuser\\ | + | |
| </ | </ | ||
| Samba-Passwort setzen: | Samba-Passwort setzen: | ||
| - | <code bash>\\ | + | <code bash> sudo smbpasswd -a someuser |
| - | sudo smbpasswd -a someuser\\ | + | |
| </ | </ | ||
| Samba-Benutzer aktivieren: | Samba-Benutzer aktivieren: | ||
| - | <code bash>\\ | + | <code bash> sudo smbpasswd -e someuser |
| - | sudo smbpasswd -e someuser\\ | + | |
| </ | </ | ||
| Samba-Benutzer anzeigen: | Samba-Benutzer anzeigen: | ||
| - | <code bash>\\ | + | <code bash> sudo pdbedit -L |
| - | sudo pdbedit -L\\ | + | |
| </ | </ | ||
| Zeile 111: | Zeile 84: | ||
| Die Samba-Konfiguration bearbeiten: | Die Samba-Konfiguration bearbeiten: | ||
| - | <code bash>\\ | + | <code bash> sudo nano / |
| - | sudo nano / | + | |
| </ | </ | ||
| Zeile 120: | Zeile 91: | ||
| Beispiel für Server 1: | Beispiel für Server 1: | ||
| - | <code ini>\\ | + | <code ini> [sharing] path = / |
| - | [sharing]\\ | + | |
| - | path = / | + | |
| - | 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: | Beispiel für Server 2: | ||
| - | <code ini>\\ | + | <code ini> [sharing] path = / |
| - | [sharing]\\ | + | |
| - | path = / | + | |
| - | comment = Samba share directory\\ | + | |
| - | browseable = yes\\ | + | |
| - | read only = no\\ | + | |
| - | guest ok = no\\ | + | |
| - | valid users = someuser\\ | + | |
| - | create mask = 0660\\ | + | |
| - | directory mask = 0770\\ | + | |
| </ | </ | ||
| Zeile 154: | Zeile 105: | ||
| In diesem Beispiel lautet der Freigabename: | In diesem Beispiel lautet der Freigabename: | ||
| - | < | + | < |
| - | sharing\\ | + | |
| </ | </ | ||
| Zeile 163: | Zeile 112: | ||
| Richtig: | Richtig: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Falsch: | Falsch: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Zeile 179: | Zeile 124: | ||
| Nach jeder Änderung an der Datei smb.conf sollte die Konfiguration geprüft werden: | Nach jeder Änderung an der Datei smb.conf sollte die Konfiguration geprüft werden: | ||
| - | <code bash>\\ | + | <code bash> testparm |
| - | testparm\\ | + | |
| </ | </ | ||
| Oder kurz zusammengefasst: | Oder kurz zusammengefasst: | ||
| - | <code bash>\\ | + | <code bash> testparm -s |
| - | testparm -s\\ | + | |
| </ | </ | ||
| Zeile 197: | Zeile 138: | ||
| Nach erfolgreicher Prüfung Samba neu starten: | Nach erfolgreicher Prüfung Samba neu starten: | ||
| - | <code bash>\\ | + | <code bash> sudo systemctl restart smbd |
| - | sudo systemctl restart smbd\\ | + | |
| </ | </ | ||
| Status prüfen: | Status prüfen: | ||
| - | <code bash>\\ | + | <code bash> systemctl status smbd |
| - | systemctl status smbd\\ | + | |
| </ | </ | ||
| Zeile 213: | Zeile 150: | ||
| Auf dem Samba-Server selbst: | Auf dem Samba-Server selbst: | ||
| - | <code bash>\\ | + | <code bash> smbclient -L //localhost -U someuser -m SMB3 |
| - | smbclient -L //localhost -U someuser -m SMB3\\ | + | |
| </ | </ | ||
| Beispielausgabe: | Beispielausgabe: | ||
| - | < | + | < |
| - | Sharename | + | |
| - | --------- | + | |
| - | print$ | + | |
| - | sharing | + | |
| - | IPC$ IPC | + | |
| - | SMB1 disabled -- no workgroup available\\ | + | |
| </ | </ | ||
| Die Meldung | Die Meldung | ||
| - | < | + | < |
| - | SMB1 disabled -- no workgroup available\\ | + | |
| </ | </ | ||
| Zeile 241: | Zeile 167: | ||
| Direkt mit der Freigabe verbinden: | Direkt mit der Freigabe verbinden: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Zeile 250: | Zeile 174: | ||
| Befehle innerhalb der Samba-Konsole: | Befehle innerhalb der Samba-Konsole: | ||
| - | < | + | < |
| - | ls\\ | + | |
| - | put test.txt\\ | + | |
| - | get test.txt\\ | + | |
| - | exit\\ | + | |
| </ | </ | ||
| Zeile 262: | Zeile 181: | ||
| Zuerst die IP-Adresse des Samba-Servers ermitteln: | Zuerst die IP-Adresse des Samba-Servers ermitteln: | ||
| - | <code bash>\\ | + | <code bash> hostname -I |
| - | hostname -I\\ | + | |
| </ | </ | ||
| Vom Client aus die Freigaben anzeigen: | Vom Client aus die Freigaben anzeigen: | ||
| - | <code bash>\\ | + | <code bash> smbclient -L //SERVER-IP -U someuser -m SMB3 |
| - | smbclient -L //SERVER-IP -U someuser -m SMB3\\ | + | |
| </ | </ | ||
| Direkt verbinden: | Direkt verbinden: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Beispiel: | Beispiel: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Zeile 292: | Zeile 203: | ||
| Falls UFW aktiv ist: | Falls UFW aktiv ist: | ||
| - | <code bash>\\ | + | <code bash> sudo ufw allow samba |
| - | sudo ufw allow samba\\ | + | |
| </ | </ | ||
| Oder eingeschränkt auf das lokale Netz, zum Beispiel 192.168.1.0/ | Oder eingeschränkt auf das lokale Netz, zum Beispiel 192.168.1.0/ | ||
| - | <code bash>\\ | + | <code bash> sudo ufw allow from 192.168.1.0/ |
| - | sudo ufw allow from 192.168.1.0/ | + | |
| </ | </ | ||
| Status prüfen: | Status prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo ufw status |
| - | sudo ufw status\\ | + | |
| </ | </ | ||
| Zeile 325: | Zeile 230: | ||
| Freigabe direkt über IP-Adresse oder Hostname aufrufen: | Freigabe direkt über IP-Adresse oder Hostname aufrufen: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Zeile 336: | Zeile 239: | ||
| Beispiel: | Beispiel: | ||
| - | < | + | < |
| - | tree connect failed: NT_STATUS_BAD_NETWORK_NAME\\ | + | |
| </ | </ | ||
| Zeile 349: | Zeile 250: | ||
| Wenn die Freigabe in smb.conf so heißt: | Wenn die Freigabe in smb.conf so heißt: | ||
| - | <code ini>\\ | + | <code ini> [sharing] path = / |
| - | [sharing]\\ | + | |
| - | path = / | + | |
| </ | </ | ||
| dann muss der Zugriff so erfolgen: | dann muss der Zugriff so erfolgen: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Nicht so: | Nicht so: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Zeile 379: | Zeile 273: | ||
| Falsch: | Falsch: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Richtig mit echter IP-Adresse: | Richtig mit echter IP-Adresse: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Oder lokal auf dem Server: | Oder lokal auf dem Server: | ||
| - | <code bash>\\ | + | <code bash> smbclient // |
| - | smbclient // | + | |
| </ | </ | ||
| Zeile 402: | Zeile 290: | ||
| Samba-Dienst prüfen: | Samba-Dienst prüfen: | ||
| - | <code bash>\\ | + | <code bash> systemctl status smbd |
| - | systemctl status smbd\\ | + | |
| </ | </ | ||
| Samba-Konfiguration prüfen: | Samba-Konfiguration prüfen: | ||
| - | <code bash>\\ | + | <code bash> testparm |
| - | testparm\\ | + | |
| </ | </ | ||
| Aktive Freigaben anzeigen: | Aktive Freigaben anzeigen: | ||
| - | <code bash>\\ | + | <code bash> smbclient -L //localhost -U someuser -m SMB3 |
| - | smbclient -L //localhost -U someuser -m SMB3\\ | + | |
| </ | </ | ||
| Samba-Benutzer anzeigen: | Samba-Benutzer anzeigen: | ||
| - | <code bash>\\ | + | <code bash> sudo pdbedit -L |
| - | sudo pdbedit -L\\ | + | |
| </ | </ | ||
| Logdatei prüfen: | Logdatei prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo tail -n 100 / |
| - | sudo tail -n 100 / | + | |
| </ | </ | ||
| Systemd-Log prüfen: | Systemd-Log prüfen: | ||
| - | <code bash>\\ | + | <code bash> sudo journalctl -u smbd -n 100 --no-pager |
| - | sudo journalctl -u smbd -n 100 --no-pager\\ | + | |
| </ | </ | ||
| Verzeichnisrechte prüfen: | Verzeichnisrechte prüfen: | ||
| - | <code bash>\\ | + | <code bash> namei -l / |
| - | namei -l / | + | |
| </ | </ | ||
| Zeile 453: | Zeile 327: | ||
| Für die Samba-Freigabe sind drei Punkte entscheidend: | Für die Samba-Freigabe sind drei Punkte entscheidend: | ||
| - | * Das Linux-Verzeichnis muss existieren.\\ | + | |
| - | * Der Samba-Benutzer muss eingerichtet sein.\\ | + | * Der Samba-Benutzer muss eingerichtet sein. |
| - | * Der Zugriff erfolgt über den Freigabenamen aus smb.conf, nicht über den Linux-Pfad. | + | * Der Zugriff erfolgt über den Freigabenamen aus smb.conf, nicht über den Linux-Pfad. |
| Beispiel: | Beispiel: | ||
| - | <code ini>\\ | + | <code ini> |
| - | [sharing]\\ | + | |
| - | path = / | + | |
| </ | </ | ||
| Zeile 467: | Zeile 341: | ||
| Zugriff: | Zugriff: | ||
| - | <code bash>\\ | + | <code bash> |
| - | smbclient // | + | |
| </ | </ | ||
| + | |||
| + | ===== 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.1779719396.txt.gz · Zuletzt geändert: von franz