man ftpd.conf (Formats) - ftpd.conf
NAME
configuration file
DESCRIPTION
The file specifies various configuration options for ftpd() that apply once a user has authenticated their connection.
consists of a series of lines, each of which may contain a configuration directive, a comment, or a blank line. Directives that appear later in the file override settings by previous directives. This allows entries to define defaults, and then have class-specific overrides.
A directive line has the format:
A is the escape character; it can be used to escape the meaning of the comment character, or if it is the last character on a line, extends a configuration directive across multiple lines. A is the comment character, and all characters from it to the end of line are ignored (unless it is escaped with the escape character).
Each authenticated user is a member of a which is determined by ftpusers(5) . is used to determine which entries apply to the user. The following special classes exist when parsing entries in :
- Sy all
- Matches any class.
- Sy none
- Matches no class.
Each class has a type, which may be one of:
- Sy GUEST
- Guests (as per the and logins). A chroot() is performed after login.
- Sy CHROOT
- chroot(2) ed users (as per ftpchroot(5) ) . A chroot() is performed after login.
- Sy REAL
- Normal users.
The ftpd() command will return the class settings for the current user as defined by .
Each configuration line may be one of:
- Sy advertise class host
- Set the address to advertise in the response to the and commands to the address for host (which may be either a host name or IP address). This may be useful in some firewall configurations, although many ftp clients may not work if the address being advertised is different to the address that they've connected to. If class is or no argument is given, disable this.
- Sy checkportcmd class [Sy off]
- Check the command for validity. The command will fail if the IP address specified does not match the FTP command connection, or if the remote TCP port number is less than IPPORT_RESERVED . It is encouraged that this option be used, espcially for sites concerned with potential security problems with FTP bounce attacks. If class is or is given, disable this feature, otherwise enable it.
- Sy chroot class [Sy pathformat]
-
If
pathformat
is not given or
class
is
use the default behaviour (see below).
Otherwise,
pathformat
is parsed to create a directory to create as the root directory with
chroot()
into upon login.
pathformat
can contain the following escape strings:
- Sy Escape
- \&%c
- Class name.
- \&%d
- Home directory of user.
- \&%u
- User name.
- \&%\&%
- A character.
- Sy CHROOT
- The user's home directory.
- Sy GUEST
- If -a anondir is given, use anondir , otherwise the home directory of the user.
- Sy REAL
- By default no chroot() is performed.
- Sy classtype class type
- Set the class type of class to type (see above).
- Xo Sy conversion class
-
suffix [type disable command]
Define an automatic in-line file conversion.
If a file to retrieve ends in
suffix ,
and a real file (sans
suffix )
exists, then the output of
command
is returned instead of the contents of the file.
- suffix
- The suffix to initiate the conversion.
- type
- A list of valid filetypes for the conversion. Valid types are: (file), and (directory).
- disable
- The name of file that will prevent conversion if it exists. A file name of will prevent this disabling action (i.e., the conversion is always permitted.)
- command
- The command to run for the conversion. The first word should be the full path name of the command, as execv() is used to execute the command. All instances of the word in command are replaced with the requested file (sans suffix ) .
- Sy display class [file]
- If file is not given or class is disable this. Otherwise, each time the user enters a new directory, check if file exists, and if so, display its contents to the user. Escape sequences are supported; refer to in ftpd() for more information.
- Sy homedir class [Sy pathformat]
- If pathformat is not given or class is use the default behaviour (see below). Otherwise, pathformat is parsed to create a directory to change into upon login, and to use as the directory of the user for tilde expansion in pathnames, etc. pathformat is parsed as per the directive. The default home directory is the home directory of the user for users, and / for and users.
- Xo Sy limit class
- count [file] Limit the maximum number of concurrent connections for class to count , with meaning unlimited connections. If the limit is exceeded and file is given, display its contents to the user. If class is or count is not specified, disable this. If file is a relative path, it will be searched for in /etc (which can be overridden with -c confdir ) .
- Sy maxfilesize class size
- Set the maximum size of an uploaded file to size . If class is or no argument is given, disable this.
- Sy maxtimeout class time
- Set the maximum timeout period that a client may request, defaulting to two hours. This cannot be less than 30 seconds, or the value for If class is or time is not specified, set to default of 2 hours.
- Sy modify class [Sy off]
- If class is or is given, disable the following commands: and Otherwise, enable them.
- Sy motd class [file]
- If file is not given or class is disable this. Otherwise, use file as the message of the day file to display after login. Escape sequences are supported; refer to in ftpd() for more information. If file is a relative path, it will be searched for in /etc (which can be overridden with -c confdir ) .
- Sy notify class [fileglob]
- If fileglob is not given or class is disable this. Otherwise, each time the user enters a new directory, notify the user of any files matching fileglob .
- Sy passive class [Sy off]
- If class is or is given, disallow passive and connections. Otherwise, enable them.
- Sy portrange class min max
- Set the range of port number which will be used for the passive data port. max must be greater than min , and both numbers must be be between IPPORT_RESERVED (1024) and 65535. If class is or no arguments are given, disable this.
- Sy rateget class rate
-
Set the maximum get
transfer rate throttle for
class
to
rate
bytes per second.
If
rate
is 0, the throttle is disabled.
If
class
is
or no arguments are given, disable this.
An optional suffix may be provided, which changes the intrepretation of
rate
as follows:
- b
- Causes no modification. (Default; optional)
- k
- Kilo; multiply the argument by 1024
- m
- Mega; multiply the argument by 1048576
- g
- Giga; multiply the argument by 1073741824
- t
- Tera; multiply the argument by 1099511627776
- Sy rateput class rate
- Set the maximum put transfer rate throttle for class to rate bytes per second, which is parsed as per If class is or no arguments are given, disable this.
- Sy sanenames class [Sy off]
- If class is or is given, allow uploaded file names to contain any characters valid for a file name. Otherwise, only permit file names which don't start with a and only comprise of characters from the set
- Sy template class [refclass]
- Define refclass as the for class ; any reference to refclass in following directives will also apply to members of class . This is useful to define a template class so that other classes which are to share common attributes can be easily defined without unnecessary duplication. There can be only one template defined at a time. If refclass is not given, disable the template for class .
- Sy timeout class time
- Set the inactivity timeout period. (the default is fifteen minutes). This cannot be less than 30 seconds, or greater than the value for If class is or time is not specified, set to the default of 15 minutes.
- Sy umask class umaskval
- Set the umask to umaskval . If class is or umaskval is not specified, set to the default of 027 .
- Sy upload class [Sy off]
- If class is or is given, disable the following commands: and as well as the modify commands: and Otherwise, enable them.
DEFAULTS
The following defaults are used:
checkportcmd all classtype chroot CHROOT classtype guest GUEST classtype real REAL display none limit all -1 # unlimited connections maxtimeout all 7200 # 2 hours modify all motd all motd notify none passive all timeout all 900 # 15 minutes umask all 027 upload all modify guest off umask guest 0707
FILES
- /etc/ftpd.conf
- This file.
- /usr/share/examples/ftpd/ftpd.conf
- A sample file.
SEE ALSO
HISTORY
The functionality was implemented in and later releases by Luke Mewburn, based on work by Simon Burge.