FTP Server für mehrere Benutzer

ClisClis

Urgestein
Thread Starter
Mitglied seit
30.08.2011
Beiträge
2.083
Ort
Nähe Biel
Moin,
ich hab nen kleinen Linux Server (also eigentlich ein Laptop) der bei mir zuhause steht.
Darauf läuft ein Crunchbang Linux, also Debian basiert.
Ich komme von unterwegs ganz gut mit scp an meine Daten, falls ich was brauche, das ist kein Problem.
Allerdings möchte ich nun eigentlich das so erweitern, dass ich auch bestimmten Kollegen Zugriff auf Daten geben kann und auch ein öffentliches Verzeichnis machen könnte.

für den Zugriff der Kollegen könnte man natürlich einfach nen User anlegen und gut. Aber der kommt dann eben auch in andere Verzeichnisse.
Und öffentlich sowieso.

Hier gibts ja nen Sticky zum absichern eines Linux servers wo sich folgender Abschnitt findet:
SFTP für mehrere Nutzer?
Ist relativ einfach möglich. Linux User anlegen und per SSH einloggen erlauben. Aber einfach heißt leider auch unsicher. Die können sich eben nicht nur per SFTP einloggen sondern auch per SSH und bekommen dann eine normale Linux Shell. Dies lässt sich etwas weniger einfach mit RSSH umgehen. Das ist im Prinzip eine Login Shell (wie bash) die für User verwendet werden kann die nur SFTP/SCP Funktionalität benötigen und sich explizit nicht per normalen SSH verbinden sollen.
Um das ganze noch sicherer zu machen sollte man ein chroot verwenden. So werden die SFTP user dann in ein Unterverzeichnis eingesperrt und können nicht auf die Dateien des restlichen Systems zugreifen. Hier gibt’s dazu ein schönes Howto: http://gentoo-wiki.com/HOWTO_SFTP_Server_(chrooted,_without_shell)

Leider ist der Link da tot.
Zumal ich dann immer noch nicht wüsste, wie ich das mit dem öffentlichen Verzeichnis realisieren soll.

Am liebsten hätte ich beispielsweise ein Verzeichnis /var/ftp oder so ähnlich und da dann für alle ftpuser einen Ordner mit ihrem Namen, auf den nur sie Zugriff haben
Und auch da eben nen Ordner "public" wo dann jeder, ohne Username und PW drauf kann. Aber nur lesen.
Eventuell wäre die Möglichkeit ganz gut, wenn die ftp benutzer in ihrem Verzeichnis ein Public Folder hätten, damit diese auch Dateien teilen könnten.

Kann mir eben vorstellen, dass dies die Möglichkeiten von der Methode mit scp übersteigt.

Das ganze soll natürlich aus dem Internet zu erreichen sein.

Wer kann mir da was zeigen/vorschlagen?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hey ich bin gerade unterwegs und kann dir nur ne Idee mitgeben aber ich würde das Wie folgt lösen, du hast ne Gruppe ftp, die nur auf geschützte Bereiche zugreifen kann, zum Beispiel den Ordner var/ftp
In der config des ftpserver kann man das umfassend einstellen guck mal nach Linux ftpserver Ordner Rechte
So jedenfalls bin ich damals fündig geworden wenn ich morgen nach hause komme kann ich gerne auch noch mal nachschauen was bei mir drinsteht

Für öffentlich gibt's extra den Benutzer anonym :)
 
Zuletzt bearbeitet:
Blicke halt auch nicht so durch wie das mit der Verschlüsselung ist.
FTP an sich wird ja nicht verschlüsselt. FTPS ist besser aber naja

Also SFTP wäre eigentlich gewünscht.

Zudem: Ich weiss zwar, wie ich eine Gruppe erstellen kann. Ich weiss auch wie ich ein Verzeichnis einer Gruppe zuordne.
Aber wie kann ich einstellen, dass die Gruppe nur auf dieses eine Verzeichnis var/ftp und auf kein anderes zugreifen kann?
 
Mir fiele dazu höchstens ACL ein, aber wäre vll doch auch etwas overkill.
 
Aber wie kann ich einstellen, dass die Gruppe nur auf dieses eine Verzeichnis var/ftp und auf kein anderes zugreifen kann?

Das loest man mit einem sogenannten 'Chroot', d.h. der Benutzer sieht als Topverzeichnis alles unterhalb des als Chroot-definierten Verzeichnisses und nicht mehr die eigentliche Topstruktur /, daher der Name 'change root'.

Einfach mal nach sftp + chroot suchen.
 
Ja, davon hab ich gelesen. Liesse sich sicherlich realisieren.
Aber wie löse ich dann das "public" Folder? Einfach einen Ordner auf selber Höhe wie die Benutzerordner anlegen, Berechtigungen entsprechend setzen und dann in den jeweiligen Benutzerverzeichnissen eine Verknüpfung auf diesen Ordner?
 
