Auf nach Rio
Zu guter Letzt benötigen Sie für den Zugriff via LAN den Samba-Server, den Sie mit dem Kommando sudo apt install samba installieren. Nach dem Einspielen des Pakets gilt es, zusätzlich einige Einträge in der Konfigurationsdatei /etc/samba/smb.conf vorzunehmen (Abbildung 3). Die globalen Einstellungen am Anfang der Datei regeln unter anderem, wer auf den Dateiserver zugreifen darf und wie dieser nach außen hin in Erscheinung tritt.

Abbildung 3: Die Konfiguration des Samba-Servers erfolgt komplett über die Datei »/etc/samba/smb.conf«. Dort tragen Sie auch eigene Freigaben ein.
Das Beispiel in Listing 3 setzt auf User-Level-Sicherheit (security = user). Das bewirkt, dass der Benutzer sich mit einer Kombination aus Benutzername und Passwort am Server anmelden muss. Außerdem erfolgt die Authentifikation der Anwender mit verschlüsselten Passwörtern. Die User-Level-Sicherheit kümmert sich allerdings nicht darum, auf welche Freigabe der Anwender zugreifen darf.
Listing 3
[global] (...) security = user encrypt passwords = true map to guest = bad user guest account = nobody
Gibt der Benutzer beim Anmelden ein ungültiges Konto an (bad user), dann ordnet Samba ihm das Konto nobody zu (guest account = nobody). Die Benutzer können sich somit anonym einloggen. Zu guter Letzt muss der Samba-Server wissen, wie er den Zugriff auf die weiter oben erstellte Partition regeln soll. Dazu definieren Sie am Ende der Samba-Konfigurationsdatei eine Freigabe. Deren Namen stellen Sie in eckige Klammern und geben unterhalb davon die zugehörigen Optionen an (Listing 4).
Listing 4
[Freigabename] path = home/pi/usb-disk Browseable = yes Writeable = yes read only = no only guest = no create mask = 0777 directory mask = 0777 Public = yes Guest ok = yes comment = sharing #valid users = nobody
Die Variable path zeigt auf das freizugebende Verzeichnis, in diesem Fall also auf den Einhängepunkt der Partition der externen Festplatte. Des Weiteren legen Sie fest, ob der Anwender das Verzeichnis nur betrachten oder auch darin schreiben darf. Es folgt die Angabe, ob Gäste auf die Partition zugreifen dürfen. Dadurch müssen Sie nicht zwingend Benutzerkonten auf dem Dateiserver anlegen.
Es besteht auch die Möglichkeit, nur bestimmten Anwendern Zugriff zu erlauben (valid users). Das System erfordert allerdings, dass ein reguläres Benutzerkonto für den Benutzer auf dem Server existiert (siehe Kasten “Benutzerkonto”). Falls Sie Gästen beziehungsweise anonymen Benutzern misstrauen, verwehren Sie diesen den Zugang, indem Sie die Option Guest ok = yes auskommentieren oder auf no setzen. Nach Abschluss der Konfiguration starten Sie den Samba-Dienst mit dem Kommando sudo systemctl restart smbd neu, damit die Änderungen greifen.
Benutzerkonto
Samba greift für die Authentifikation auf eine eigene Benutzerdatenbank zurück. Die Samba-User müssen allerdings schon auf dem System als normale Benutzer vorhanden sein. Neue Benutzer legen Sie mittels smbpasswd an (Listing 5, erste Zeile), wobei das Programm anschließend nach einem Passwort fragt. Über verschiedene Schalter von Smbpasswd löschen (-x), deaktivieren (-d) oder reaktivieren (-e) Sie einen Samba-Account. Möchten Sie eine Freigabe für Dritte erstellen, jedoch verhindern, dass der Account beim Anmelden in der Benutzerliste erscheint oder ein Home-Verzeichnis angelegt wird, regeln Sie das beim Anlegen des Benutzers (Listing 5, zweite Zeile).
Listing 5
$ sudo smbpasswd -a Benutzer $ sudo adduser --no-create-home --disabled-login --shell /bin/false Benutzer
Den Dateiserver orten
Die Dateimanager der gebräuchlichen Betriebssysteme unterstützen von Haus aus das Einbinden von Dateifreigaben. In der Regel spürt das System die im Netzwerk aktiven Samba-Server automatisch auf. Auf einem Linux-System mit einer der gängigen Desktop-Umgebungen wie Gnome finden Sie die Freigaben im Dateimanager unter Andere Orte (Abbildung 4). KDE, Maté oder XFCE wissen ebenfalls mit Dateifreigaben umzugehen. Windows listet die vom Raspbian-System angebotenen Freigaben im Explorer auf (Abbildung 5).

Abbildung 4: Netzwerkfähige Dateimanager wie hier Files (ex: Nautilus) integrieren Freigaben ohne die Eingabe kryptischer Kommandos.

Abbildung 5: Auch der Windows Explorer bindet die Samba-Freigabe des Raspberry-Pi-Servers ohne weiteres Zutun ins System ein.
Für den Zugriff über eine Linux-Konsole müssen Sie die Freigabe ähnlich mounten wie zuvor den per USB angebundenen Datenträger am Raspberry Pi. Die dafür nötige Software bringen die meisten Distributionen von Haus aus mit. Bei Debian-basierenden Systemen wie Raspbian oder Ubuntu heißt das entsprechende Paket cifs-utils.
Die Samba-Freigabe lässt sich auf dem Fileserver-RasPi entsprechend Listing 6 mounten. Vorsicht: Die Zugangsdaten landen dabei im Klartext im Befehlsverlauf (history). Die Optionen uid=1000, gid=1000, file_mode=0660 und dir_mode=0770 erlauben Ihnen, sowohl lesend als auch schreibend auf die Daten zuzugreifen.
Listing 6
$ sudo mount -t cifs -o username=pi,password=raspberry,uid=1000,gid=1000,file_mode=0660,dir_mode=0770 //raspberrypi/usb-disk /home/Benutzer/raspi
Für mehr Sicherheit und Komfort speichern Sie die Daten daher besser in einer geschützten Datei auf der Festplatte ab und konfigurieren das System so, dass es die Samba-Freigabe automatisch einbindet. Dazu schreiben Sie die Zugangsdaten wie in Listing 7 gezeigt in die Datei .smbcredentials im Home-Verzeichnis des eigenen Benutzers. Damit andere Anwender des Systems die Zugangsdaten nicht einsehen können, passen Sie mit chmod 600 ~/.smbcredentials die Rechte so an, dass nur Sie die Datei auslesen dürfen.





