it-swarm.com.de

Benötigt ProFTPd, um dem symbolischen Link zu folgen

Ich habe 2 Ordner:

/var/www/project1/
/var/www/repository/module/

und ich habe diesen symbolischen Link:

/var/www/project1/module/News => /var/www/repository/module/News

Ich weiß, dass sich das Ziel außerhalb des FTP-Stammordners befindet. Aber ich möchte proFTPd so gestalten, dass es diesen symbolischen Link anzeigen und ihm folgen kann. Die Sicherheit ist KEINE Frage, wir verwenden dieses FTP im lokalen Netzwerk nur zu Entwicklungszwecken.


Ps .: Ich benutze auch GADMIN-PROFTPD und habe alles standardmäßig mit apt-get install installiert.

5
FMaz008

Falls noch jemand nach einer Antwort sucht, lesen Sie in der Dokumentation von Proftpd nach:

Tricks zum Dateisystem Ein typisches Szenario ist ein Szenario, in dem "DefaultRoot ~" verwendet wird, um Benutzer auf ihre Home-Verzeichnisse zu beschränken, und in dem der Administrator ein freigegebenes Upload-Verzeichnis, z. B./var/ftp/incoming, im Home-Verzeichnis jedes Benutzers haben möchte. Symbolische Verknüpfungen werden normalerweise verwendet, um eine solche Anordnung bereitzustellen. Wie oben erwähnt, funktionieren Symlinks, die außerhalb des neuen Stammverzeichnisses (in diesem Fall das Basisverzeichnis des Benutzers) verweisen, nicht, wenn chroot (2) verwendet wird (wie dies die DefaultRoot-Direktive tut). Um diese offensichtliche Einschränkung zu umgehen, ist es bei modernen Betriebssystemen möglich, Verzeichnisse an mehreren Stellen im Dateisystem bereitzustellen.

Verwenden Sie einen der folgenden Befehle, um ein genaues Duplikat des Verzeichnisses/var/ftp/incoming in/home/bob/incoming und/home/dave/incoming zu erhalten:

Linux (as of the 2.4.0 kernel):

  mount --bind /var/ftp/incoming /home/bob/incoming
  mount --bind /var/ftp/incoming /home/dave/incoming

or, alternatively:

  mount -o bind /var/ftp/incoming /home/bob/incoming
  mount -o bind /var/ftp/incoming /home/dave/incoming

BSD (as of 4.4BSD):

  mount_null /var/ftp/incoming /home/bob/incoming
  mount_null /var/ftp/incoming /home/dave/incoming

Solaris:

  mount -F lofs /var/ftp/incoming /home/bob/incoming
  mount -F lofs /var/ftp/incoming /home/dave/incoming

Dieselbe Technik kann für Verzeichnisse verwendet werden, die auch in einer chroot () -Umgebung arbeiten. Außerdem sollte es möglich sein, bestimmte Dateien zusätzlich zu Verzeichnissen auf diese Weise bereitzustellen, falls dies erforderlich sein sollte (ein Verzeichnis ist nur eine andere Datei in Unix).

Weitere Informationen finden Sie wie gewohnt in den Manpages für den entsprechenden Befehl für Ihre Plattform. Die Befehle für andere Unix-Versionen werden nach Bedarf hinzugefügt.

Damit diese Tricks bestehen bleiben und ein Neustart des Systems überlebt, müssen diese Bereitstellungen möglicherweise in der Datei/etc/fstab (oder/etc/vfstab) hinzugefügt werden. Weitere Informationen finden Sie in den Manpages zu fstab (5) (oder vfstab (4) für Solaris).

8
Kinder

Ich denke, Sie müssen den DefaultRoot-Pfad lockerer machen. Leider kann proftpd keine Symlinks außerhalb dieses Chroot-Gefängnisses verarbeiten. Sie können also grundsätzlich symbolisch verknüpfen, jedoch nur innerhalb des DefaultRoot-Ordners.

4
Iradrian