74 lines
3.0 KiB
HTML
74 lines
3.0 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
|
<TITLE>FTP mini-HOWTO: FTP Servers</TITLE>
|
|
<LINK HREF="FTP-5.html" REL=previous>
|
|
<LINK HREF="FTP.html#toc6" REL=contents>
|
|
</HEAD>
|
|
<BODY>
|
|
Next
|
|
<A HREF="FTP-5.html">Previous</A>
|
|
<A HREF="FTP.html#toc6">Contents</A>
|
|
<HR>
|
|
<H2><A NAME="s6">6. FTP Servers</A></H2>
|
|
|
|
<H2><A NAME="ss6.1">6.1 How an FTP Server works</A>
|
|
</H2>
|
|
|
|
<P>A traditional FTP server is executed from inetd (the internet superserver
|
|
daemon). The standard FTP port is port 21. When a user tries to log in, the
|
|
FTP server uses a standard system call to check the user name and password
|
|
against the entries in the system password file, or the NIS tables if you
|
|
are using NIS. If the login is correct, the user is given access to the
|
|
system.
|
|
<P>
|
|
<P>Anonymous FTP works differently. The user logs in with either the anonymous
|
|
or the ftp username (this can be defined in the config file). He is then
|
|
given access to a directory tree that has been chroot()'ed. This ensures
|
|
that the user can not gain access to directory trees he is not authorized
|
|
for. The chrooted directory tree usually contains a mock filesystem, with
|
|
bin/, etc/, and lib/ directories. The files for download are usually put in
|
|
the pub/ directory.
|
|
<P>
|
|
<P>The reason for a mock filesystem in an anonymous FTP tree is that the FTP
|
|
daemon runs external commands for ls requests. You can also place additional
|
|
programs in the bin directory, and a user can run them with the SITE command
|
|
in his ftp client. For example, Red Hat's FTP includes the RPM command (for
|
|
users to query RPM packages on the site).
|
|
<P>
|
|
<P>Some FTP servers work differently. For example, some will allow user
|
|
accounts to be set up independant of the system-wide password file (FTP-only
|
|
accounts). Some servers (ProFTPD and NcFTPd for instance) have built-in ls commands and
|
|
do not need a special directory tree within the chroot structure. Other ftp
|
|
servers stray altogether from the standard ftp concept. FTP4ALL, for
|
|
example, does not use system passwords at all. It uses it's own user and
|
|
group file, and has features such as upload/download ratio and customizable
|
|
server messages.
|
|
<P>
|
|
<H2><A NAME="ss6.2">6.2 Help with FTP Servers</A>
|
|
</H2>
|
|
|
|
<H3>WU-FTPD</H3>
|
|
|
|
<P>WU-FTPD is the ftp daemon included with many Linux distributions,
|
|
including Red Hat and Caldera. You can learn more about WU-FTPD at
|
|
<A HREF="http://www.wu-ftpd.org">http://www.wu-ftpd.org</A>.
|
|
<P>
|
|
<P>The WU-FTPD FAQ can be found on the web at
|
|
<A HREF="http://www.cetis.hvu.nl/~koos/wu-ftpd-faq.html">http://www.cetis.hvu.nl/~koos/wu-ftpd-faq.html</A>.
|
|
<P>
|
|
<H3>ProFTPD</H3>
|
|
|
|
<P>ProFTPD is a powerful FTP server that includes Apache-style
|
|
configuration, extensive support for virtual hosts, and internal ls.
|
|
<P>
|
|
<P>A complete command reference and downloads can be found at
|
|
<A HREF="http://www.proftpd.org">http://www.proftpd.org</A><P>
|
|
<HR>
|
|
Next
|
|
<A HREF="FTP-5.html">Previous</A>
|
|
<A HREF="FTP.html#toc6">Contents</A>
|
|
</BODY>
|
|
</HTML>
|