Good to Know Database

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?

Von 4 Min. Lesezeit

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.

Quellen