• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Shared Directories FTP-Server

A

Anonymous

Gast
Hallo zusammen,

ich weiss jetzt keinen Rat mehr. Ich benutze den pure-Ftp-Server, der auch soweit funktioniert. Um jetzt nicht alle Daten zweimal auf meinem Rechner zu haben, habe ich im Verzeichnis /srv/ftp/nopublic/ einen symb. Link eingefügt, der zu einem VErzeichnis auf meine zweite Festplatte zeigt (/daten/Musik).
Unter dem Midnightcommander o. KDE klappt das auch wunderschön.
Nur wenn ich zu Testzwecken den gFtp-Clienten o. Browser nehme und dort den Link anklicke funktioniert es nicht.
Code:
 550 Can't open /nonpublic/Musik: No such file or directory
lautet die Fehlermeldung

-Link:
die Rechte sind auf 777
owner >meinusernamen<
group >user<

-Der Ordner auf den der Link zeigt:
Rechte sind auf 755
owner >meinusernamen<
group >user<

Wo liegt mein Fehler? Vielen Dank für eure Hilfe!

Gruss

Borusse-KLE


P.S.: Ich hoffe ich liege hier im Richtigen Forum - da ich ja mit der Konsole ja arbeite "ln -s ......."
 

snaewe

Hacker
Ich nehme mal an, der PureFTPd läuft in einer 'chroot' Umgebung.
Das, was er als '/' sieht ist also eigentlich '/srv/ftp'.
Ich denke, da wirst du mit Symlinks nicht weit kommen.

Stefan
 
OP
A

Anonymous

Gast
snaewe schrieb:
Ich nehme mal an, der PureFTPd läuft in einer 'chroot' Umgebung.
Das, was er als '/' sieht ist also eigentlich '/srv/ftp'.
Ich denke, da wirst du mit Symlinks nicht weit kommen.

Stefan

Hey an die chroot-Umgebung habe ich nicht gedacht. :oops:
Gibt es denn eine andere Lösung als symb. Links??

Gruss






@ Mod: ich denke, das das hier verschoben werden muss
 

snaewe

Hacker
Vielleicht hilft dir 'mount --bind' (s. 'man mount').
Aus der PureFTPD-FAQ
* Shared directories and chroot.

-> I have a directory, say /var/incoming, that I want to be shared by every
user. But I want my users to be chrooted. So /var/incoming should be visible
in 'joe' and 'john' accounts, but those are chrooted. So, how to have the
content of /var/incoming visible in these accounts?

Making a symbolic link won't work, because when you are chrooted, it means
that everything outside a base directory (your user's home directory) won't
be reachable, even though a symbolic link.

But all modern operating systems can mount local directories to several
locations. To have an exact duplicate of your /var/incoming directory
available in /home/john/incoming and /home/joe/incoming, use one of these
commands:

* Linux : mount --bind /var/incoming /home/john/incoming
mount --bind /var/incoming /home/joe/incoming

* Solaris : mount -F lofs /var/incoming /home/john/incoming
mount -F lofs /var/incoming /home/joe/incoming

* BSD : mount_null /var/incoming /home/john/incoming
mount_null /var/incoming /home/joe/incoming

Warning: FreeBSD's mount_null is broken and causes kernel crashes with all
FreeBSD systems prior to release 4.4 .

Another alternative is to compile Pure-FTPd with --with-virtualchroot as a
./configure option. With virtual chroot, symbolic links pointing outside a
chroot jail *are* followed.

Binary packages are compiled with this feature turned on.
Stefan
 
OP
A

Anonymous

Gast
B I N G O!!!!!! Yipeeeee

Das war es. Darauf wär ich aber nieeeee gekommen.
Danke für die Hilfe. Das macht das erheblich einfacher.

Gruss

Borusse-KLE

edit:

Um nicht jedesmal beim Booten die Mountbefehle einzugeben, habe ich dieses in meine fstab eingetragen:

Bsp:
/daten/Musik /srv/ftp/shared/Musik reiserfs rw,bind
 
Oben