Servergilt für Debian 12 und 13, Pi OS
Wie richte ich eine Samba-Freigabe für Windows ein?
Ein Ordner auf dem Raspberry Pi oder dem Linux-Server soll im Windows-Explorer als Netzlaufwerk erscheinen, geschützt mit Benutzername und Passwort. Was muss in die Samba-Konfiguration, und wie meldet sich Windows an?
Lösung
Kurz: Samba installieren, in der /etc/samba/smb.conf einen Abschnitt für die Freigabe anlegen und den Linux-Benutzer mit smbpasswd -a als Samba-Benutzer eintragen. Unter Windows ist die Freigabe dann unter \\hostname\freigabe erreichbar.
Installieren und Ordner anlegen
sudo apt install samba
sudo mkdir -p /srv/daten
sudo chown daniel:daniel /srv/daten
Freigabe eintragen
Am Ende der /etc/samba/smb.conf einen Abschnitt ergänzen. Der Name in eckigen Klammern ist der
Name der Freigabe:
[daten]
path = /srv/daten
read only = no
valid users = daniel
Die Datei auf Tippfehler prüfen und Samba neu laden:
testparm
sudo systemctl restart smbd
Samba-Benutzer anlegen
Samba verwaltet eigene Passwörter. Der Benutzer muss als Linux-Benutzer existieren und bekommt zusätzlich ein Samba-Passwort:
sudo smbpasswd -a daniel
Aus Windows verbinden
Im Explorer \\raspberrypi\daten in die Adresszeile tippen und mit dem Samba-Benutzer anmelden.
Als festes Laufwerk geht es mit net use Z: \\raspberrypi\daten /persistent:yes, mehr dazu im
Thread zu net use.
Nachträge
Windows meldet „Zugriff verweigert“, obwohl das Passwort stimmt
Meist fehlen die Linux-Rechte am Ordner. Samba darf nur, was der Linux-Benutzer darf. Mit
ls -ld /srv/daten prüfen, wem der Ordner gehört, und bei Bedarf mit chown
anpassen. Ist unter Windows noch eine alte Verbindung mit anderem Benutzer offen, hilft
net use * /delete.
Wie bekomme ich einen Papierkorb für die Freigabe?
Mit dem Modul recycle. Im Abschnitt der Freigabe ergänzen:
vfs objects = recycle
recycle:repository = .papierkorb
recycle:keeptree = yes
recycle:versions = yes
Gelöschte Dateien landen dann im Ordner .papierkorb in der Freigabe, statt sofort zu
verschwinden. Leeren muss man ihn selbst.
Wie finde ich heraus, warum eine Verbindung scheitert?
Mit einem höheren Protokollumfang. Im Abschnitt [global] log level = 3 setzen,
Samba neu starten und in /var/log/samba/ nachsehen. Danach den Wert wieder senken, sonst
wachsen die Logs schnell.
Taucht der Pi in der Windows-Netzwerkumgebung auf?
Nicht von selbst. Die alte Netzwerkumgebung von Windows lief über SMB1, heute sucht Windows per
WS-Discovery nach Geräten. Das beantwortet das Paket wsdd2
(sudo apt install wsdd2), das es in Debian 12 und 13 gibt. Das ältere wsdd fehlt
in Debian 13. Auf dem Windows-PC muss die Netzwerkerkennung eingeschaltet sein, und es klappt nur im selben
Netz. Für den Zugriff selbst ist das alles nicht nötig, der direkte Pfad \\raspberrypi\daten
funktioniert auch ohne.