I've installed pureFTPd, with a mysql database on a debian distribution. I used the following tutorial.

But now if I'm logging, I see that I'm in the /Data/www/MyUserDirectory. AND I can browse to /.

How can I avoid that the user user see any other directory than the one specified as mapped directory(and their subdirectory/files).

I think this is called "FTP User isolation, but I can't find anything about this with pureFtp

I know there is -A option, but I absolutely don't know where to put this since the script is launch through the default init.d script

EDIT: Finally it was the "echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone" that I missed


What you are looking for is called 'chroot'. A user is typically able to browse all the directories up to the root directory (since most directories have read and execute permissions for 'other'). Chroot allows you to change the root directory - so that a user cannot go above a certain directory. Pure-ftpd has the 'ChrootEveryone' directive for this, which will cage each user in their home directory.

Although PureFTPd does not read a config file (it is fully configured via the parameters passed to it), most distributions support the use of a config file which is processed into the necessary parameters. A script (pure-config.pl) will do this conversion, and launch PureFTPd with the correct parameters. Therefore, if your init script uses pure-config.pl, you need to only set the directive in pure-ftpd.conf (usually in /etc/pure-ftpd). If you use the command line parameters directly, simply add -A to the command when you are starting pure-ftpd (or add it to your init script).

The Pure-FTPd FAQs go into detail about the setup and available variations.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.