From: Whirled.Peas on
The Linux Ware Weekly #20

Welcome to the Linux Ware Weekly, a series of posts intended to introduce
Linux users to software they may find useful for completing their various
tasks. Each week I plan to bring you a list of applications that are
suited to a certain task. I don't guarantee that the lists will be
exhaustive by any stretch. In fact I can guarantee that I will probably
overlook several applications since there are so many different programs
written for Linux and forks upon forks of the popular ones.

This week we are going to look at FTP Servers.

When I was a Windows user, I ran BulletProof FTP server (http://
www.builtbp.com/products/bpftpserver/windows) on my file server allowing
me access from work or other places and allowing me to serve map files to
the folks with whom I played Quake 3. When I switched to Linux, I went in
search of an FTP server that would suit my needs. I eventually settled on
Pureftpd and used it for quite some time. I have since gravitated away
from FTP services and now use sftp (ftp tunneled through an SSH
connection) so that I don't need an additional service running on the
server.

However, ftp servers have their uses, and there are MANY such programs
for Linux. Unless otherwise noted, the programs listed below are all CLI
driven. That is to say, they do not sport a GUI for configuration.


Pure FTP Server
Homepage: http://www.pureftpd.org/project/pure-ftpd
Pure FTP Server is a fast, production quality, standards-conformant FTP
server based on Troll-FTPd. It has no known vulnerability, it is trivial
to set up, and it is especially designed for modern kernels. Features
include PAM support, IPv6, chroot()ed home directories, virtual domains,
built-in 'ls', FXP protocol, anti-warez system, bandwidth throttling,
restricted ports for passive downloads, an LDAP backend, XML output, and
more.


ProFTPD
Homepage: http://www.proftpd.org/
ProFTPD is a proven, high-performance, scalable FTP server written from
scratch, with a focus toward simplicity, security, and ease of
configuration. Naturally, ProFTPD powers some of the largest sites on the
Internet. It features a very Apache-like configuration syntax, modules,
and a highly customizable server infrastructure, including support for
multiple 'virtual' FTP servers, anonymous FTP, and permission-based
directory visibility.


Vsftpd
Homepage: http://vsftpd.beasts.org/
vsftpd is a secure and fast FTP server for UNIX-like systems that is used
on many large and critical Internet sites. Its rich feature set includes
SSL encryption, IPv6, bandwidth throttling, PAM integration, virtual
users, virtual IPs and per-user / per-IP configuration.
NOTE: Vsftpd Webmin module is a Webmin module that configures the
vsftpd.conf file from your vsftpd FTP server. An experimental MySQL
backend for virtual user management is available.


bftpd
Homepage: http://bftpd.sourceforge.net/
bftpd is a very configurable Linux FTP server which can do chroot without
special configuration or directory preparation. It will work out-of-the-
box with almost no configuration required, and works on all Unix variants
tested. Most FTP commands are supported, and user authentication is done
via passwd/shadow or PAM. tar/gzip on-the-fly is supported.

Independent FTP Daemon
Homepage: http://edwardh.se/iftpd/
iFTPd is an FTP server that features platform independence, system
independence, ruggedness, and a virtual file system. The target audience
is those admins that need to be able to share files without having to
install several other programs and databases, and without having to
configure the rest of the system. IFTPD has graphical interface pages
accessible with a web browser.


Anonymous FTP Daemon
Homepage: http://www.aftpd.net/
Aftpd is an FTP server for anonymous access designed for Unix-like
operating systems. It uses an asynchronous model of connection processing
and provides service for all users within a single process; can use
multiple threads to run more efficiently on multi-core systems, with each
thread serving multiple clients simultaneously; uses effective mechanisms
of transferring files, minimizing copying of data in RAM (sendfile or a
combination of the system calls mmap/writev); uses effective event
notification schemes (kqueue on FreeBSD and epoll on Linux); uses poll or
select in older systems; and supports IPv6. For safety, it works as an
unprivileged user and uses chroot.


JSCAPE Secure FTP Server
Homepage: http://www.jscape.com/secureftpserver/
JSCAPE Secure FTP Server is a highly secure FTP server designed to
provide enterprise level secure file transfer capabilities. It is
platform-independent with installers for Windows, Linux, Solaris, and Mac
OS X.
JSCAPE does provide a GUI for configuration.


AnomicFTPD
Website: http://www.anomic.de/AnomicFTPServer/index.html
AnomicFTPD is an RFC959-compliant FTP server with OS- independent user
and group management. Active and passive modes, non-root mode, and
anonymous and/or read-only modes are supported. A built-in client IP
filter acts as a firewall and provides additional access limitation. The
server has no online interface; attributes, groups, and user accounts are
configured through text files. The protocol/ format-unspecified LIST
command produces output that is compatible with most FTP clients,
including common Web browsers in FTP mode.


CrossFTP Server
Homepage: http://www.crossftp.com/crossftpserver.htm
CrossFTP Server is a professional FTP server for multiple platforms. It
offers a high-performance, easily configurable, and, most of all, secure-
enabled FTP server. Its main advantage is that it is very easy to get
started by novice users, and meets advanced users' requirements as well.
It supports user virtual directories, write permissions, idle time-out,
and upload/download bandwidth limitations. You can monitor all user
activities. Both upload and download files are resumable. A database and
LDAP can be used to store user data. "MODE Z" is supported for faster
transfers.
NOTE: CrossFTP has a GUI for configuration.


CrushFTP
Homepage: http://www.crushftp.com/
CrushFTP supports the following protocols: FTP, FTPS, SFTP, HTTP, HTTPS,
WebDAV and WebDAV SSL. Additionally, although not a protocol, it has a
web interface for end users to manage their files from a web browser.
CrushFTP uses a GUI for administration, but also installs as a daemon on
Mac OS X, Linux, Unix, and as a service in Windows. It supports
multihoming, hot configuration changes, and has a GUI based user and
group manager. The plugin architecture in CrushFTP allows for plugins to
read users from SQL, LDAP, Active Directory, folders, and NetInfo. All
settings are stored in XML files that can be edited directly, or with the
CrushFTP GUI. If edited directly, CrushFTP will notice the modification
date change and load the settings immediately without needing a server
restart.
NOTE: CrushFTP is NOT freeware, it is shareware. I list it here as a
solution for those who want drop-dead simple configuration and are
willing to pay the scaled registration fee.


Glftpd
Homepage: http://www.glftpd.com/
glFTPd stands for GreyLine File Transfer Protocol Demon. It was named
after the initial developer GreyLine. The first public release of glFTPd
dates back to the beginning 1998. glFTPd is well known for its detailed
user permissions, extensive scripting features, extensive configurability
and for securely and efficiently transferring files between other sites
using FXP.



--
If you try, you can envision peas on earth.