1 Answer
1

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.