Beste variante um Daten in nextcloud Speicher zu kopieren im lokalen Netz

Hallo

Ich habe eine Datensammlung von ca 150gb auf meinem Mac Laptop was i h nun gerne auf meine nextcloudpi an der eine nvme Festplatte mit 1TB per usb angeschlossen ist.

Wenn ich versuche den nextcloud client zu nutzen dauert das ewig bis alles drüben ist. Dachte dabei im mac über das Terminal alles per rsync auf die nextcloud zu bekommen über die lokale ip aber das klappt bei mir nicht weil ich beim absetzen des rsync Befehles permission denied bekomme. Egal ob User ncp pi oder Root. Habe über ncp-config ssh enabled und auch den user…
Habt ihr Tipps???

Oder gibt es eine bessere Variante das ich meine Daten auf meine nextcloud Festplatte bekomme, Mac ist im lokalen Netz und die nextcloud ja auch

  • ssh doch irgendwie ans laufen bekommen.
    wo bekommst du die permission denied? beim login oder erst beim schreiben?
  • auf dem raspi das nextcloud data verzeichnis als nfs/smb share exportieren und an den mac mounten. google kann da helfen. ist kein spezielles nextcloud thema.

Sag mal gibt es limitations wenn ich smb share aktiviert habe und per Drag and drop Daten vom mac aufs smb pushe???

was heisst denn ewig? Auf einem x86 läuft der sync mit 30-50 MB/s - recht nah an Hardware Limits… bei 1GBit/s Netzwerk oder langsamer per WiFi… 150GB zu synchronisieren dauert einige Stunden… egal welches Tool man nimmt. Ich würde schauen wie weit man erst mal damit kommt und ert dann mit Troubleshooting anfangen…

c begrenzt die übertragungsgeschwindigkeit von informationen in diesem universum immer recht zuverlässig. :wink:

ansonsten ist es immer etwas tricky, wenn man daten “an nextcloud vorbei” auf die platte schieb. man muss die dann erst mittels occ scan nextcloud bekannt machen.

oder was genau meinst du?

2 Likes

Hallo Zusammen,

also mittels Nextcloud Client macht es keinen Sinn Daten vom lokalen Laptop auf den Nextcloud Speicher zu kopieren. Das dauert wirklich zu lange. Über den eingerichteten SMB ist es wohl etwas besser da MAC und NextcloudPI im selben lokalen Netzwerk liegen. Bei der Konfigfuration des Nextcloud Clients musste ich ja meine https Uri angeben - daher macht er das wohl “over-the-internet”.

Also smb einrichten und unter MAC nutzen geht ohne Probleme. Aber wenn ich z.b. im Terminal auf dem MAC bin und eine Datei vom Desktop auf den Nextcloud Speicher kopieren will benötige ich ja einen user der auf die ncdata files zugfreifen darf. Das geht ja eigentlich nur mit www-data oder root user. Auf meine nextcloudpi komme ich per ssh mit dem ncp user drauf und kann mit sudo -i zum root werden…Aber wie kann ich nun lokal per scp oder rsync vom lokalen Rechner etwas an die nextcloud kopieren? Ich bekomme ja immer ein permission denied.

Hallo @Ency

Du könntest die Daten via SSH/rsync in einen neuen Ordner, nennen wir ihn “hochgeladeneFiles”, im Homeverzeichnis deines normalen SSH-Users auf dem Server kopieren.

  1. Danach den Ordner auf dem Server in den Nextcloud Datenordner verschieben:

    sudo mv  ~/hochgeladeneFiles /Pfad/zum/NextclouDatenOrdner/files/DeinUser/
    

WICHTIG!!! Den Slash am Ende des Zielpfades nicht vergessen, ansonsten wird der Ordner “…/DeinUser” mit dem Ordner “hochgeladeFiles” ersetzt, anstatt dass er in dieses Verzeichnis verschoben wird!

  1. Die Berechtigungen anpassen:

    sudo chown www-data:www-data -R /Pfad/zum/NextclouDataOrdner/files/DeinUser/hochgeladeneFiles
    
  2. Einen occ files:scan durchführen:

    sudo -u www-data /var/www/nextcloud/occ files:scan -all
    
1 Like

Das ist eigentlich nicht schwer. Wenn du wirklich deine wichtigen Tagen auf eine Linux-Kiste verarbeiten willst, solltest du umgehend dein Linux-Know-How steigern. Denk daran unabhängig von deiner Nextcloud ein Backup zu machen. Nextcloud ist kein Backup.

Nextcloudpi verwende ich nicht. Aber am Ende ist es natürlich eine beschränkte Linux-Instanz. Mit welchem Benutzer kannst du denn scp/sftp, rsync über ssh nutzen?

Ändere als root (sudo -s) temporär die Berechntigungen für /pfad/zur/nextcloud/data/username (mit chown), lade das Zeug hoch und ändere rekursiv den Ordner und alle Inhalte korrekt zurück.
Alternativ kannst du natürlich auf deinen MAC ein sftp-Server laufen lassen und auf dem Pi per dann korrektem Nextcloud-Benutzer die Daten vom MAC rekursiv runterziehen. Das hat den Vorteil, dass du eher den MAC und nicht die Nextcloud kaputt machst. Das ist dann kein so großer Verlust :wink:

Bei beiden Vorgängen musst du anschließend per “occ” alle Dateien noch mal neu scannen lassen, damit auch die Datenbank von den neuen Daten erfährt.

Ich würde es so machen:

sudo passwd www-data
Dann in der /etc/passwd den Teil /usr/sbin/nologin mit /bin/bash ersetzen.
Und zuletzt in der /etc/ssh/sshd_config "AllowUsers www-data! eintragen

