Zur Bearbeitung der Konfigurationsdateien von OpenHAB oder anderen Projekten auf dem Raspberry Pi, bietet sich der Dateizugriff per Samba. Samba ist eine freie Software, die es auch anderen Betriebssystemen ermöglicht, Windows Datei- und Druckdienste zu nutzen. In unserem Fall schaffen wir also damit die Möglichkeit mit dem Windows-Datei-Explorer auf die Datei- und Ordnerstruktur von Raspian OS (Linux), zuzugreifen.
Samba besteht dabei aus zwei Diensten, die bei der Fehlersuche ggf. separat betrachtet werden müssen. (smbd.service / nmbd.service)
Samba Installation
sudo apt-get install samba samba-common-bin
Kurzbefehle
sudo service smbd start [stop] [restart] [status]
sudo service nmbd start [stop] [restart] [status]
Konfiguration
Die Config-Datei von Samba findet sich unter: /etc/samba/smb.conf
Die Zugriffsprüfung wird auf eine Useranmeldung festgelegt.
[global]
security = user
Am Ende der Datei werden die verschiedenen Verzeichnisse von OpenHAB freigegeben.
[openHAB3-userdata]
comment=openHAB3 userdata
path=/var/lib/openhab
browseable=Yes
writeable=Yes
only guest=no
public=no
create mask=0777
directory mask=0777
[openHAB3-conf]
comment=openHAB3 site configuration
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
public=no
create mask=0777
directory mask=0777
[openHAB3-app]
comment=openHAB3 application
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
public=no
create mask=0777
directory mask=0777
[openHAB3-logs]
comment=openHAB3 Logs
path=/var/log/openhab
browseable=Yes
writeable=Yes
only guest=no
public=no
create mask=0777
directory mask=0777
Samba Benutzer einrichten
Für den Zugriff auf die Freigaben muss noch ein Benutzer eingerichtet werden. Mit diesem meldet man sich später an den Freigaben an.
sudo smbpasswd -a pi
Dieser darf aber nicht mit dem Linux Systembenutzer verwechselt werden. Falls auf dem Raspberry Pi bereits ein User pi eingerichtet ist, kann man hier zwar den gleichen Benutzernamen und das gleiche Kennwort nutzen, allerdings sind die beiden unabhängig von einander. Anschließen wird der Samba-Dienst neu gestartet und ein Zugriff auf die Dateien, z.B. über ein Netzlaufwerk, ist möglich.
sudo systemctl restart smbd.service
Sollte ein Zugriff auf die Dateien verweigert werden, so sollte man als erstes die Berechtigungen auf die Dateien prüfen und ggf. auf den Besitzer ändern.
sudo chown -hR pi:openhab /etc/openhab
Fehler
- Cannot restart samba, samba.service is masked – eine Neuinstallation nach Versionsupgrade von Raspberry Pi OS kann helfen
Quellen
- openHAB: Zugriff auf Raspberry Pi – https://medium.com/diy-my-smart-home/openhab-zugriff-auf-raspberry-pi-772566ddf4ed
- Samba-Troubleshooting – https://www.elektronik-kompendium.de/sites/raspberry-pi/2101091.htm