172 lines
5.7 KiB
HTML
172 lines
5.7 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>ftpd(8)</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<H1>ftpd(8)</H1>
|
|
<HR>
|
|
<PRE>
|
|
|
|
</PRE>
|
|
<H2>NAME</H2><PRE>
|
|
ftpd, in.ftpd, setup.anonftp - DARPA Internet File Transfer Protocol
|
|
server
|
|
|
|
|
|
</PRE>
|
|
<H2>SYNOPSIS</H2><PRE>
|
|
<STRONG>ftp</STRONG> <STRONG>stream</STRONG> <STRONG>tcp</STRONG> <STRONG>nowait</STRONG> <STRONG>root</STRONG> <STRONG>/usr/sbin/in.ftpd</STRONG> <STRONG>in.ftpd</STRONG>
|
|
<STRONG>tcpd</STRONG> <STRONG>ftp</STRONG> <STRONG>/usr/sbin/in.ftpd</STRONG>
|
|
|
|
|
|
</PRE>
|
|
<H2>DESCRIPTION</H2><PRE>
|
|
<STRONG>Ftpd</STRONG> is the DARPA Internet File Transfer Prototocol server process. The
|
|
server uses the TCP protocol and listens at the port specified in the
|
|
``ftp'' service specification; see <STRONG><A HREF="../man5/services.5.html">services(5)</A></STRONG>.
|
|
|
|
The ftp server currently supports the following ftp requests; case is
|
|
not distinguished.
|
|
|
|
<STRONG>Request</STRONG> <STRONG>Description</STRONG>
|
|
ABOR abort previous command
|
|
ACCT specify account (ignored)
|
|
ALLO allocate storage (vacuously)
|
|
APPE append to a file
|
|
CDUP change to parent of current working directory
|
|
CWD change working directory
|
|
DELE delete a file
|
|
HELP give help information
|
|
LIST give list files in a directory (``ls -lA'')
|
|
MKD make a directory
|
|
MODE specify data transfer <EM>mode</EM>
|
|
NLST give name list of files in directory (``ls'')
|
|
NOOP do nothing
|
|
PASS specify password
|
|
PASV prepare for server-to-server transfer
|
|
PORT specify data connection port
|
|
PWD print the current working directory
|
|
QUIT terminate session
|
|
RETR retrieve a file
|
|
RMD remove a directory
|
|
RNFR specify rename-from file name
|
|
RNTO specify rename-to file name
|
|
STOR store a file
|
|
STOU store a file with a unique name
|
|
STRU specify data transfer <EM>structure</EM>
|
|
TYPE specify data transfer <EM>type</EM>
|
|
USER specify user name
|
|
XCUP change to parent of current working directory
|
|
XCWD change working directory
|
|
XMKD make a directory
|
|
XPWD print the current working directory
|
|
XRMD remove a directory
|
|
|
|
The remaining ftp requests specified in Internet RFC 959 are recognized,
|
|
but not implemented.
|
|
|
|
The ftp server will abort an active file transfer only when the ABOR
|
|
command is preceded by a Telnet "Interrupt Process" (IP) signal and a
|
|
Telnet "Synch" signal in the command Telnet stream, as described in
|
|
Internet RFC 959.
|
|
|
|
<STRONG>Ftpd</STRONG> interprets file names according to the ``globbing'' conventions used
|
|
by <STRONG><A HREF="../man1/csh.1.html">csh(1)</A></STRONG>. This allows users to utilize the metacharacters ``*?[]{}~''.
|
|
|
|
<STRONG>Ftpd</STRONG> authenticates users according to three rules.
|
|
|
|
1) The user name must be in the password data base, <STRONG>/etc/passwd</STRONG>, and
|
|
not have a null password. In this case a password must be provided
|
|
by the client before any file operations may be performed.
|
|
|
|
2) The user name must not appear in the file <STRONG>/etc/ftpusers</STRONG>.
|
|
|
|
3) If the user name is ``anonymous'' or ``ftp'', an anonymous ftp
|
|
account must be present in the password file (user ``ftp''). In
|
|
this case the user is allowed to log in by specifying any password
|
|
(by convention this is given as the client host's name).
|
|
|
|
In the last case, <STRONG>ftpd</STRONG> takes special measures to restrict the client's
|
|
access privileges. The server performs a <STRONG><A HREF="../man2/chroot.2.html">chroot(2)</A></STRONG> command to the home
|
|
directory of the ``ftp'' user. In order that system security is not
|
|
breached, it is recommended that the ``ftp'' subtree be constructed with
|
|
care; the following rules are recommended.
|
|
|
|
~ftp)
|
|
Make the home directory owned by ``ftp'' and unwritable by anyone.
|
|
|
|
~ftp/bin)
|
|
Make this directory owned by the super-user and unwritable by
|
|
anyone. The program <STRONG><A HREF="../man1/ls.1.html">ls(1)</A></STRONG> must be present to support the list
|
|
commands. This program should have mode 111.
|
|
|
|
~ftp/etc)
|
|
Make this directory owned by the super-user and unwritable by
|
|
anyone. The files <STRONG><A HREF="../man5/passwd.5.html">passwd(5)</A></STRONG> and <STRONG><A HREF="../man5/group.5.html">group(5)</A></STRONG> must be present for the <STRONG>ls</STRONG>
|
|
command to work properly. These files should be mode 444.
|
|
|
|
~ftp/pub)
|
|
Make this directory mode 755 and owned by the super-user. Create
|
|
directories in it owned by users if those users want to manage an
|
|
anonymous ftp directory.
|
|
|
|
|
|
|
|
~ftp/pub/incoming)
|
|
Optionally create this directory for anonymous uploads. Make it
|
|
mode 777. The FTP daemon will create files with mode 266, so remote
|
|
users can write a file, but only local users can do something with
|
|
it.
|
|
|
|
The script <STRONG>setup.anonftp</STRONG> can be used to create or check an anonymous FTP
|
|
tree.
|
|
|
|
|
|
</PRE>
|
|
<H2>SEE ALSO</H2><PRE>
|
|
<STRONG><A HREF="../man1/ftp.1.html">ftp(1)</A></STRONG>.
|
|
|
|
|
|
</PRE>
|
|
<H2>BUGS</H2><PRE>
|
|
The anonymous account is inherently dangerous and should avoided when
|
|
possible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</PRE>
|
|
</BODY>
|
|
</HTML>
|