%general-entities; ]> $LastChangedBy$ $Date$ vsFTPD-&vsftpd-version; Introduction to vsFTPD The vsFTPD package contains a very secure and very small FTP daemon. This is useful for serving files over a network. Package information Download (HTTP): Download (FTP): Download size: &vsftpd-size; Estimated Disk space required: &vsftpd-buildsize; Estimated build time: &vsftpd-time; <application>vsFTPD</application> dependencies Optional , , and Installation of <application>vsFTPD</application> For security reasons, running vsFTPD as an unprivileged user and group is encouraged. Also, we need a user to map anonymous users to. install -d -m 0755 /var/ftp/empty && install -d -m 0755 /home/ftp && groupadd vsftpd && useradd -d /dev/null -g vsftpd -s /bin/false vsftpd && groupadd ftp && useradd -c anonymous_user -d /home/ftp -g ftp -s /bin/false ftp Install vsFTPD by running the following commands: make && install -m 755 vsftpd /usr/sbin/vsftpd && install -m 644 vsftpd.8 /usr/share/man/man8 && install -m 644 vsftpd.conf.5 /usr/share/man/man5 && install -m 644 vsftpd.conf /etc Command explanations install -d [...]: This creates the directory that anonymous users will use (/home/ftp) and the directory the daemon will chroot into (/var/ftp/empty). /home/ftp should not be owned by the user vsftpd, or the user ftp. echo "#define VSF_BUILD_TCPWRAPPERS" >>builddefs.h: Use this prior to make to add support for tcpwrappers. echo "#define VSF_BUILD_SSL" >>builddefs.h: Use this prior to make to add support for SSL. install -m [...]: The Makefile hardwires /usr/local (if it exists). We want the files in /usr. Configuring <application>vsFTPD</application> vsftpd init.d script Install the /etc/rc.d/init.d/vsftpd init script included in the package. make install-vsftpd Config files /etc/vsftpd.conf vsFTPD comes with a basic anonymous-only configuration file that was copied to /etc above. We will modify this file because it is now recommended to run vsFTPD in standalone mode as opposed to inetd/xinetd mode. Also, we need to specify the priviledge separation user we created above. Finally, we need to specify the chroot directory. man vsftpd.conf will give you all the details. cat >> /etc/vsftpd.conf << "EOF" background=YES listen=YES nopriv_user=vsftpd secure_chroot_dir=/var/ftp/empty EOF Contents The vsFTPD package contains vsftpd. Description vsftpd vsftpd is the daemon itself.