Wo liegt denn das Problem einfach Pureftpd oder so zu installieren und einige Benutzerkonten anzulegen die alle nur Zugriff auf dieses "Public" Verzeichnis haben?
Wieso muss es denn unbedingt SFTP sein?
 
Das kommt darauf an, wie man das Chroot designt. Wenn man zB ein gemeinsames Chroot fuer alle Benutzer anlegt, koennen die Benutzer - entsprechende Dateisystemrechte vorausgesetzt - auch die Daten andere Benutzer sehen.

/edit: um echte Shared Storage zu haben, kann man zB mit Symlinks oder Bindmounts arbeiten.
 
Zuletzt bearbeitet:
Wo liegt denn das Problem einfach Pureftpd oder so zu installieren und einige Benutzerkonten anzulegen die alle nur Zugriff auf dieses "Public" Verzeichnis haben?
Wieso muss es denn unbedingt SFTP sein?

Gerade bei den privaten Daten möchte ich diese doch irgendwie verschlüsselt haben.

Pureftp kenn ich nicht, werd ich mir mal anschauen. Hatte die Tage nicht so Zeit, wird nun besser
 
Vlt. geht das nur mir so aber wenn ich CVE von vsftpd und pureftpd ansehe, empfinde ich pureftpd immer als sicherer.
Obwohl es natürlich Geschmackssache ist welchen Daemon man nimmt.

Mal zum Vergleich:

NVD - Pureftpd
NVD - vsftpd

Wie gesagt, das nur mal so am Rande.

CVE zu vergleichen ist jedenfalls ein valider Ansatz - auch wenn meine Empfehlung nicht nur aus der Sicherheitsperspektive kam.

CVEDetails vsftpd
CVEDetailsPureftpdl

Ich sehe da zweimal DOS und ein Informationleak fuer vsftpd vs. DirTraversal mit undefiniertem Schreibzugriff, CommandInjection, moegliche PrivilegeEscalation und DOS fuer pure-ftpd. Ein weiteres Statement dazu spar ich mir mal. ;)
 
Zuletzt bearbeitet:
Am liebsten hätte ich beispielsweise ein Verzeichnis /var/ftp oder so ähnlich und da dann für alle ftpuser einen Ordner mit ihrem Namen, auf den nur sie Zugriff haben
Und auch da eben nen Ordner "public" wo dann jeder, ohne Username und PW drauf kann. Aber nur lesen.
Eventuell wäre die Möglichkeit ganz gut, wenn die ftp benutzer in ihrem Verzeichnis ein Public Folder hätten, damit diese auch Dateien teilen könnten.

Kann mir eben vorstellen, dass dies die Möglichkeiten von der Methode mit scp übersteigt.

Das ganze soll natürlich aus dem Internet zu erreichen sein.

Wer kann mir da was zeigen/vorschlagen?

Denke das lässt sich relativ einfach mit OwnCloud realisieren
 
Zuletzt bearbeitet:
vsftp hatte ich sogar mal drauf. Bin dann daran gescheitert ihn aus dem Internet zugänglich zu machen.
Heisst jetzt nicht dass das nicht geht, ich habs wohl nur nicht gepackt ^^
 
Hab mir jetzt mal n OwnCloud aufgesetzt. Weil da eben noch ein paar andere nette Features bei sind.
2 Probleme hab ich mal noch:
Wenn ich das im Internet freigebe (via Portforwarding) und mich dann einlogge, linkt der nach dem einloggen auf localhost/pfad und nicht auf die domain/ip. Dann muss ich immer manuell wieder die domain einsetzen.
Kann ich das irgendwie einfach lösen?

2.: Ich hab diese Music app installiert. Und ein paar lieder (560) reingeladen. Nun steht da seit Freitag Nachmittag unverändert "Untersuche... 24/560".
Der wird sich da wohl nen Index basteln, aber er hängt. Zeigt mir in der Music app auch nur die 24 Lieder an. Unter den Dateien zeigt er alles an. Wie krieg ich den Indexer wieder zum laufen?
 
Problem 1 konnte ich lösen, man musste in der config.php bei den trusted domains die externe ip/domain henterlegen.

Das 2. Problem konnte ich allerdings immer noch nicht lösen.
 
Ich wuerde mal schauen, ob es am Encoding der Ttitelnamen haengt (Sonderzeichen, Zeichenmuell).
 
naja, der macht ja irgendwie auch einfach nicht weiter. Müsste das "einlesen" ja irgendwie neu starten können.
 
Hab die Mukke mal aus dem music Verzeichnis geschoben und dann wieder rein gemoved. Hat sich noch 1-2 mal aufgehangen, dann hab ich mal mit weniger Liedern probiert und nun ists drin.
Leider spielt die App nur mp3s (und vielleicht noch n paar andere) aber meine .flacs nicht.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh