Der Austausch von Dateien zwischen einem Windows-PC und dem Raspberry Pi über USB-Sticks ist umständlich - ein Ordner auf dem Einplatinencomputer lässt sich stattdessen dank Samba auch ganz einfach über ein Netzlaufwerk in den Windows-Explorer einbinden!
Was ist Samba?
Samba ist die Standard-Sammlung für UNIX-Systeme, um Interopabilität zu Windows-Systemen herzustellen.
Samba ist unter der GNU General Public License lizenziert und Mitglied der Software Freedom Conservancy.
Seit 1992 hat Samba sichere, stabile und schnelle Datei- und Druckdienste für alle Clients, die das SMB/CIFS Protokoll nutzen, zum Beispiel alle Windows- und DOS-Versionen, OS/2, Linux und viele andere. Samba ist eine wichtige Komponente, um Linux/Unix-Server und Desktops in eine ActiveDirectory (AD)-Umgebung zu integrieren (Quelle).
Installation des Samba-Servers
Erster Schritt: Samba installieren
sudo apt-get update sudo apt-get install samba samba-common smbclient
Danach kann der Status der Dienste überprüft werden:
sudo service smbd status sudo service nmbd status
Die Samba-Grundkonfiguration ist in der zentralen Konfigurationsdatei "/etc/samba/smb.conf" gespeichert. Sie ist standardmäßig äußerst umfangreich und dadurch etwas unübersichtlich. Für eine simple Grundkonfiguration für unsere Bedürfnisse empfiehlt es sich, die ursprüngliche Datei zu sichern und unter neuem Namen neu zu erstellen:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf_alt sudo nano /etc/samba/smb.conf
Die folgende Grundkonfiguration ist nicht allgemeingültig, sondern für die meisten Zwecke als zweckmäßig anzusehen. Sie kann jederzeit auf aktuelle Bedürfnisse individuell angepasst werden:
[global] workgroup = WORKGROUP security = user encrypt passwords = yes
Durch den Test der Konfigurationsdatei durch folgenden Befehl wird ein fehlerhafter Zustand des Samba-Servers vermieden:
testparm
Nach jeder Änderung an der Konfigurationsdatei müssen die Samba-Dienste neu gestartet werden. Erst dann wird die Konfiguration übernommen.
sudo service smbd restart sudo service nmbd restart
Samba-Freigaben für Verzeichnisse einrichten
Um Freigaben für Verzeichnisse einzurichten wird zuerst ein Wurzelverzeichnis benötigt, das alle Unterverzeichnisse enthält, die später freigegeben werden sollen (einmalig zu erstellen):
sudo mkdir /home/shares
Dann folgt die Erstellung der Verzeichnisse, die explizit freigegeben werden sollen, samt Berechtigung:
sudo mkdir /home/shares/myShare sudo chown root:root /home/shares/myShare/ sudo chmod 777 /home/shares/myShare/
Dann öffnen wir die Samba-Konfigurationsdatei und tragen dort die neuen Freigaben ein:
sudo nano /etc/samba/smb.conf
Hier wird am Ende der Datei die neue Freigabe eingetragen und dem Samba-Server bekannt gemacht:
[Name_der_Freigabe] comment = Eine neue Samba-Freigabe path = /home/shares/myShare read only = no
Nach der Änderung der Konfigurationsdatei empfiehlt sich ein erneuter Test:
testparm
Wenn der Test erfolgreich war, sollten die Samba-Dienste wiederum neu gestartet werden:
sudo service smbd restart sudo service nmbd restart
Benutzer für den Samba-Zugriff einrichten
Für die Authentifizierung ist die Benutzerverwaltung auf dem Server vorgesehen. Allerdings benutzt Samba nur die eingerichteten Benutzernamen und die Datei- und Verzeichnisberechtigungen, übernimmt jedoch nicht die Passwörter. Für jeden Benutzer, der Samba-Freigaben benutzen können soll, muss ein separates Passwort für Samba eingerichtet werden. In diesem Beispiel wird der Standardnutzer pi mit entsprechenden Rechten ausgestattet:
sudo smbpasswd -a pi
Einrichten eines Netzlaufwerks (Windows)
Nun sind alle Vorkehrungen getroffen, um ausgehend vom Windows-System auf die Samba-Freigabe zuzugreifen. Wir verbinden ein neues Netzlaufwerk mit folgender Zieladresse:
\\IP-ADRESSE-DES-RASPBERRYPI\Name_der_Freigabe
Als Zugangsdaten sind der zuvor autorisierte Benutzer und sein Kennwort zu wählen.
Quelle: www.elektronik-kompendium.de