old-www/HOWTO/FTP-6.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>