HPUX ftpd[1m]






 ftpd(1M)                                                           ftpd(1M)

                  Requires Optional ARPA Services Software



 NAME
      ftpd - DARPA Internet File Transfer Protocol server

 SYNOPSIS
      /etc/ftpd [-l] [-t timeout] [-T maxtimeout] [-u umask]

 DESCRIPTION
      ftpd is the DARPA Internet File Transfer Protocol server.  It expects
      to be run by the Internet daemon; see inetd(1M) and inetd.conf(4).
      inetd runs ftpd when a service request is received at the port
      indicated in the ftp service specification in /etc/services; see
      services(4).

      The -l option causes each FTP session to be logged in the syslog.

      The -t option causes ftpd to timeout inactive sessions after timeout
      seconds.  By default, ftpd will timeout an inactive session after 15
      minutes.

      A client can also request a different timeout period.  The -T option
      sets to timeout the maximum timeout that client can request.  By
      default, the maximum timeout is 2 hours.

      By default, ftpd sets its umask to 027.  To change this default umask,
      use the -u option.

      ftpd currently supports the following commands (uppercase and
      lowercase are interpreted as equivalent):

           Command        Description
           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 -l)
           MKD            Make a directory
           MDTM           Show last modification time of file
           MODE           Specify data transfer mode
           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




 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 ftpd(1M)                                                           ftpd(1M)

                  Requires Optional ARPA Services Software



           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 structure
           SYST           Show operating system type of server system
           TYPE           Specify data transfer type
           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 following non-standard or HP-UX specific commands are supported by
      the SITE command:

           Command        Description
           UMASK          Change umask. (e.g., SITE UMASK 002)
           IDLE           Set idle-timer. (e.g., SITE IDLE 60)
           CHMOD          Change mode of a file. (e.g., SITE CHMOD 755
                          filename)
           HELP           Give help information. (e.g., SITE HELP)

      The remaining ftp requests specified in Internet RFC 959 are
      recognized, but not implemented.  MDTM and SIZE are not specified in
      RFC 959, but are expected in the next updated FTP RFC.

      The FTP server aborts 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 ftpd receives a STAT command during a data
      transfer, preceded by a Telnet IP and Synch, it returns the status of
      the transfer.

      ftpd interprets file names according to the ``globbing'' conventions
      used by csh(1).  This allows users to utilize the metacharacters *, .,
      [, ], {, }, ~, and ?.

      ftpd authenticates users according to three rules:

           o  The user name must be in the password data base, /etc/passwd,
              and not have a null password.  The client must provide the
              correct password for the user before any file operations can
              be performed.




 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992






 ftpd(1M)                                                           ftpd(1M)

                  Requires Optional ARPA Services Software



           o  The user name must not appear in the file /etc/ftpusers (see
              ftpusers(4)).

           o  The user must have a standard shell returned by
              getusershell(3).

      Optionally, a system administrator can permit public access or
      ``anonymous FTP.'' If this has been set up, users can access the
      anonymous FTP account with the user name anonymous or ftp and any
      non-null password (by convention, the client host's name).  ftpd does
      a chroot(2) to the home directory of the user ftp, thus limiting
      anonymous FTP users' access to the system.  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 order to permit anonymous FTP, there must be an entry in the
      passwd(4) database for an account named ftp.  The password field
      should be *, the group membership should be guest, and the login shell
      should be /bin/false.  For example (assuming the guest group ID is
      10):

           ftp:*:500:10:anonymous ftp:/users/ftp:/bin/false

      The anonymous ftp directory should be set up as follows:

      ~ftp    The home directory of the ftp account should be owned by user
              ftp and mode 555 (not writable).  Since ftpd does a chroot to
              this directory, it must have the following subdirectories and
              files:

              ~ftp/bin  This directory must be owned by root and mode 555
                        (not writable).  It should contain a copy of
                        /bin/ls.  This is needed to support directory
                        listing by ftpd.  The command should be mode 111
                        (executable only).  If the FTP account is on the
                        same file system as /bin, ~ftp/bin/ls can be hard
                        link, but it may not be a symbolic link, because of
                        the chroot.  The command must be replaced when the
                        system is updated.

              ~ftp/etc  This directory must be owned by root and mode 555
                        (not writable).  It should contain versions of the
                        files passwd, group, and logingroup.  See passwd(4)
                        and group(4).  These files must be owned by root and
                        mode 444 (readable only). These are needed to map
                        user and group ids in the LIST command, and to
                        support (optional) sub-logins of anonymous FTP.
                        Sub-logins can sometimes be used to allow access to
                        particular files by only specific remote users (who



 Hewlett-Packard Company            - 3 -     HP-UX Release 9.0: August 1992






 ftpd(1M)                                                           ftpd(1M)

                  Requires Optional ARPA Services Software



                        know the sub-login password) without giving those
                        remote users logins on the system.  A sub-login user
                        would access the system via anonymous ftp, and then
                        use USER and PASS to change to the sub-login user.

              ~ftp/etc/passwd
                        This file should contain entries for the ftp user
                        and any other users who own files under the
                        anonymous ftp directory.  Such entries should have *
                        for passwords.  ~ftp/etc/passwd should also contain
                        entries for any desired anonymous FTP sub-logins.
                        The sub-logins must have passwords, which must be
                        encrypted as in passwd(4).  Group IDs must be listed
                        in the anonymous FTP group file, ~ftp/etc/group.
                        The path names of home directories in
                        ~ftp/etc/passwd must be with respect to the
                        anonymous FTP home directory.  A sub-login home
                        directory should be owned by the sub-login user ID.
                        The shell field is ignored, and can be empty.

                        For example, the anonymous FTP sub-login name subftp
                        would have an entry in the FTP passwd file that
                        resembles:

                             subftp:bAg6vI82aq5Yt:501:10:ftp sub-
                             login:/subftp:

                        FTP sub-login IDs do not need to be present in the
                        system /etc/passwd file. Assuming the anonymous FTP
                        directory is /users/ftp, the sub-login home
                        directory in the example would be created by user
                        root as follows:

                             cd /users/ftp
                             mkdir subftp
                             chmod 700 subftp
                             chown 501 subftp
                             chgrp guest subftp

                        File ~ftp/etc/group should contain the group names
                        associated with any group IDs in file
                        ~ftp/etc/passwd and any group IDs of files in the
                        anonymous FTP subdirectories.  In the above example,
                        ~ftp/etc/group would require an entry for guest, and
                        the associated group ID would have to be the same as
                        in the system's /etc/group file.

              ~ftp/etc/logingroup
                        Permits anonymous ftp sub-logins to be members of
                        multiple groups.  Can be a hard link to FTP
                        ~ftp/etc/group.



 Hewlett-Packard Company            - 4 -     HP-UX Release 9.0: August 1992






 ftpd(1M)                                                           ftpd(1M)

                  Requires Optional ARPA Services Software



              ~ftp/pub (optional)
                        This directory is used by anonymous FTP users to
                        deposit files on the system. It should be owned by
                        user ftp and should be mode 777 (readable and
                        writable by all).

              ~ftp/dist (optional)
                        Directories used to make files available to
                        anonymous ftp users should be mode 555 (not
                        writable), and any files to be distributed should be
                        owned by root and mode 444 (readable only) so that
                        they cannot be modified or removed by anonymous FTP
                        users.

 DIAGNOSTICS
      ftpd replies to FTP commands to ensure synchronization of requests and
      actions during file transfers, and to indicate the status of ftpd.
      Every command produces at least one reply, although there may be more
      than one.  A reply consists of a three-digit number, a space, some
      text, and an end of line.  The number is useful for programs; the text
      is useful for users.  The number must conform to this standard, but
      the text can vary.

      The first digit of the message indicates whether the reply is good,
      bad, or incomplete.  Five values exist for the first digit.  The
      values and the interpretations of the values are:

           1       The requested action is being initiated; expect another
                   reply before proceeding with a new command.

           2       The requested action is complete.  The server is ready
                   for a new request.

           3       The command has been accepted, but the requested action
                   requires more information.

           4       The command was not accepted, the requested action
                   failed, but the error condition is temporary and the
                   action can be requested again.

           5       The command was not accepted, the requested action
                   failed, and the error condition would most likely occur
                   again if the same command sequence is repeated.

      The second digit indicates the functional area that the message
      addresses.  The values of the second digit and the interpretations of
      these values are:

           0       Syntax.  A message with a 0 for the second digit
                   indicates that a syntax error occurred.




 Hewlett-Packard Company            - 5 -     HP-UX Release 9.0: August 1992






 ftpd(1M)                                                           ftpd(1M)

                  Requires Optional ARPA Services Software



           1       Information.  A message with a 1 as the second digit
                   indicates that the message is in reply to a request for
                   information.

           2       Connections.  A message with a 2 as the second digit
                   indicates that the message is a reply to a request for
                   control and data connection information.

           3       Authentication and accounting.  A message with a 3 as the
                   second digit indicates that the message is a reply to a
                   login or accounting procedure.

           4       Not currently specified.

           5       File system.  A message with a 5 as the second digit
                   indicates that the text following the number contains
                   information concerning the status of the server file
                   system.

      The third digit provides a further clarification of the information
      supplied by the second digit.  Following are several examples of
      messages.  Note that ftpd's replies match the number but not the text.

           110     Restart marker reply.  MARK yyyy=mmmm where yyyy is a
                   user process data stream marker, and mmmm is ftpd's
                   equivalent marker
           119     Terminal not available, will try mailbox
           120     Service ready in nnn minutes
           200     Command okay
           211     System status, or system help reply
           212     Directory status
           230     User logged in, proceed
           250     Requested file action okay, completed
           331     User name okay, need password
           350     Requested file action pending further information
           425     Cannot open data connection
           451     Requested action aborted: local error in processing
           500     Syntax error, command unrecognized or command line too
                   long
           530     Not logged in
           550     Requested action not taken; file unavailable, not found,
                   no access

 WARNINGS
      The password is sent unencrypted through the socket connection.

      Anonymous FTP is inherently dangerous to system security.

      An error in the treatment of carriage returns in FTP clients and
      servers based on the 4.2BSD implementation (specifically, any ftp(1)
      or ftpd(1M) released prior to HP-UX 8.0) has been corrected.  This



 Hewlett-Packard Company            - 6 -     HP-UX Release 9.0: August 1992






 ftpd(1M)                                                           ftpd(1M)

                  Requires Optional ARPA Services Software



      correction may result in incorrect transfers of binary files when
      using the ascii transfer type.  Avoid this problem by using the image
      (binary) transfer type.

 AUTHOR
      ftpd was developed by the University of California, Berkeley.

 SEE ALSO
      ftp(1), inetd(1M), chroot(2), getusershell(3), inetd.conf(4),
      ftpusers(4), passwd(4), group(4).












































 Hewlett-Packard Company            - 7 -     HP-UX Release 9.0: August 1992