Dann mein lokales Datenverzeichnis mit rsync auf die nextcloud kopieren:
rsync -azP SOURCE DIRECTORY

Und zuletzt ein occ-scan machen:
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ files: scan --all

Das sollte eigentlich meine Lösung sein - evtl noch die parameter für rsync ändern?! Ich will das eben permissions, tags zeitstempel usw alles original bleibt - eben eine 1:1 Kopie. Denke aber die PArameter -azP sollten passen.

Das sollte auch gehen. Ist ja recht unkritisch.
Du kannst ja testweise erst mal nur eine Datei hochladen.
Wenn was daneben geht, kannst du ja jeden Schritt zurücknehmen.

Ob die Parameter korrekt sind, weiß ich nicht.
Parameter a enthält eine Vielzahl anderer Parameter.

Nein!

Du solltest niemals einem User wie www-data die Möglichkeit geben sich anzumelden, geschweige denn ihm Berechtigungen für SSH-Zugriff geben!!!

Kopiere die Datein mit einem normalen unpriveligierten User auf den Server, verschiebe sie mit root und passe danach die Berechtigugen/Ownership an.

2 Likes

Ja das stimmt. Im Firmenumfeld würde man sowas nie zulassen. Im privaten Umfeld sind viele dieser Beschränkungen jedoch vor allen ziemlich lästig. Genauso wie der ganze sudo-Irrsinn. Bei Ubuntu könnte man auch gleich Benutzer und root das gleiche Passwort geben, su statt sudo verwenden und hätte im Prizip keinen Unterschied. Wobei bei www-data ist sudo dann doch recht sinnvoll.

Das geht auch.

1 Like

Ja privat ist es ja nicht so schlimm, wenn der Server Teil eines Botnetzes wird und/oder Daten abfliessen. Am besten diesen Zugang auch ohne SSH-Keys anlegen mit password123, damit man sich auuch auf de Handytastatur von überall als www-data anmelden kann.

Sorry für den Sarkasmus :wink:

1 Like

Du meinst also ich soll einen User anlegen der Mitglied der www-data Gruppe ist - mit dem alles von lokal auf nextcloud verschieben und dann scans durchführen wie:
nc-scan-auto
nc-fix-permissions
nc-scan

und am ende zusätzlich noch einen occ-scan durchführen?

Du hast recht. Aber ich gehe natürlich davon aus, dass @Ency die Berechtigung wieder zurückändern würde. Dann ist alles nicht so schlimm. Und so schnell ist man nicht Teil eines Botnetzes vor allen nicht in seinem privaten LAN. Das ist einfach Quatasch. Teil eines Botnetzes wird man durch einen Windows-Client mit Fernwartungstrojaner. Direkt kommt niemand vom Internet ins heimische, per Routing nicht erreichbare LAN an den Pi.

Aber wer es probieren will. Kostet ja nichts:
HoneyPi - An easy honeypot for a Raspberry Pi - TrustFoundry
(nicht selbst probiert, ich habe kein Pi)

Nein du lädst die Dateien mit deinem normalen User hoch. Danach meldest du dich mit deinem normalen User am Server via SSH an und verschiebst die Dateien mit Sudo/Root dort hin wo sie hin müssen. Und in einem dritten Schritt passt du die Berechtigungen via sudo chown -R www-data:www-data /Pfad/zu/den/Daten an. Der vierte Schritt wäre dann der “occ files:scan”, den du in jedem Fall machen musst.

1 Like

@bb77 Genau. Das ist das Vorgehen im Firmenumfeld. Ich weiß gar nicht, ist bei NextcloudPi überhaupt das sftp-Subsystem aktiviert?

Wenn aber der Zugriff per z. B. sftp/scp/rsync ein Sicherheitsrisiko für das Zielsystem ist, würde man jedoch eher umgekehrt sich auf dem Zielsystem (hier Pi) anmelden und die Daten von einen Bereitstellungs-Server (hier MAC) ziehen. Dadurch würde das notwendige Sicherheitsrisiko auf ein anderes System verlagert. Da freut sich dann auch die Security-Abteilung. Hierfür müsste man auf dem MAC ein sftp-Subsystem installieren/aktivieren. Ich habe aber keinen MAC und weiß nicht, ob es das wirklich gibt.

1 Like

Jup. Und zuhause macht meine Variante Sinn. Es sind ja nur zwei Dinge mehr involviert, nämlich das verschieben der Dateien und das Anpassen der Berechtigungen. Und beides geht Instant. Was Zeit braucht ist das Kopieren der Dateien, Meine Variante ist imho sogar einfacher, als zuerst mit Benutzern und Gruppen herumzuspielen und dem www-data Benutzer Login-Rechte zu geben und das im Nachhinein wieder rückgängig zu machen.

ja okay da muss ich dir Recht geben @bb77 - dann mache ich das auch so:-)
Danke für eure Tipps!!!

3 Likes

Noch eine kleine Zusatzinfo:

Falls du jemals in die Situation kommst, wo du wirklich etwas Remote direkt unter /var/www machen musst, wäre das eine Möglichkeit. Aber bitte auf keinem Fall, dem www-data User irgendwie Login Rechte geben. Und wenn SSH aus dem Internet erreichbar ist, nutze bitte SSH-Keys oder wirklich lange und komplizierte Passwörter. Und installiere Fail2ban. Damit werden allfällige Loginversuche verzögert.

Falls du das alles schon weisst oder so machst, umso besser. Ich möchte hier auch nicht besserwisserisch rüberkommen oder so. Aber bei diesen Sicherheitsthemen, reagiere ich halt manchmal vielleicht etwas (über-)empfindlich :wink:

1 Like