Pi als online-Speicher für ca. 25 Nutzer

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    ich besitze schon etwas länger einen Raspberry Pi und habe auch immer die passenden Anleitungen gefunden.
    Nun möchte ich aber einen Online-Speicher für ca. 25 Nutzer über den Pi laufen lassen, er soll lediglich zum Austausch von Datein via Internet dienen.
    Jeder Benutzer soll eigene Zugangsdaten erhalten damit ich die Rechte unterschiedlich verteilen kann.
    Meine Frage ist nun welche Möglichkeit am sinnvollsten ist. Ich habe mir schon Owncloud und Seafile angeschaut, zudem habe ich noch an einen ftp Server gadacht. Was könnt ihr mir emphelen bzw. was eignet sich am besten?
    Freue mich über alle Tipps und Emphelungen!

  • Für sowas würde ich auf dem Raspi wohl FTP empfehlen. Das läuft am ressourcenschonendsten und die Rechteverwaltung ist unkompliziert. Der Clientzugriff ist mit einem FTP-Client wie Filezilla oder sogar nur dem Webbrowser auch kein Problem. Außerdem lässt sich der Server auch in Windows einbinden und wie ein ganz normaler Ordner beschreiben/lesen.
    Ich will mir gar nicht vorstellen wie sich Seafile oder Owncloud verhält wenn da mehr als drei Leute gleichzeitig etwas synchronisieren oder sich auf der Weboberfläche bewegen, das ist ja schon bei einem Nutzer manchmal recht lahm. Ich denke da skaliert FTP bei mehreren Benutzern wesentlich besser. Empfehlenswerte Server sind da etwa VSFTPD oder ProFTPD, für die gibt es auch Webinterfaces zur einfacheren Administration.

    Dass da keine Geschwindigkeitswunder zu erwarten sind, ist dir hoffentlich klar. Was bei so etwas denke ich ein must-have ist, ist ein schnelles natives Linux-Filesystem auf dem Datenträger auf dem die Daten gespeichert werden sollen (USB-Stick, Platte, ...) wie etwa ext2/3/4. Meine persönliche Empfehlung wäre da ext2, lief in meinen Tests mit Samba und FTP am schnellsten, aber man kann wohl bei ext4 mit Abschalten des Journaling auch noch einiges reißen.

  • Danke für die schnellen Antworten!
    Es werden hauptsächlich kleinere Dateien über tragen (Solid Works Zeichnungen).
    Ich werde es mal mit FTP probieren.
    Könnt ihr mir ein gutes Tut. nennen? Es gibt ja ziemlich viele, bei den meisten handelt es sich leider immer nur um bestimmte Teile und selten um eine komplette Anleitung die nur den Wünschen entsprechen verändert werden muss.

  • Finger weg von FTP im öffentlichen Internet! Denn bei FTP werden die Passwörter im Klartext übertragen und sind somit leicht mitlesbar. Wenn dann sftp.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Diese Anleitung sieht ganz passabel aus und schließt ein Web-Frontend mit ein:
    http://proftpd-adm.sourceforge.net/page_install.php

    Ich weiß nicht wie Solid Works Zeichnungen aussehen, aber wenn das wirklich viele (>100) kleine Dateien sind ist FTP vielleicht doch nicht das geeignetste Protokoll. Da für jede Datei eine eigene Verbindung geöffnet wird, kann es bei vielen kleinen Dateien manchmal sehr lange dauern.

    Trotzdem würde ich dir raten es einfach mal auszuprobieren, ich weiß ja auch nicht wie du dir den Austausch genau vorstellst.

    edit: Zum Thema Sicherheit bei FTP, ich habe ja schon auf so einen Kommentar gewartet. Wenn es sich, wie bei ProFTPd um virtuelle User handelt, dann ist auch ein Passwort abgreifen (was sowieso einen gezielten Angriff auf den Server oder einen Client vorraussetzt) unproblematisch weil der Angreifer lediglich auf die, zur Verfügung gestellten Daten zugreifen könnte und nichts am System verändern könnte.
    Natürlich gibt es sicherere Methoden zum Datenaustausch, allerdings bin ich der Meinung dass man in einem solchen Fall einen Kompromiss zwischen Sicherheit und Komfort finden sollte. Und es handelt sich ja offensichtlich nicht um sensible Daten.

    Einmal editiert, zuletzt von xlemmingx (1. Oktober 2014 um 10:34)

  • Ich hab hier was geschrieben, ich kann aber keine 100 Prozentige Verantwortung übernehmen das alles Stimmt. Die Konfiguration müsste deinen Wünschen angepasst werden. Ich habe versucht alles soweit Sicher einzurichten. Ebenso musst du dann natürlich auch mehr als nur einen Nutzer erstellen. Derzeit ist es so eingestellt, das der erstellte Nutzer nur in sein Hauptverzeichnis Daten ändern kann.

    FTP Server
    Der FTP Server(FTP = File Transfer Protokoll) ist als Server dafür zuständig das ich möglichst einfach Daten von den Server ändern oder herunterladen kann. Bei der Auswahl des FTP Servers habe ich viel Wert auf die Sicherheit und nicht so viel Wert auf die Geschwindigkeit gelegt.
    Der Vsftpd(Akronym für Very Secure File Transfer Protocol Daemon) ist ein Server für das File Transfer Protocol. Die Bezeichnung als very secure trägt dem Umstand Rechnung, dass der Schutz gegen unbefugte Nutzung im Mittelpunkt der Entwicklung steht. Zu diesem Zweck verfügt der vsftpd über eine Softwarearchitektur aus Modulen und Komponenten mit möglichst kompakter Programmierung, die als separate Prozesse miteinander kommunizieren. Als Nebeneffekt ergab sich exzellentes Verhalten unter hoher Last.
    Funktionen und Anwendungsbereich
    Vsftpd lässt sich mit einer einzelnen Konfigurationsdatei (meist /etc/vsftpd.conf) einstellen und erlaubt in seiner Ausgangskonfiguration nur anonymes FTP. Vsftpd macht exzessiven Gebrauch von chroot-Jails, sodass im Falle eines Sicherheitslecks die Gefahr der Kompromittierung des gesamten Systems minimiert wird, da der Ausbruch aus einem Unix-chroot normalerweise unmöglich ist. Wie die meisten Daemons braucht Vsftpd unter keinen Umständen Root-Rechte.
    VSFTPD Server installieren
    Damit die Verbindung verschlüsselt können, installieren wir neben Vsftpd noch OpenSSL

    Code
    apt-get install vsftpd openssl


    Nach der Installation müssen wir als erstes ein SSL Zertifikat. Ich erstelle es im /etc/ssl/private Verzeichnis - wenn dieses noch nicht existiert, muss es vorher angelegt werden:

    Code
    mkdir -p /etc/ssl/private
    chmod 700 /etc/ssl/private


    Im Anschluss generieren wir wie folgt das SSL Zertifikat:

    Code
    openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem


    Bei der Erstellung müssen jetzt noch einige Daten eingeben werden
    z.b.

    Code
    Country Name (2 letter code) [AU]:DE
    State or Province Name (full name) [Some-State]:Musterstate
    Locality Name (eg, city) []:Maxhausen
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mustermann GmbH
    Organizational Unit Name (eg, section) []: Muster
    Common Name (e.g. server FQDN or YOUR name) []:Max Muster
    Email Address []:max.Muster@mustermail.com

    Um TLS in vsftpd zu aktivieren, öffnen Sie /etc/vsftpd.conf…

    Code
    sudo nano /etc/vsftpd.conf


    … fügen die folgende Konfiguration ein. In dieser wird SSL aktiviert, der Zugriff von Anonymen Nutzern verboten und der Zugriff von den Lokalen Nutzern reglementiert


    Wenn Sie force_local_logins_ssl=YES und force_local_data_ssl=YES verwenden werden nur Verschlüsselte Verbindung erlaubt. Meiner Meinung nach sollte diese Einstellung so eingestellt werden, dass nur noch SSL Verbindungen zugelassen werden.
    Nach dem Einstellen müssen wir noch einen Passenden User erstellen. Welcher das Homepage Verzeichnis als Home Verzeichnis bekommt(Wegen der Chroot) und sonst nicht an das System anmelden darf.

    Code
    sudo adduser sftp-user --ingroup www-data --shell /usr/sbin/nologin --home /var/www --no-create-home
    sudo chmod a-w /var/www
    sudo mkdir /var/www/html


    Dem gerade erstellten User tragen wir danach in die Liste der Vertrauenswürdigen FTP User ein:

    Code
    Sudo nano /etc/vsftpd.user_list
    Zitat

    sftp-user


    Zum Schluss müssen wir nur noch schnell die Shell umstellen

    Code
    Sudo nano /etc/shells


    Und die Zeile hinzufügen

    Code
    /bin/false
    /usr/sbin/nologin


    Danach kann der FTP Server neugestartet werden und ist fertig konfiguriert.

    Code
    /etc/init.d/vsftpd restart



    Ein Tipp noch bei kleinen Dateien. Wenn du z.B. Filezilla benutzt, ist es möglich unter bearbeiten Einstellungen: Übertragungen. Die Anzahl der Verbindungen auf 10 hochzustellen. Damit geht die Übertragung viel schneller.

    Wichtig ist es noch das bei einer Chroot Umgebung, der eingeloggte User im ersten Verzeichnis keine Schreibrechte haben darf siehe hier VSFTP Server nimmt keine Verbindungen an von hinzugefügten Usern

    ein Traum ist unerlässlich wenn man die Zukunft gestalten will

    Einmal editiert, zuletzt von DeFisch (1. Oktober 2014 um 11:38)


  • Dann nutz doch SFTP dann wird es verschlüsselt übertragen.

    Warum SFTP? Denn SFTP ist SSH. Oder meinst Du FTPS (mit vsftpd, siehe oben)?


    EDIT:

    Z. B. FTPS mit vsftpd:

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (1. Oktober 2014 um 11:11)

  • [quote='rpi444','http://test.forum-raspberrypi.de/forum/index.ph…9793#post109793']
    [quote='Mathias','http://test.forum-raspberrypi.de/forum/index.ph…9792#post109792']
    Dann nutz doch SFTP dann wird es verschlüsselt übertragen.

    Warum SFTP? Denn SFTP ist SSH. Oder meinst Du FTPS (mit vsftpd, siehe oben)?


    [quote]

    Ist schon richtig siehe Wiki! Heißt ,, Secure File Transfer Protocol (SFTP) ,,


  • Ist schon richtig siehe Wiki! Heißt ,, Secure File Transfer Protocol (SFTP) ist eine für die Secure Shell (SSH) ...,,

    Ja, aber mit FTPS werden der username und das Passwort auch verschlüsselt übertragen. Und das howto von DeFisch ist ja für FTPS.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Zitat

    Ich habe mir schon Owncloud und Seafile angeschaut, zudem habe ich noch an einen ftp Server gadacht.

    Ich habe die auch alle durch, zusätzlich WebDAV-Lösungen mit apache/NGINX.
    Allerdings waren die mir entweder zu langsam, fehleranfällig oder zu unkomfortabel.

    Für Deinen Zweck am ehesten geeignet, halte ich Barracuda Drive.

    Ich kenne das Programm noch aus NSLU2-Zeiten (133Mhz), hatte es aber wieder vergessen. Erst durch einen Post hier, habe ich es 'wiederentdeckt'. Es gibt meines Erachtens nichts schnelleres auf dem Pi. Auf der Seite oben findest Du auch einen Vergleich mit anderen Lösungen.

    Je nach Art, ist Barracudadrive 3x schneller als das schon performante NGINX-WebDAV.

    Die Nutzer können (mit einstellbaren Rechten) via WebDAV-Client oder WebBrowser rauf- und runterladen. Auf Wunsch auch per VPN. Ein bulletin-board ist genauso, dabei wie ein Website_Editor.

    Also Ansehen lohnt auf jeden Fall!

    Einmal editiert, zuletzt von MacNobi (1. Oktober 2014 um 12:18)


  • Ist schon richtig siehe Wiki! Heißt ,, Secure File Transfer Protocol (SFTP) ,,

    Allerdings nicht zu verwechseln mit dem FTP-Protokoll das zufällig die selbe Abkürzung verwendet. Sind auch zwei völlig unterschiedliche Datentransportprotokolle. Steht übrigens auch in der (englischen) Wikipedia.

    Zitat

    SFTP is not FTP run over SSH, but rather a new protocol designed from the ground up by the IETF SECSH working group. It is sometimes confused with Simple File Transfer Protocol.

    Einmal editiert, zuletzt von xlemmingx (1. Oktober 2014 um 12:53)

  • Super Anleitung! Danke!
    Ich komme aber leider erst am Wochenende dazu diese richtig zu Testen und zu konfigurieren.

    Was hat es genau mit BarracudaDrive auf sich? Habe noch nie etwas davon gehört ... hat vielleicht noch jemand damit Erfahrung gemacht?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!