I am trying to set up an intranet FTP server using vsftpd.
The goal is for a user to log in as themself (no anonymous access--uploaded files need to reflect their owner/group!) and be put into /var/ftp/pub by default. They should be able to go deeper into the tree (/var/ftp/pub/games) but not upward (/var/ftp/).
I have figured out how to make the user automatically go to /var/ftp/pub when logged in. The problem is that once logged in, they can see the contents of / if they traverse the filesystem. This is not what I want.
I tried setting chroot_local_user to yes, but that seems to negate the directive that specified the default directory-- / became the default directory after setting CLU to yes! From what I've observed, this directive would only work when trying to lock users into their /home directory anyway.
For an example of what I *am* looking to set up, check out ftp.microsoft.com (spare me
or mirror.nyi.net (CentOS mirror). On both sites, the user starts in "/" with a list of 10 or so folders they can access. They cannot go above "/" (obviously). The rest of the filesystem is not visible to the user.
Is vsftpd even capable of something like this, or do I need to start looking at other programs?