HOWTO Setup vsftpd

From Research
Jump to navigation Jump to search

First, get the latest version in your portage tree:

server / # emerge --sync

Install vstfpd:

server / # emerge -v vsftpd

Copy the example configuration file as your template:

server / # cp /etc/vsftpd/vsftpd.conf.example /etc/vsftpd/vsftpd.conf


Edit the configuration file with these additional switches:

server / # vi /etc/vsftpd/vsftpd.conf 


file_open_mode=0666

local_umask=0022

virtual_use_local_privs=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

idle_session_timeout=600

ascii_upload_enable=NO

ascii_download_enable=NO

tcp_wrappers=YES

data_connection_timeout=120

userlist_enable=YES

userlist_deny=NO


Enter user names who will be permitted to access the site:

server / # vi /etc/vsftpd/user_list 

Populate this file with the same values:

server / # vi /etc/vsftpd/vsftpd.ftpusers 

Start vsftpd at boot:

server / # rc-update vsftpd add default 

Start vsftpd:

server / # /etc/init.d/vsftpd start 


  • check for the presence of home directories, which vsftp uses as default.
  • no login is allowed to a user who does not have a home directory stipulated.



Set Up User(s) For Web directory FTP Access

Edit the home directory path of the user:

server / # vi /etc/passwd 

UserName:x:1001:1002::/var/www/www.web.iat.sfu.ca/:/bin/bash


Add a group to allow access to web directory:

server / # groupadd ftpaccess 

Add user name to web directory group

server / # usermod -a -G ftpaccess UserName 

Set appropriate rights to the web directory:

server / # chmod -R 775 www.web.iat.sfu.ca/ 

Recursively change the group of the web directory:

server / # chgrp -R ftpaccess www.web.iat.sfu.ca/ 

Stop and start Apache:

server / # /etc/init.d/apache stop start 

Stop and start vsftpd:

server / # /etc/init.d/vsftpd stop start 


Troubleshooting Commands

This command will display your vsftpd configuation:

server / # grep -vE "^#" /etc/vsftpd/*