ftpd.8
上传用户:zibowangxu
上传日期:2007-01-04
资源大小:331k
文件大小:13k
- ."
- ." Copyright (c) 1999 WU-FTPD Development Group.
- ." All rights reserved.
- ."
- ." Portions Copyright (c) 1980, 1985, 1988, 1989, 1990, 1991, 1993, 1994
- ." The Regents of the University of California. Portions Copyright (c)
- ." 1993, 1994 Washington University in Saint Louis. Portions Copyright
- ." (c) 1996, 1998 Berkeley Software Design, Inc. Portions Copyright (c)
- ." 1998 Sendmail, Inc. Portions Copyright (c) 1983, 1995, 1996, 1997 Eric
- ." P. Allman. Portions Copyright (c) 1989 Massachusetts Institute of
- ." Technology. Portions Copyright (c) 1997 Stan Barber. Portions
- ." Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997 Free Software
- ." Foundation, Inc. Portions Copyright (c) 1997 Kent Landfield.
- ."
- ." Use and distribution of this software and its source code are governed
- ." by the terms and conditions of the WU-FTPD Software License ("LICENSE").
- ."
- ." $Id: ftpd.8,v 1.7 1999/09/02 21:01:13 wuftpd Exp $
- ."
- .TH FTPD 8 "Jan 10, 1997"
- .UC 5
- .SH NAME
- ftpd - Internet File Transfer Protocol server
- .SH SYNOPSIS
- .B ftpd
- [
- .B -d
- ] [
- .B -v
- ] [
- .B -l
- ] [
- .BR -t
- timeout
- ] [
- .BR -T
- maxtimeout
- ] [
- .BR -a
- ] [
- .BR -A
- ] [
- .BR -L
- ] [
- .BR -i
- ] [
- .BR -I
- ] [
- .BR -o
- ] [
- .BR -p
- ctrlport
- ] [
- .BR -P
- dataport
- ] [
- .BR -q
- ] [
- .BR -Q
- ] [
- .BR -r
- rootdir
- ] [
- .BR -s
- ] [
- .BR -S
- ] [
- .BR -u
- umask
- ] [
- .BR -V
- ] [
- .BR -w
- ] [
- .BR -W
- ] [
- .BR -X
- ]
- .SH DESCRIPTION
- .I Ftpd
- is the Internet File Transfer Protocol
- server process. The server uses the TCP protocol
- and listens at the port specified in the ``ftp''
- service specification; see
- .IR services (5).
- .PP
- The
- .B -V
- option causes the program to display copyright and version information, then
- terminate.
- .PP
- If the
- .B -d
- or
- .B -v
- option is specified,
- debugging information is written to the syslog.
- .PP
- If the
- .B -l
- option is specified,
- each ftp session is logged in the syslog.
- .PP
- The ftp server
- will timeout an inactive session after 15 minutes.
- If the
- .B -t
- option is specified,
- the inactivity timeout period will be set to
- .I timeout
- seconds.
- A client may also request a different timeout period;
- the maximum period allowed may be set to
- .I timeout
- seconds with the
- .B -T
- option.
- The default limit is 2 hours.
- .PP
- If the
- .B -a
- option is specified, the use of the
- .IR ftpaccess (5)
- configuration file is enabled.
- .PP
- If the
- .B -A
- option is specified, use of the
- .IR ftpaccess (5)
- configuration file is disabled. This is the default.
- .PP
- If the
- .B -L
- option is specified, commands sent to the
- .IR ftpd (8)
- server will be logged to the syslog. The
- .B -L
- option is overridden by the use of the
- .IR ftpaccess (5)
- file. If the
- .B -L
- flag is used, command logging will be on by
- default as soon as the ftp server is invoked.
- This will cause the server to log all USER
- commands, which if a user accidentally enters a
- password for that command instead of the
- username, will cause passwords to be logged via syslog.
- .PP
- If the
- .B -i
- option is specified, files received by the
- .IR ftpd (8)
- server will be logged to the
- .IR xferlog (5).
- The
- .B -i
- option is overridden by the use of the
- .IR ftpaccess (5)
- file.
- .PP
- The
- .B -I
- option disables the use of RFC931 (AUTH/ident) to attempt to determine the
- username on the client.
- .PP
- If the
- .B -o
- option is specified, files transmitted by the
- .IR ftpd (8)
- server will be logged to the
- .IR xferlog (5).
- The
- .B -o
- option is overridden by the use of the
- .IR ftpaccess (5)
- file. If the
- .B -X
- option is specified, the output created by the
- .B -i
- and
- .B -o
- options is not saved to the xferlog file but saved via syslog
- so you can collect output from several hosts on one central loghost.
- .PP
- If the
- .B -u
- option is specified, the default umask is set to
- .I umask.
- .PP
- If the
- .B -W
- option is specified user logins are not recorded in the wtmp file. The
- default (
- .B -w
- ) is to record every login and logout.
- .PP
- The
- .B -s
- and
- .B -S
- options place the daemon in standalone operation mode. The
- .B -S
- option runs the daemon in the background and is useful in startup scripts
- during system initialization (ie., in rc.local). The
- .B -s
- option leaves the daemon in foreground and is useful when running from init
- (ie., /etc/inittab).
- .PP
- The
- .B -p
- and
- .B -P
- options override the port numbers used by the daemon. Normally, the daemon
- determines the port numbers by looking in /etc/services for "ftp" and "ftp-data".
- If there is no /etc/services entry for "ftp-data" and the
- .B -P
- option is not specified, the daemon uses the port just prior to the control connection
- port.
- The
- .B -p
- option is only available if running as a standalone daemon.
- .PP
- The
- .B -q
- and
- .B -Q
- options deterine whether the daemon uses the PID files. These files are required by the
- limit directive to determine the number of current users in each access class. Disabling
- the use of the PID files disables user limits. The default (
- .B -q
- ) is to use the PID files. Specify
- .B -Q
- when testing the server as a normal user when access permissions prevent the use of the PID files.
- Large, busy sites which do not wish to impose limits on the number of concurrent users may also consider
- disabling the PID files.
- .PP
- The
- .B -r
- option instructs the daemon to chroot(2) to the specified rootdir immedeately upon loading. This can
- improve system security by limiting the files which may be damaged should a breakin occur through the
- daemon. Set is much like anonymous FTP, with additional files needed which vary from system to system.
- .PP
- The ftp server currently supports the following ftp
- requests; case is not distinguished.
- .PP
- .nf
- .ta w'Request 'u
- fBRequest DescriptionfP
- 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 -lgA'')
- MKD make a directory
- MDTM show last modification time of file
- MODE specify data transfer fImodefP
- NLST give name list of files in directory
- 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
- REST restart incomplete transfer
- RETR retrieve a file
- RMD remove a directory
- RNFR specify rename-from file name
- RNTO specify rename-to file name
- SITE non-standard commands (see next section)
- SIZE return size of file
- STAT return status of server
- STOR store a file
- STOU store a file with a unique name
- STRU specify data transfer fIstructurefP
- SYST show operating system type of server system
- TYPE specify data transfer fItypefP
- USER specify user name
- XCUP change to parent of current working directory (deprecated)
- XCWD change working directory (deprecated)
- XMKD make a directory (deprecated)
- XPWD print the current working directory (deprecated)
- XRMD remove a directory (deprecated)
- .fi
- .PP
- The following non-standard or UNIX specific commands are supported
- by the SITE request.
- .PP
- .nf
- .ta w'Request 'u
- fBRequest DescriptionfP
- UMASK change umask. fIE.g.fP SITE UMASK 002
- IDLE set idle-timer. fIE.g.fP SITE IDLE 60
- CHMOD change mode of a file. fIE.g.fP SITE CHMOD 755 filename
- HELP give help information. fIE.g.fP SITE HELP
- NEWER list files newer than a particular date
- MINFO like SITE NEWER, but gives extra information
- GROUP request special group access. fIE.g.fP SITE GROUP foo
- GPASS give special group access password. fIE.g.fP SITE GPASS bar
- EXEC execute a program. fIE.g.fP SITE EXEC program params
- .fi
- .PP
- The remaining ftp requests specified in Internet RFC 959 are
- recognized, but not implemented.
- MDTM and SIZE are not specified in
- RFC 959, but will appear in the next updated FTP RFC.
- .PP
- 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.
- If a STAT command is received during a data transfer, preceded by a Telnet IP
- and Synch, transfer status will be returned.
- .PP
- .I Ftpd
- interprets file names according to the ``globbing''
- conventions used by
- .IR csh (1).
- This allows users to utilize the metacharacters ``*?[]{}~''.
- .PP
- .I Ftpd
- authenticates users according to four rules.
- .IP 1)
- The user name must be in the password data base,
- .IR /etc/passwd ,
- or whatever is appropriate for the operating system,
- and the password must not be null. In this case a password
- must be provided by the client before any file operations
- may be performed.
- .IP 2)
- The user name must not appear in the file
- .IR /etc/ftpusers .
- .IP 3)
- The user must have a standard shell returned by
- .IR getusershell (3).
- .IP 4)
- 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).
- .PP
- In the last case,
- .I ftpd
- takes special measures to restrict the client's access privileges.
- The server performs a
- .IR chroot (2)
- 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.
- .IP ~ftp)
- Make the home directory owned by super-user and unwritable by anyone.
- .IP ~ftp/bin)
- Make this directory owned by the super-user and unwritable by
- anyone. The program
- .IR ls (1)
- must be present to support the list command. This
- program should have mode 111.
- .IP ~ftp/etc)
- Make this directory owned by the super-user and unwritable by
- anyone. The files
- .IR passwd (5)
- and
- .IR group (5)
- must be present for the
- .I ls
- command to be able to produce owner names rather than numbers. Depending
- on the operating system, there may be other required files. Check your
- manual page for the
- .IR getpwent (3)
- library routine.
- The password field in
- .I passwd
- is not used, and should not contain real encrypted passwords.
- These files should be mode 444 and owned by the super-user.
- Don't use the system's /etc/passwd file as the password file or
- the system's /etc/group file as the group file in the ~ftp/etc directory.
- .IP ~ftp/pub)
- Create a subdirectory in ~ftp/pub
- with the appropriate mode (777 or 733) if you want to allow normal
- users to upload files.
- .PP
- .SH AUTHENTICATION MECHANISM ON BSD/OS SYSTEMS ONLY
- The authentication mechanism used by ftpd is determined by
- the ``auth-ftp'' entry in the
- .IR /etc/login.conf
- file
- (see
- .IR login.conf (5))
- that matches the users class.
- If there is no ``auth-ftp'' entry for the class, the normal ``auth'' entry
- will be used instead.
- An alternate authentication mechanism may be specified by
- appending a colon (``:'') followed by the authentication
- style, i.e. ``joe:skey''.
- .SH GENERAL FTP EXTENSIONS
- .PP
- There are some extensions to the FTP server such that if the user
- specifies a filename (when using a RETRIEVE command) such that:
- .PP
- .nf
- True Filename Specified Filename Action
- ------------- ------------------ -----------------------------------
- <filename>.Z <filename> Decompress file before transmitting
- <filename> <filename>.Z Compress <filename> before
- transmitting
- <filename> <filename>.tar Tar <filename> before transmitting
- <filename> <filename>.tar.Z Tar and compress <filename> before
- transmitting
- .fi
- .PP
- Also, the FTP server will attempt to check for valid e-mail addresses and
- chide the user if he doesn't pass the test. For users whose FTP client
- will hang on "long replies" (i.e. multiline responses), using a dash as
- the first character of the password will disable the server's lreply()
- function.
- .PP
- The FTP server can also log all file transmission and reception,
- keeping the following information for each file transmission that takes
- place.
- .PP
- .nf
- Mon Dec 3 18:52:41 1990 1 wuarchive.wustl.edu 568881 /files.lst.Z a _ o a chris@wugate.wustl.edu ftp 0 *
- %.24s %d %s %d %s %c %s %c %c %s %s %d %s
- 1 2 3 4 5 6 7 8 9 10 11 12 13
- 1 current time in the form DDD MMM dd hh:mm:ss YYYY
- 2 transfer time in seconds
- 3 remote host name
- 4 file size in bytes
- 5 name of file
- 6 transfer type (a>scii, b>inary)
- 7 special action flags (concatenated as needed):
- C file was compressed
- U file was uncompressed
- T file was tar'ed
- _ no action taken
- 8 file was sent to user (o>utgoing) or received from
- user (i>ncoming)
- 9 accessed anonymously (r>eal, a>nonymous, g>uest) -- mostly for FTP
- 10 local username or, if guest, ID string given
- (anonymous FTP password)
- 11 service name ('ftp', other)
- 12 authentication method (bitmask)
- 0 none
- 1 RFC931 Authentication
- 13 authenticated user id (if available, '*' otherwise)
- .fi
- .SH "SEE ALSO"
- .BR ftp(1) ,
- .BR getusershell(3) ,
- .BR syslogd(8) ,
- .BR ftpaccess(5) ,
- .BR xferlog(5) ,
- .BR umask(2)
- .SH BUGS
- The anonymous account is inherently dangerous and should
- avoided when possible.
- .PP
- The server must run as the super-user
- to create sockets with privileged port numbers. It maintains
- an effective user id of the logged in user, reverting to
- the super-user only when binding addresses to sockets. The
- possible security holes have been extensively
- scrutinized, but are possibly incomplete.