vsFTPd è un demone FTP molto popolare e probabilmente uno tra i più sicuri da utilizzare nei sistemi operativi *nix. Da sicuramente molto peso alle implementazioni di sicurezza ed ha molte funzionalità configurabili.

Le implementazioni di sicurezza, però, hanno alcuni limiti. Uno di questi è l’uso di link simbolici: vsftpd non permette l’accesso alle cartelle che sono al di fuori dell’area utente (chroot), quindi non è possibile utilizzare i link simbolici (symlink).

Quindi, come ovviare al problema?

Il mount!

Vediamo un po’ come fare. La prima cosa è creare una cartella all’interno dell’area utente con

mkdir /ftp-area/userA/website

Passo successivo è montare la cartella a cui vuoi fare accedere l’utente nella cartella appena creata:

mount --bind /var/www/siteA /ftparea/userA/website

Questa soluzione permette l’accesso alla cartella esterna al chroot dell’utente senza compromettere la sicurezza di vsftpd.

In questo esempio, abbiamo creato una cartella in un’area dedicata agli account FTP e abbiamo resto disponibile la stessa cartella nell’area dedicata alla pubblicazione delle pagine web.

L’esempio è banale, ma ci consente di capire come funziona il mount.

È inoltre possibile rendere questa modifica permanente: è sufficiente aggiungerla al nostro file /etc/fstab che contiene tutti i mount point del nostro sistema.