%general-entities; ]> $LastChangedBy$ $Date$ <application>Pro<acronym>FTP</acronym>D</application>-&proftpd-version; Proftpd Introduction to <application>Pro<acronym>FTP</acronym>D</application> The ProFTPD package contains a secure and highly configurable FTP daemon. This is useful for serving large file archives over a network. Package information Download (HTTP): Download (FTP): Download MD5 sum: &proftpd-md5sum; Download size: &proftpd-size; Estimated disk space required: &proftpd-buildsize; Estimated build time: &proftpd-time; <application>Pro<acronym>FTP</acronym>D</application> dependencies Optional Installation of <application>Pro<acronym>FTP</acronym>D</application> For security reasons, you should install ProFTPD using an unprivileged user and group. As the root user: groupadd proftpd && useradd -c proftpd -d /home/ftp -g proftpd \ -s /usr/lib/proftpd/proftpdshell proftpd && install -d -m775 -o proftpd -g proftpd /usr/lib/proftpd && ln -s /bin/false /usr/lib/proftpd/proftpdshell && echo /usr/lib/proftpd/proftpdshell >> /etc/shells Install ProFTPD as a regular user by running the following commands: install_user=proftpd install_group=proftpd \ ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var/run && make Now, again as the root user: make install Command explanations install -d -m775 -o proftpd -g proftpd /usr/lib/proftpd: Create the home directory for ProFTPD. ln -s /bin/false /usr/lib/proftpd/proftpdshell: Set the default shell as a link to a invalid shell. echo /usr/lib/proftpd/proftpdshell >> /etc/shells: Fake a valid shell for compatability purposes. The above three commands can be ommitted if the following directive is placed in the configuration file: RequireValidShell off By default, proftpd will require that users logging in have valid shells. The RequireValidShell directive turns off this requirement. This is only recommended if you are setting up your FTP server exclusively for anonymous downloads. install_user=proftpd install_group=proftpd: Specify the user and group identity for ProFTPD. --sysconfdir=/etc: This prevents the configuration files from going to /usr/etc. --localstatedir=/var/run: This uses /var/run instead of /usr/var for lock files. Configuring <application>Pro<acronym>FTP</acronym>D</application> proftpd init.d script proftpd Install the /etc/rc.d/init.d/proftpd init script included in the package. make install-proftpd Config files /etc/proftpd.conf /etc/proftpd.conf Configuration information This is a simple, download-only sample configuration. See the ProFTPD documentation in /usr/share/doc/proftpd and consult the website at for example configurations. cat > /etc/proftpd.conf << "EOF" # This is a basic ProFTPD configuration file # It establishes a single server and a single anonymous login. ServerName "ProFTPD Default Installation" ServerType standalone DefaultServer on # Port 21 is the standard FTP port. Port 21 # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User proftpd Group proftpd # Normally, files should be overwritable. <Directory /*> AllowOverwrite on </Directory> # A basic anonymous configuration, no upload directories. <Anonymous ~proftpd> User proftpd Group proftpd # Clients should be able to login with "anonymous" as well as "proftpd" UserAlias anonymous proftpd # Limit the maximum number of anonymous logins MaxClients 10 # 'welcome.msg' should be displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot <Limit WRITE> DenyAll </Limit> </Anonymous> EOF Contents Installed Programs Installed Libraries Installed Directory ftpcount, ftpdctl, ftptop, ftpwho, ftpshut, proftpd None /var/run/proftpd Short Descriptions proftpd is the FTP daemon. proftpd ftpcount shows the current number of connections. ftpcount ftpshut shuts down all proftpd servers at a given time. ftpshut ftptop displays running status on connections. ftptop ftpwho shows current process information for each session. ftpwho