%general-entities; ]> $LastChangedBy$ $Date$ vsftpd-&vsftpd-version; vsftpd Introduction to vsftpd The vsftpd package contains a very secure and very small FTP daemon. This is useful for serving files over a network. &lfs78_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &vsftpd-md5sum; Download size: &vsftpd-size; Estimated disk space required: &vsftpd-buildsize; Estimated build time: &vsftpd-time; vsftpd Dependencies Optional , , and User Notes: Installation of vsftpd For security reasons, running vsftpd as an unprivileged user and group is encouraged. Also, a user should be created to map anonymous users. As the root user, create the needed directories, users, and groups with the following commands: install -v -d -m 0755 &vsftpd-empty; && install -v -d -m 0755 /home/ftp && groupadd -g 47 vsftpd && groupadd -g 45 ftp && useradd -c "vsftpd User" -d /dev/null -g vsftpd -s /bin/false -u 47 vsftpd && useradd -c anonymous_user -d /home/ftp -g ftp -s /bin/false -u 45 ftp If you did not install the optional libcap2 package, run the following to avoid a build error: sed -i -e 's|#define VSF_SYSDEP_HAVE_LIBCAP|//&|' sysdeputil.c Build vsftpd as an unprivileged user using the following command: make This package does not come with a test suite. Once again, become the root user and install vsftpd with the following commands: install -v -m 755 vsftpd /usr/sbin/vsftpd && install -v -m 644 vsftpd.8 /usr/share/man/man8 && install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 && install -v -m 644 vsftpd.conf /etc Command Explanations install -v -d ...: This creates the directory that anonymous users will use (/home/ftp) and the directory the daemon will chroot into (&vsftpd-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 -v -m ...: The Makefile uses non-standard installation paths. These commands install the files in /usr and /etc. Configuring vsftpd Config Files /etc/vsftpd.conf /etc/vsftpd.conf Configuration Information vsftpd comes with a basic anonymous-only configuration file that was copied to /etc above. While still as root, this file should be modified because it is now recommended to run vsftpd in standalone mode. Also, you should specify the privilege separation user created above. Finally, you should 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=&vsftpd-empty; EOF Boot Script Install the /etc/rc.d/init.d/vsftpd init script included in the package. make install-vsftpd Contents Installed Program Installed Libraries Installed Directories vsftpd None //usr/share/vsftpd, /home/ftp Short Descriptions vsftpd is the FTP daemon. vsftpd