FTP-Server zur Inhaltsverteilung

FTP-Server zur Inhaltsverteilung

Ich muss einen FTP-Server einrichten, um verschiedene Versionen eines Softwarepakets an mehrere Benutzerkonten zu verteilen.

Um das Kopieren der Dateien in den FTP-Basisordner jedes Benutzers zu vermeiden, möchte ich eine „gemeinsame Dateiumgebung“ mit symbolischen Links einrichten und dabei eine Struktur wie diese verwenden:

/
...
+-- srv
    +-- ftp
        +-- data
            +-- V1
                +-- Latest            -> /srv/ftp/data/V1/V1.3
                +-- V1.1
                +-- V1.2
                +-- V1.3
            +-- V2
                +-- Latest            -> /srv/ftp/data/V2/V2.2
                +-- V2.1
                +-- V2.2
            +-- V3
                +-- Latest            -> /srv/ftp/data/V3/V3.1
                +-- V3.1
        +-- users
            +-- user1
                +-- V3                -> /srv/ftp/data/V3/Latest
            +-- user2
                +-- V2                -> /srv/ftp/data/V2/Latest
            +-- user3

Jede Version ist ein Ordner mit mehreren Dateien und Unterordnern.

Ich verwende eine Linux-Box (CentOS 7) mit vsftpd. Mein Problem tritt auf, wenn ich versuche, den Benutzerzugriff auf seinen Home-Ordner zu beschränken. Der Server lässt das Folgen des Links außerhalb des Benutzerordners nicht zu.

Beispielsweise möchte ich, dass Benutzer1 nur den Ordner V3 und seinen Inhalt (mit Unterordnern) sieht.

Die Frage ist also: Ist dies der richtige Ansatz? Wenn ja, wie kann man es zum Laufen bringen? Wenn nicht, welcher Ansatz wäre für so etwas zu empfehlen?

Antwort1

Generell gilt: Verwenden Sie zur Inhaltsverteilung nicht mehr das alte FTP-Protokoll.


Als Alternative zu symbolischen Links können Sie einen"Binden"-Halterungum einen Teil Ihres Dateisystems an anderer Stelle zu replizieren, beispielsweise in der persönlichen Verzeichnishierarchie eines Benutzers. Bind-Mounts sollten Chroot-Eingrenzungsstrategien nicht beeinträchtigen.

Die folgende Syntax ist gleichwertig:

mount --bind /srv/ftp/data/V3/Latest /srv/ftp/users/user1/V3
mount -o bind srv/ftp/data/V2/Latest /srv/ftp//users/user2/V2

Erstellen Sie die zugehörigen Einträge, /etc/fstabum dies auch nach Neustarts bestehen zu lassen.

verwandte Informationen