CentOS – how to install vsftpd for specific username to have specific directory access only

centosftpvsftpd

I have VSFTPD installed in CentOS. Where i have one username "lesstrust1", when the user login i want the user only can upload/download to this path /var/www/html/oxwall

$ yum install vsfptd
$ chkconfig vsftpd on

How do i tell VSFTPD to do that?

EDIT:

I have tried following based on man but does not work.

$ vim /etc/vsftpd/config.conf
# end of the file new line added
user_config_dir=/etc/vsftpd

$ vim /etc/vsftpd/username1
local_root=/var/www/html/oxwall

$ service vsftpd restart

Now, when FTP is connected as username1 it does not go to /var/www/html/oxwall but username1 can browse whole system including / or /etc all.

Is this a BUG?

Best Answer

You should set "lesstrust1" users home directory to /var/www/html/oxwall.

usermod --home /var/www/html/oxwall lesstrust1

And add the following line to your vsftpd configuration file.

chroot_local_user=YES
Related Question