Benutzer-Werkzeuge

Webseiten-Werkzeuge


thoschwiki:anwendungen:resiliosync

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
thoschwiki:anwendungen:resiliosync [30.11.2020 18:37]
thosch [Quellen] ergänzt
thoschwiki:anwendungen:resiliosync [22.12.2020 10:15] (aktuell)
thosch [Zugriff von anderen Rechnern zulassen] ergänzt
Zeile 20: Zeile 20:
  
 Es stehen plattformspezifische Installationspakete zum Download bereit. Für Linux-Systeme bestehen darüber hinaus auch [[https://help.resilio.com/hc/en-us/articles/206178924|Respositories für die verbreitetsten Linux-Distributionen]] zur Verfügung. Es stehen plattformspezifische Installationspakete zum Download bereit. Für Linux-Systeme bestehen darüber hinaus auch [[https://help.resilio.com/hc/en-us/articles/206178924|Respositories für die verbreitetsten Linux-Distributionen]] zur Verfügung.
 +
 +==== Installation unter Linux ====
 +
  
 Die Installation auf //Debian//-basierten Systemen (//Debian//, //Raspbian// bzw. //Raspbian OS// sowie //Ubuntu// und dessen Derivate) kann wie folgt unter Nutzung des Repositories erfolgen:  Die Installation auf //Debian//-basierten Systemen (//Debian//, //Raspbian// bzw. //Raspbian OS// sowie //Ubuntu// und dessen Derivate) kann wie folgt unter Nutzung des Repositories erfolgen: 
Zeile 38: Zeile 41:
 </code> </code>
  
-Für die Nutzung auf meinen Rechner bevorzuge ich, dass der //Resilio Sync//-Service unter meiner Benutzerkennung läuft. Hierfür ist die Konfiguration des Services anzupassen.+Anschließend muss der Service noch aktiviert werden:
  
-In der Datei ''/usr/lib/systemd/user/resilio-sync.service'' ist die Zeile ''WantedBy=multi-user.target'' in ''WantedBy=default.target'' zu ändern:+<code>sudo systemctl enable resilio-sync</code>
  
-<code>sudo sed -i "s|WantedBy=multi-user.target|WantedBy=default.target|" /usr/lib/systemd/user/resilio-sync.service</code>+Während der Installation wird der nicht-privilegierte Benutzer //rslsync// eingerichtet. Der //Resilio-Sync//-Service läuft unter dieser Benutzerkennung und hat somit nur sehr eingeschränkte Zugriffsrechte:
  
 +  * Da auf den meisten Systemen für die //Home//-Bereiche die ''unmask 0022'' gilt, kann der Service zwar die meisten Dateien lesen, aber keine neuen Dateien schreiben.
 +  * Sofern der Service Dateien schreiben kann((Eigentümer ist dann //rslsync//)), könnte es zu Problemen beim Zugriff durch den Eigentümer des Verzeichnisses kommen. 
  
 +Für diese Problematik gibt es drei Lösungsansätze:
  
 +  - **[[#kreuzweise_aufnahme_in_die_benutzergruppen|"Kreuzweise" Aufnahme in die Benutzergruppen]]** (von //Resilio// vorgeschlagene Lösung)\\ Der (Haupt)Benutzer nimmt //rslsync// in die eigene Gruppe auf und umgekehrt. Aufgrund der ''unmask 0022'' muss der (Haupt)Benutzer für die jeweiligen Dateien und Verzeichnisse zusätzlich das Schreibrechte für die Gruppe einrichten (''chmod g+w'').\\ Theoretisch ist das auch für mehrere Benutzer möglich, eröffnet dann aber die Möglichkeit für "Übergrifflichkeiten".
 +  - **[[#service_unter_kennung_des_hauptbenutzers|Service läuft unter der Kennung des (Haupt)Benutzers]]** (bisher von mir bevorzugte Lösung)\\ Etwas fummelt und gelingt -- zumindest mir -- nicht immer auf anhieb.
 +  - **//Resilio// Sync läuft in einem Docker-Container** (wahrscheinlich der Weg, den ich künftig nutzen werde)\\ Bei [[thoschwiki:docker:apps:resiliosync|Nutzung des Images linuxserver/resilio-Sync]] kann der Benutzer, mit dessen Rechten der Container läuft, über die Parameter ''PUID'' und ''PGID'' vorgegeben werden.((Es ist auch denkbar, auf Mehrbenutzersystem für jeden Benutzer einen eigenen Container unter der jeweiligen Kennung laufen zu lassen. Es  wäre dann notwendig für jeden Benutzer einen anderen Port für die Web-GUI zu verwenden.))
  
 +=== "Kreuzweise" Aufnahme in die Benutzergruppen ===
  
 +Unix-typisch läuft der Systemdienst unter dem eigenen User //rslsync// mit minimalen Rechten. Damit dies nicht zu Problemen mit Zugriffsrechten kommt, müssen der jeweilige Benutzer und der User //rslsync// "über Kreuz" in die jeweiligen Benutzergruppen aufgenommen werden:
  
 +<code>
 +sudo usermod -aG <user_group> rslsync
 +sudo usermod -aG rslsync <user_name>
 +</code>
  
 +Beachte: Die Rechteänderung wird erst nach einen Re-Login (bzw. Reboot) wirksam.
 +
 +Zusätzlich sind -- sofern dies nicht schon der Fall ist -- die Gruppenrechte bei den zu syncenden Ordner anzupassen:
 +
 +<code>
 +chmod g+rw <synced_folder>
 +</code>
 +
 +=== Service unter Kennung des Hauptbenutzers ===
 +
 +Es gibt verschiedene Beschreibungen, wie man den //Resilio Sync//-Service unter der eigenen Benutzerkennung laufen lassen kann. Die zuletzt besten Erfahrungen habe ich mit dem vom //Xiao Han// [[https://medium.com/@justlaputa/run-resiliosync-btsync-as-normal-user-under-ubuntu-1498f7701a28|beschrieben Weg]] gemacht. Diese Vorgehensweise scheint -- zumindest in der Vergangenheit -- von //Resilio// unterstützt worden sein.
 +
 +Im Verzeichnis ''/etc/resilio-sync/'' befindet sich das Script ''init_user_config.sh'' mit dem man eine benutzerspezifische Konfiguration anlegen kann:
 +
 +<code>
 +/etc/resilio-sync/init_user_config.sh
 +
 +</code>
 +
 +<note important>
 +Das Script ist unter der **eigenen** Kennung, d.h. **nicht** mit ''sudo'', zu starten.
 +</note>
 +
 +Danach ist eine sogenanntes //Drop-In-Snippet// für die Service-Definition anzulegen:
 +
 +<code>
 +sudo systemctl edit resilio-sync.service
 +</code>
 +
 +Im sich öffnendem Editor ist der folgende Inhalt zu ergänzen:
 +
 +<code>
 +[Service]
 +User=<USER>
 +Group=<USER>
 +PIDFile=/home/<USER>/.config/resilio-sync/sync.pid
 +ExecStartPre=
 +ExecStart=
 +ExecStart=/usr/bin/rslsync --config /home/<USER>/.config/resilio-sync/config.json
 +</code>
 +
 +Der Platzhalter ''<USER>'' ist jeweils durch den eigenen Benutzernamen zu ersetzen.
 +
 +Nach dem Speichern kann die sich daraus ergebende Service-Definition wie folgt eingesehen werden:
 +
 +<code>
 +sudo systemctl cat resilio-sync.service
 +</code>
 +
 +Das ergänzte //Drop-In-Snippet// findet sich am Ende der Datei.
 +
 +Abschließend ist die ''systemd''-Konfiguration neu zu laden und der Service neu zu starten:
 +
 +<code>
 +sudo systemctl daemon-reload
 +sudo systemctl restart resilio-sync.service
 +</code>
 +
 +Nun //sollte//((Ich bin da etwas vorsichtig, weil es bei mir nicht immer auf Anhieb geklappt hat...)) der //Resilio Sync//-Service unter der eigenen Benutzerkennung laufen.
  
 ===== Konfiguration ===== ===== Konfiguration =====
  
 +Die Konfiguration kann über die Konfigurationsdatei sowie -- zum kleineren Teil -- über die Web-UI erfolgen. Der Ablageort der Konfigurationsdatei hängt von der Art der Konfiguration des Services ab:
 +
 +  * Default-Konfiguration unter Verwendung des Nutzers //rslsync//: ''/etc/resilio-sync/config.json''
 +  * [[#service_unter_kennung_des_hauptbenutzers|oben beschriebenen Benutzerkonfiguration]]: ''~/.config/resilio-sync/config.json''
 +
 +==== Zugriff von anderen Rechnern zulassen ====
 +
 +In der Default-Konfiguration ist der Zugriff auf die Web-UI nur von gleichen Rechner ('''localhost'' bzw. IP-Adresse 127.0.0.1) zugelassen. Dies kann geändert werden, indem im ''listen''-Eintrag der Konfigurationsdatei die IP-Adresse ''127.0.0.1'' mit ''0.0.0.0'' überschrieben wird:
 +
 +<code>
 +    "webui" :
 +    {
 +        "listen" : "0.0.0.0:8888",
 +        "allow_empty_password" : false
 +    }
 +</code>
 +
 +Sofern der Zugang für andere Rechner geöffnet wird, sollte [[#https_fuer_webui|https für die Web-UI]] aktiviert werden.
 ==== https für WebUI ==== ==== https für WebUI ====
  
Zeile 74: Zeile 166:
 ===== Quellen ===== ===== Quellen =====
  
 +  * [[https://help.resilio.com/hc/en-us/articles/206178924-Installing-Sync-package-on-Linux|Installing Sync package on Linux]]
   * [[https://medium.com/@justlaputa/run-resiliosync-btsync-as-normal-user-under-ubuntu-1498f7701a28|Run ResilioSync (Btsync) as normal user under Ubuntu]]   * [[https://medium.com/@justlaputa/run-resiliosync-btsync-as-normal-user-under-ubuntu-1498f7701a28|Run ResilioSync (Btsync) as normal user under Ubuntu]]
  
thoschwiki/anwendungen/resiliosync.1606757876.txt.gz · Zuletzt geändert: 30.11.2020 18:37 von thosch