Das Programm »Rclone« ist geeignet, auf eine Vielzahl von Online-Speicher (»Dropbox«, »Onedrive«, diverse WebDav-Zugänge u.v.a.) zuzugreifen. Gelingt es, diese Online-Speicher beim Einloggen in einen Linux-Rechner automatisch zu mounten, ergeben sich viele bequeme Möglichkeiten, eigene Dateien zu sichern oder auf sie von anderen Orten aus zuzugreifen. Man kann den gesamten Online-Speicher oder Teile davon von »Rclone« verschlüsseln lassen, womit man auch sensible Daten auf wenig verlässlichen Speicherorten unterbringen kann. Hervorzuheben ist, dass die Dokumentation von »Rclone« außergewöhnlich gut verständlich geschrieben ist. Auch kann man die Konfiguration sehr einfach durchführen.
Im Folgenden wird beschrieben, wie man den Zugriff auf ausgewählte Online-Speicher einrichtet. Es wird dabei von Möglichkeiten des Linux-Dienstes »systemd« Gebrauch gemacht. »Rclone« ist unter »openSUSE« im Standard-Repositorium enthalten. Für andere Linux-Distributionen, »MacOS« und »Windows« wird das Programm ebenfalls angeboten.
Wie bei allen anderen Zugriffs-Konfigurationen startet man mit
rclone config
Die zu beantwortenden Fragen sind weitgehend selbsterklärend und führen am Ende zu einer Konfigurationsdatei $HOME/.config/rclone/rclone.conf
, die für den Online-Speichers »Dropbox« einen Bereich enthält, der dem Folgenden ähnlich sieht:
[RolfsDropbox]
type = dropbox
app_key =
app_secret =
token = {"access_token":"???????????","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
Das »access_token« wird während der Installation von dropbox.com
angefordert und für die spätere Verwendung gespeichert. Mit
rclone ls RolfsDropbox:
kann man den Inhalt des Online-Speichers auflisten und z.B. mit
rclone copy MeineDatei.txt RolfsDropbox:/transfer/
eine Datei dorthin kopieren. Näheres siehe Dokumentation von »Rclone«.
Der durch RolfsDropbox:
symbolisierte Online-Speichers kann folgendermaßen ins Dateisystem eingebunden werden:
rclone --vfs-cache-mode writes mount RolfsDropbox: $HOME/dropbox
Über den vorher zu erzeugenden Mount-Punkt $HOME/dropbox
hat man Zugriff auf den Online-Speicher, solange der gezeigte Befehlsaufruf nicht beendet wird. Um diesen Zustand automatisch zu erreichen, sobald sich der betreffende Nutzer eingeloggt, kann man wie folgt vorgehen.
Anlegen der Datei $HOME/.config/systemd/user/dropbox-mount.service
[Unit]
Description=Dropbox mount with rclone
Documentation=https://rclone.org/docs/
[Service]
Type=simple
Environment=mp="%h/Dropbox.remote"
ExecStartPre=/bin/bash -c 'mkdir -p "$mp"'
ExecStart=/bin/bash -lc 'if $(mountpoint -q "$mp"); then true; else \
rclone --vfs-cache-mode writes --config %h/.config/rclone/rclone.conf \
mount RolfsDropbox: $mp; fi'
ExecStop=/bin/bash -c 'if ! $(mountpoint -q "$mp"); then true; else \
fusermount -zu "$mp"; fi'
Restart=on-abort
[Install]
WantedBy=default.target
Anmerkung: Der bash-Aufruf wurde hier nur deshalb vorgesehen, um dem Programm »Rclone« die üblichen Umgebungsvariablen bekannt zu machen (z.B. $https_proxy
). In vielen Fällen kann er entfallen.
Anmelden des Services zum späteren automatischen Start
systemctl --user enable dropbox-mount.service
Start des Services
systemctl --user start dropbox-mount.service
Test
systemctl --user status dropbox-mount.service
journalctl --user-unit dropbox-mount.service
Anlegen der Datei $HOME/.config/systemd/user/dropbox-sync.service
[Unit]
Description=Dropbox sync with rclone
Documentation=https://rclone.org/docs/
[Service]
Type=simple
ExecStart=/bin/bash -lc "/usr/bin/rclone sync RolfsDropbox: %h/Dropbox \
--config %h/.config/rclone/rclone.conf"
[Install]
WantedBy=default.target
Anlegen der Datei $HOME/.config/systemd/user/dropbox-sync.timer
[Unit]
Description=Dropbox sync with rclone (Timer)
Documentation=https://rclone.org/docs/
[Timer]
OnActiveSec=20
OnUnitInactiveSec=600
[Install]
WantedBy=default.target
Mit
systemctl --user enable dropbox-sync.timer
systemctl --user start dropbox-sync.timer
erreicht man, dass das Verzeichnis $HOME/Dropbox
gleich nach dem Einloggen (nach 20s) und danach alle 10min (600s) mit dem Online-Speicher synchronisiert wird. Das Zusammenspiel zwischen dropbox-sync.timer
und dropbox-sync.service
ist mit einem Cron-Job vergleichbar (siehe dazu »Systemd-Timer als Cron-Alternative«).
Test
systemctl --user status dropbox-sync.timer
journalctl --since today --user-unit mail-sync.service
systemctl --user list-timers
Es soll beispielsweise erreicht werden, dass ein einzelnes Verzeichnis unter Microsofts »OneDrive« nur verschlüsselte Dateien enthält. Zuerst muss der grundsätzliche Zugang zu »OneDrive« eingerichtet werden, was ganz ähnlich zu dem Dropbox-Zugang geschieht. Der Eintrag in $HOME/.config/rclone/rclone.conf
sieht etwa so aus:
[RolfsOnedrive]
type = onedrive
client_id =
client_secret =
token = {"access_token":"???????","token_type":"bearer","refresh_token":"???????",
"expiry":"2018-03-21T18:32:55.066134442+01:00"}
Im nächsten Schritt muss eine weitere Zugangsdefinition erzeugt werden, die sich »Encrypt/Decrypt a remote« nennt. Sie muss einem bereits existierenden Online-Zugang zugeordnet werden. Es soll in diesem Beispiel das zuvor auf »Onedrive« angelegte Verzeichnis enigma
benutzt werden. Für die später automatisch durchgeführte Ver- und Entschlüsselung kann angegeben werden, ob außer dem Dateiinhalt auch Datei- und Verzeichnisnamen verschlüsselt werden sollen. Zu weiteren Eingaben wie z.B. die Stärke der Verschlüsselung findet man in der Dokumentation Hinweise. Es entsteht nun ein weiterer Eintrag in $HOME/.config/rclone/rclone.conf
der folgenden Art:
[RolfsOnedriveCrypt]
type = crypt
remote = RolfsOnedrive:enigma
filename_encryption = standard
directory_name_encryption = false
password = ???????
password2 = ???????
Bindet man so wie oben erläutert RolfsOnedrive:
und RolfsOnedriveCrypt:
ins Dateisystem ein, so erreicht man über den Crypt-Zugang (z.B. $HOME/onedrive.enigma
) das transparente Ver- und Entschlüsseln beim Hin- bzw. beim Herkopieren. Über den direkten Zugang (z.B. $HOME/onedrive/enigma
) sieht man dagegen nur verschlüsselte Dateien genau wie beim Web-Zugang per Browser.
Anders als in diesem Beispiel kann auch der komplette Online-Zugang verschlüsselt werden.
Einige Funktionen des Programms »Rclone« lassen sich auch über die grafische Oberfläche »Rclone Browser« ausführen. Die Entwicklung des »Rclone Browsers« begann hier und wird derzeit hier weitergeführt.
Die neueste Version als Debian-Paket von hier herunter laden und ins rpm-Format wandeln
alien --to-rpm rclone-browser_x.y.z-amd64.deb
und installieren:
zypper install rclone-browser-x.y.z.x86_64.rpm
Die neueste Version als Debian-Paket von hier herunter laden und installieren:
apt install ./rclone-browser_x.y.z-amd64.deb
Von hier die neueste Version der App »RcloneExplorer« herunterladen (armv7a = Arm32, armv8a = Arm64) und zum Smartphone kopieren und dort zum Installieren anklicken. Der Autor plant, diese App künftig zur einfacheren Installation im App-Store »F-Droid« anzubieten. Es empfiehlt sich, die bereits auf dem PC existierende Datei rclone.conf
auch auf das Smartphone zu kopieren und diese beim Start der App einlesen zu lassen. Im Ergebnis dessen kann das Smartphone auf dieselben Online-Speicher zugreifen wie »Rclone« auf dem PC.
Erfolgreich getestet wurden auch der Zugang per »WebDAV« (»GMX mediacenter«), zu »GoogleDrive«, zu einem S3-Online-Speicher und zu einem anonymen FTP-Server.
Die Konfigurationsdatei $HOME/.config/rclone/rclone.conf
kann leicht auf einem anderen Rechner verwendet werden, um exakt dieselben Zugangsmöglichkeiten auch dort nutzen zu können.
Rolf (2019/10)