Donner aux utilisateurs ftp l'accès aux répertoires en dehors de leur racine à l'aide de liens symboliques

8

J'ai essayé de donner aux utilisateurs virtuels proftpd un accès à des répertoires en dehors de leurs chemins d'accès à l'aide de liens symboliques que j'ai créés en tant que root via la console.

/var/ftp/users/test est le domicile de l'utilisateur nommé test.
/var/ftp/files/documents est le répertoire qui contient les documents et /var/ftp/users/test/documents est le lien symbolique qui pointe vers lui.

Mais lorsqu'un utilisateur se connecte au FTP et essaie de suivre le lien symbolique, il ne voit que cette erreur:

documents: No such file or directory

Qu'est-ce que je fais mal?

Sebastián Grignoli
la source

Réponses:

21

Les liens symboliques sont enfermés dans la prison de la même manière que l'utilisateur; sinon, il serait possible pour l'utilisateur de sortir de la prison avec cd documents. (Non, les liens symboliques créés par la racine ne peuvent pas être traités spécialement, pour la même raison qui cd -P symlink-to-dir; cd ..vous laisse au mauvais endroit; l'apparence de cela fonctionne comme vous vous y attendez est une illusion créée par le shell.) Utilisez plutôt un montage de liaison ( mount --bind /var/ftp/files/documents /var/ftp/users/test/documents).

geekosaure
la source
Cela doit être fait à chaque redémarrage du serveur, non?
Sebastián Grignoli
1
Oui; vous voudrez le mettre /etc/fstab.
geekosaur
7
Juste par exemple pour aider quelqu'un d'autre, voici les quivelants mount et fstab: mount mount --bind /path/to/original/directory /path/to/mountpoint fstab /path/to/original/directory /path/to/mountpoint none bind 0 0
Benjamin Kaiser