A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.
1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8 <title>mod_ftp - Apache HTTP Server</title> 9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> 12 <link href="../images/favicon.ico" rel="shortcut icon" /></head> 13 <body> 14 <div id="page-header"> 15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> 16 <p class="apache">Apache HTTP Server Version 2.3</p> 17 <img alt="" src="../images/feather.gif" /></div> 18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> 19 <div id="path"> 20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div> 21 <div id="page-content"> 22 <div id="preamble"><h1>Apache Module mod_ftp</h1> 23 <div class="toplang"> 24 <p><span>Available Languages: </span><a href="../en/mod/mod_ftp.html" title="English"> en </a></p> 25 </div> 26 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides support for the File Transfer Protocol</td></tr> 27 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>External</td></tr> 28 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>ftp_module</td></tr> 29 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_ftp.c</td></tr> 30 <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Apache 2.3 and higher</td></tr></table> 31 <h3>Summary</h3> 32 33 <p>This module provides support for the File Transfer Protocol 34 within the Apache HTTP Server. It was originally developed by 35 Covalent Technologies, Inc. and contributed by them to the 36 Apache HTTP Server project.</p> 37 38 <p>The FTP protocol module for Apache can work with the access 39 control modules, mod_ssl and any dynamic content generator to 40 provide veratile, scalable and secure FTP services.</p> 41 42 <p>Further details, discussion and examples are provided in the 43 <a href="../ftp/">FTP documentation</a>.</p> 44 </div> 45 <div id="quickview"><h3 class="directives">Directives</h3> 46 <ul id="toc"> 47 <li><img alt="" src="../images/down.gif" /> <a href="#ftp">FTP</a></li> 48 <li><img alt="" src="../images/down.gif" /> <a href="#ftpactiverange">FTPActiveRange</a></li> 49 <li><img alt="" src="../images/down.gif" /> <a href="#ftpbannermessage">FTPBannerMessage</a></li> 50 <li><img alt="" src="../images/down.gif" /> <a href="#ftpdatablocksize">FTPDataBlockSize</a></li> 51 <li><img alt="" src="../images/down.gif" /> <a href="#ftpdirumask">FTPDirUmask</a></li> 52 <li><img alt="" src="../images/down.gif" /> <a href="#ftpdocrootenv">FTPDocRootEnv</a></li> 53 <li><img alt="" src="../images/down.gif" /> <a href="#ftpepsvignorefamily">FTPEPSVIgnoreFamily</a></li> 54 <li><img alt="" src="../images/down.gif" /> <a href="#ftpexitmessage">FTPExitMessage</a></li> 55 <li><img alt="" src="../images/down.gif" /> <a href="#ftphomedir">FTPHomeDir</a></li> 56 <li><img alt="" src="../images/down.gif" /> <a href="#ftpimplicitssl">FTPImplicitSSL</a></li> 57 <li><img alt="" src="../images/down.gif" /> <a href="#ftpjailuser">FTPJailUser</a></li> 58 <li><img alt="" src="../images/down.gif" /> <a href="#ftplimitdbfile">FTPLimitDBFile</a></li> 59 <li><img alt="" src="../images/down.gif" /> <a href="#ftplimitloginip">FTPLimitLoginIP</a></li> 60 <li><img alt="" src="../images/down.gif" /> <a href="#ftplimitloginserver">FTPLimitLoginServer</a></li> 61 <li><img alt="" src="../images/down.gif" /> <a href="#ftplimitloginuser">FTPLimitLoginUser</a></li> 62 <li><img alt="" src="../images/down.gif" /> <a href="#ftplowportsock">FTPLowPortSock</a></li> 63 <li><img alt="" src="../images/down.gif" /> <a href="#ftpmaxloginattempts">FTPMaxLoginAttempts</a></li> 64 <li><img alt="" src="../images/down.gif" /> <a href="#ftpoptions">FTPOptions</a></li> 65 <li><img alt="" src="../images/down.gif" /> <a href="#ftppasvaddr">FTPPASVaddr</a></li> 66 <li><img alt="" src="../images/down.gif" /> <a href="#ftppasvbindaddr">FTPPASVbindaddr</a></li> 67 <li><img alt="" src="../images/down.gif" /> <a href="#ftppasvrange">FTPPASVrange</a></li> 68 <li><img alt="" src="../images/down.gif" /> <a href="#ftpreadmemessage">FTPReadmeMessage</a></li> 69 <li><img alt="" src="../images/down.gif" /> <a href="#ftptimeoutdata">FTPTimeoutData</a></li> 70 <li><img alt="" src="../images/down.gif" /> <a href="#ftptimeoutidle">FTPTimeoutIdle</a></li> 71 <li><img alt="" src="../images/down.gif" /> <a href="#ftptimeoutlogin">FTPTimeoutLogin</a></li> 72 <li><img alt="" src="../images/down.gif" /> <a href="#ftpumask">FTPUmask</a></li> 73 </ul> 74 <h3>See also</h3> 75 <ul class="seealso"> 76 <li><a href="../ftp/">FTP Documentation</a></li> 77 <li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li> 78 </ul></div> 79 80 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 81 <div class="directive-section"><h2><a name="FTP" id="FTP">FTP</a> <a name="ftp" id="ftp">Directive</a></h2> 82 <table class="directive"> 83 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Run an FTP Server on this host</td></tr> 84 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTP on|off</code></td></tr> 85 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTP off</code></td></tr> 86 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 87 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 88 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 89 </table> 90 <p>You must define a <code class="directive">Listen</code> directive to 91 listen for FTP requests.</p> 92 <div class="note">This directive is <strong>not</strong> inherited from the 93 global configuration file.</div> 94 95 </div> 96 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 97 <div class="directive-section"><h2><a name="FTPActiveRange" id="FTPActiveRange">FTPActiveRange</a> <a name="ftpactiverange" id="ftpactiverange">Directive</a></h2> 98 <table class="directive"> 99 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ports the server will use for connecting to the 100 client</td></tr> 101 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPActiveRange <em>min [max]</em></code></td></tr> 102 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>an ephemeral high-numbered port</em></code></td></tr> 103 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 104 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 105 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 106 </table> 107 <p>This directive defines the port or ports that mod_ftp will 108 use when making an active connection to the client. It accepts 109 one or two arguments. If only one argument is given, the server 110 will always use that port. If two arguments are given, the 111 server will treat them as a range of ports to be used.</p> 112 <div class="note">Use a sufficient range to satisfy all client requests! Between 113 the time that the client makes a data channel request following the 114 <code>PORT</code> or <code>EPRT</code> request, and the point at 115 which the server has connected to the client, the origin port 116 may be unavailable to any other client.</div> 117 <div class="note">Windows allows any process to access privileged ports. However, 118 to assign <code>FTPActiveRange</code> below 1024 on a unix platform, 119 mod_ftp requires unix domain sockets, and will create an additional 120 httpd process to serve these bound, low numbered ports to the httpd 121 child worker processes.</div> 122 <div class="example"><p><code>FTPActiveRange 20</code></p><p>Force the server to use the ftp-data scheme convention</p><p><code>FTPActiveRange 5050</code></p><p>Force the server to use port 5050</p><p><code>FTPActiveRange 5050 5080</code></p><p>Allow the server to use any port between 5050 and 5080, 123 inclusive.</p></div> 124 125 </div> 126 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 127 <div class="directive-section"><h2><a name="FTPBannerMessage" id="FTPBannerMessage">FTPBannerMessage</a> <a name="ftpbannermessage" id="ftpbannermessage">Directive</a></h2> 128 <table class="directive"> 129 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set initial login message</td></tr> 130 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPBannerMessage 131 <em>message</em>|<em>file:/path/to/file</em></code></td></tr> 132 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>none</em></code></td></tr> 133 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 134 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 135 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 136 </table> 137 <p>This directive sets a <em>message</em> that is displayed to 138 the client on initial connection. This can either be a string, 139 or a path to a file. The message can contain a variety of 140 meta-characters:</p> 141 <table> 142 <tr><th><code>%T</code></th><td>Local time (in the form 143 <code>Mon Apr 29 20:36:48 2002</code>)</td></tr> 144 <tr><th><code>%C</code></th><td>Current working directory</td></tr> 145 <tr><th><code>%h</code></th><td>Remote host</td></tr> 146 <tr><th><code>%L</code></th><td>Local host</td></tr> 147 <tr><th><code>%E</code></th><td>Server administrator (as given by 148 <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>)</td></tr> 149 <tr><th><code>%a</code></th><td>Remote IP-address</td></tr> 150 <tr><th><code>%A</code></th><td>Local IP-address</td></tr> 151 <tr><th><code>%u</code></th><td>Remote user</td></tr> 152 <tr><th><code>%f</code></th><td>Number of files transferred</td></tr> 153 <tr><th><code>%t</code></th><td>Total bytes downloaded</td></tr> 154 <tr><th><code>%x</code></th><td>Number of data transfers</td></tr> 155 <tr><th><code>%b</code></th><td>Total traffic for the session (both 156 control and data)</td></tr> 157 </table> 158 159 </div> 160 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 161 <div class="directive-section"><h2><a name="FTPDataBlockSize" id="FTPDataBlockSize">FTPDataBlockSize</a> <a name="ftpdatablocksize" id="ftpdatablocksize">Directive</a></h2> 162 <table class="directive"> 163 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Block size in bytes between control channel tests</td></tr> 164 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPDataBlockSize <em>bytes</em></code></td></tr> 165 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPDataBlockSize 48000</code></td></tr> 166 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 167 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 168 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 169 </table> 170 <p>When mod_ftp is transmitting data via the operating system, 171 it's not possible to monitor the control channel for <code>ABOR</code> 172 signals. FTPDataBlockSize partitions the transfer; between each block 173 mod_ftp will see if there is a pending control channel request, or if 174 the socket is ready to send more data, and proceed to the next block. 175 Based on anticipated bandwidth, set this value to a reasonable window 176 of time in which the server should answer the control channel.</p> 177 178 </div> 179 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 180 <div class="directive-section"><h2><a name="FTPDirUmask" id="FTPDirUmask">FTPDirUmask</a> <a name="ftpdirumask" id="ftpdirumask">Directive</a></h2> 181 <table class="directive"> 182 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the umask for created directory</td></tr> 183 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPDirUmask <em>umask</em></code></td></tr> 184 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPDirUmask 022</code></td></tr> 185 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> 186 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> 187 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 188 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 189 </table> 190 <p>This directive sets the permission mask for directory creation 191 access. The default is 022 which gives the owner complete 192 access and disables write access for the group and other 193 users.</p> 194 <div class="note">This directive is not supported on Windows.</div> 195 196 </div> 197 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 198 <div class="directive-section"><h2><a name="FTPDocRootEnv" id="FTPDocRootEnv">FTPDocRootEnv</a> <a name="ftpdocrootenv" id="ftpdocrootenv">Directive</a></h2> 199 <table class="directive"> 200 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the DocumentRoot based on the given environment 201 variable, such as a per-user LDAP property</td></tr> 202 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPDocRootEnv <em>envvar</em></code></td></tr> 203 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>none</em></code></td></tr> 204 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 205 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 206 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 207 </table> 208 <p>This directive will cause FTP to use the value of the 209 <code>envvar</code> environment variable in place of the 210 default <code>DocumentRoot</code>, if the environment variable 211 is defined. The <code>envvar</code> variable must contain a 212 full, rooted file path, e.g. <code>/some/path</code> on Unix 213 or <code>d:/some/path</code> on Windows.</p> 214 <p>This may be used with any authentication module which sets 215 the value of an environment variable based on the logged in 216 user or another condition (similar to <code class="module"><a href="../mod/mod_env.html">mod_env</a></code> 217 or <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> to change FTP's Document Root 218 on a per-user basis.</p> 219 <div class="note">This directive is <strong>not</strong> inherited from the 220 global configuration file.</div> 221 222 </div> 223 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 224 <div class="directive-section"><h2><a name="FTPEPSVIgnoreFamily" id="FTPEPSVIgnoreFamily">FTPEPSVIgnoreFamily</a> <a name="ftpepsvignorefamily" id="ftpepsvignorefamily">Directive</a></h2> 225 <table class="directive"> 226 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force EPSV to ignore the requested IP family 227 (IPv4 vs. IPv6)</td></tr> 228 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPEPSVIgnoreFamily <em>On</em></code></td></tr> 229 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPEPSVIgnoreFamily Off</code></td></tr> 230 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 231 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 232 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 233 </table> 234 <p>This directive allows the client's <code>EPSV</code> request to bind 235 to the local address, ignoring IPv4 vs. IPv6 requested by the client, 236 in order to work around network address translation which presented 237 an apparently different family. 238 You may find this useful when the FTP Server is behind a firewall.</p> 239 240 </div> 241 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 242 <div class="directive-section"><h2><a name="FTPExitMessage" id="FTPExitMessage">FTPExitMessage</a> <a name="ftpexitmessage" id="ftpexitmessage">Directive</a></h2> 243 <table class="directive"> 244 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set logout message</td></tr> 245 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPExitMessage 246 <em>message</em>|<em>file:/path/to/file</em></code></td></tr> 247 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>none</em></code></td></tr> 248 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 249 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 250 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 251 </table><p>This directive sets a <em>message</em> that is displayed to 252 the client on disconnect. This can either be a string, or a 253 path to a file. The message can contain a variety of 254 meta-characters (see 255 <code class="directive"><a href="#ftpbannermessage">FTPBannerMessage</a></code>).</p> 256 257 </div> 258 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 259 <div class="directive-section"><h2><a name="FTPHomeDir" id="FTPHomeDir">FTPHomeDir</a> <a name="ftphomedir" id="ftphomedir">Directive</a></h2> 260 <table class="directive"> 261 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the path to directory 262 containing user's home directories</td></tr> 263 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPHomeDir /directory</code></td></tr> 264 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>none</em></code></td></tr> 265 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 266 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 267 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 268 </table><p>This directive defines where the user home <em>directory</em> 269 is located. This directory must be given as an absolute path, 270 but is actually relative to the configured 271 <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> for the server. For 272 example, <code>FTPHomeDir /home</code> will cause the Apache FTP 273 Server to look for the user home in the directory <code class="directive"><a href="../mod/code.html#documentroot">DocumentRoot</a></code><code>/home/</code><code>username</code> 274 (where <em>username</em> is the login name of the user).</p> 275 <p>If <code class="directive">FTPHomeDir</code> has been specified and 276 the home directory for the user does not exist, the server logs 277 an error and user is logged into the root 278 ("<code>/</code>") directory. If you want the home 279 directory created automatically, see the 280 <code class="directive">CreateHomeDirs</code> option to the 281 <code class="directive"><a href="#ftpoptions">FTPOptions</a></code> directive.</p> 282 <div class="note">This directive is <strong>not</strong> inherited from the 283 global configuration file.</div> 284 285 </div> 286 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 287 <div class="directive-section"><h2><a name="FTPImplicitSSL" id="FTPImplicitSSL">FTPImplicitSSL</a> <a name="ftpimplicitssl" id="ftpimplicitssl">Directive</a></h2> 288 <table class="directive"> 289 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use SSL implicitly</td></tr> 290 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPImplicitSSL on|off</code></td></tr> 291 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPImplicitSSL off</code></td></tr> 292 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 293 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 294 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 295 </table> 296 <p>This directive determines the security on the control 297 connection when the user connects. When set to 298 <code>On</code>, the user is expected to connect using SSL. 299 When set to <code>Off</code>, the user must connect insecurely 300 then issue the <code>AUTH</code> command to start a secure 301 session.</p> 302 <div class="note">This directive is <strong>not</strong> inherited from the global 303 configuration file.</div> 304 305 </div> 306 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 307 <div class="directive-section"><h2><a name="FTPJailUser" id="FTPJailUser">FTPJailUser</a> <a name="ftpjailuser" id="ftpjailuser">Directive</a></h2> 308 <table class="directive"> 309 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Users are not allowed to leave their home 310 directories</td></tr> 311 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPJailUser on|off</code></td></tr> 312 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPJailUser off</code></td></tr> 313 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 314 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 315 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 316 </table> 317 <p>This directive confines the user to the directory tree in 318 which they were placed upon login. The user can access any 319 subdirectory of their default directory, but cannot access the 320 parent directory or any other related directories.</p> 321 <p>If the <code class="directive"><a href="#ftphomedir">FTPHomeDir</a></code> 322 directive is not used, then <code class="directive">FTPJailUser</code> 323 has no effect. This combination of directives can be very 324 powerful for restricting where in your filesystem users may 325 traverse.</p> 326 <div class="note">This directive is <strong>not</strong> inherited from the 327 global configuration file.</div> 328 329 </div> 330 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 331 <div class="directive-section"><h2><a name="FTPLimitDBFile" id="FTPLimitDBFile">FTPLimitDBFile</a> <a name="ftplimitdbfile" id="ftplimitdbfile">Directive</a></h2> 332 <table class="directive"> 333 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the location for the Login Limit DB file</td></tr> 334 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPLimitDBFile <em>file-path</em></code></td></tr> 335 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPLimitDBFile logs/ftplogins</code></td></tr> 336 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> 337 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 338 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 339 </table> 340 <p>To provide <code class="directive"><a href="#ftplimitloginuser">FTPLimitLoginUser</a></code>, 341 <code class="directive"><a href="#ftplimitloginserver">FTPLimitLoginServer</a></code> and 342 <code class="directive"><a href="#ftplimitloginip">FTPLimitLoginIP</a></code> 343 features, mod_ftp uses a small DBM file to store login data. This 344 directive determines the filename-path of that database file. 345 If either <code>FTPLimit</code> directive is used, this directive 346 must specify a filename for this DBM, writeable by the server.</p> 347 <div class="example"><p><code><code>FTPLimitDBFile logs/ftplogins</code></code></p></div> 348 349 </div> 350 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 351 <div class="directive-section"><h2><a name="FTPLimitLoginIP" id="FTPLimitLoginIP">FTPLimitLoginIP</a> <a name="ftplimitloginip" id="ftplimitloginip">Directive</a></h2> 352 <table class="directive"> 353 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the maximum number of concurrent logins per IP 354 address</td></tr> 355 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code /></td></tr> 356 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPLimitLoginIP 0 <em>(unlimited)</em></code></td></tr> 357 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 358 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 359 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 360 </table> 361 <p>This directive allows the administrator to limit the total 362 number of concurrent/simultaneous FTP logins. For example, if 363 set to 10, no more than 10 FTP logins from the same IP address 364 would be allowed. The default value is 0 (unlimited).</p> 365 366 </div> 367 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 368 <div class="directive-section"><h2><a name="FTPLimitLoginServer" id="FTPLimitLoginServer">FTPLimitLoginServer</a> <a name="ftplimitloginserver" id="ftplimitloginserver">Directive</a></h2> 369 <table class="directive"> 370 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the maximum number of concurrent logins per 371 server</td></tr> 372 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPLimitLoginServer <em>number</em></code></td></tr> 373 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPLimitLoginServer 0 <em>(unlimited)</em></code></td></tr> 374 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> 375 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 376 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 377 </table> 378 <p>This directive allows the administrator to limit the total 379 number of concurrent/simultaneous FTP logins. For example, if 380 set to 100, no more than 100 FTP logins to the same virtual host 381 would be allowed. The default value is 0 (unlimited).</p> 382 383 </div> 384 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 385 <div class="directive-section"><h2><a name="FTPLimitLoginUser" id="FTPLimitLoginUser">FTPLimitLoginUser</a> <a name="ftplimitloginuser" id="ftplimitloginuser">Directive</a></h2> 386 <table class="directive"> 387 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the maximum number of concurrent logins per 388 user</td></tr> 389 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPLimitLoginUser <em>number</em></code></td></tr> 390 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPLimitLoginUser 0 <em>(unlimited)</em></code></td></tr> 391 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> 392 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 393 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 394 </table> 395 <p>This directive allows the administrator to limit the 396 number of concurrent/simultaneous logins of a single FTP user. 397 For example, if set to 3, then no single FTP account would be 398 allowed to have more than 3 concurrent logins (including the 399 guest/anonymous account). The default value is 0 (unlimited).</p> 400 401 </div> 402 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 403 <div class="directive-section"><h2><a name="FTPLowPortSock" id="FTPLowPortSock">FTPLowPortSock</a> <a name="ftplowportsock" id="ftplowportsock">Directive</a></h2> 404 <table class="directive"> 405 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The filename prefix of the unix domain socket used to pass low numbered origin port requests</td></tr> 406 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPLowPortSock <em>pathname</em></code></td></tr> 407 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPLowPortSock logs/ftp-lowportd-sock</code></td></tr> 408 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> 409 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 410 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 411 </table> 412 <p>This directive sets the filename prefix of the socket to use for 413 communication with the CGI daemon, an extension corresponding to 414 the process ID of the server will be appended. The socket will be 415 created using the permissions of the user who starts Apache (usually 416 root). To maintain the security of communications with CGI 417 scripts, it is important that no other user has permission to 418 write in the directory where the socket is located.</p> 419 <div class="example"><h3>Example</h3><p><code> 420 FTPLowPortSock /var/run/cgid.sock 421 </code></p></div> 422 423 </div> 424 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 425 <div class="directive-section"><h2><a name="FTPMaxLoginAttempts" id="FTPMaxLoginAttempts">FTPMaxLoginAttempts</a> <a name="ftpmaxloginattempts" id="ftpmaxloginattempts">Directive</a></h2> 426 <table class="directive"> 427 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of login attempts</td></tr> 428 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPMaxLoginAttempts <em>attempts</em></code></td></tr> 429 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPMaxLoginAttempts 3</code></td></tr> 430 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 431 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 432 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 433 </table> 434 <p>This directive controls the number of failed 435 <em>attempts</em> to log in that are allowed before breaking 436 the connection and logging the failed attempts.</p> 437 438 </div> 439 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 440 <div class="directive-section"><h2><a name="FTPOptions" id="FTPOptions">FTPOptions</a> <a name="ftpoptions" id="ftpoptions">Directive</a></h2> 441 <table class="directive"> 442 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set options for this server</td></tr> 443 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPOptions <em>option1 [option2] ...</em></code></td></tr> 444 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>none</em></code></td></tr> 445 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 446 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 447 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 448 </table> 449 <p>This directive sets per server options.</p> 450 <p>Current options:</p> 451 <dl> 452 <dt><code>AllowProxyPASV</code></dt> 453 <dd><p>This option permits connection to the server's data 454 channel when it originates from an IP address other than 455 the control channel client's IP. It affects both the 456 <code>PASV</code> and <code>EPSV</code> data connections.` 457 As proxy FTP is rarely used and considered potentially 458 insecure, this directive should be used with caution.</p> 459 </dd> 460 <dt><code>AllowProxyPORT</code></dt> 461 <dd><p>This option permits the server to create a data channel 462 connection to an IP address other than the control channel 463 client's IP. It affects both the <code>PORT</code> and 464 <code>EPRT</code> data connections. As proxy FTP is rarely 465 used and considered potentially insecure, this directive 466 should be used with caution.</p> 467 </dd> 468 <dt><code>CheckMaxClients</code></dt> 469 <dd><p>This option denies login to a client when the server is 470 full. If it is not enabled, the client will wait on the 471 accept queue until another client disconnects.</p> 472 </dd> 473 <dt><code>CreateHomeDirs</code></dt> 474 <dd><p>This option causes the server to automatically create a 475 home directory in the location specified by the 476 <code class="directive"><a href="#ftphomedir">FTPHomeDir</a></code> directive. 477 If the <code class="directive"><a href="#ftphomedir">FTPHomeDir</a></code> 478 directive is not specified, this option has no effect.</p> 479 <div class="note"><p>Setting this option on an anonymous site is not 480 recommended. This is because a directory is created for 481 each unique user (usually identified by their email 482 address) that logs onto the server. </p> 483 <p>This option will only work if the <code class="directive"><a href="#ftphomedir">FTPHomeDir</a></code> directories are 484 accessible to the process owner of the Apache HTTP Server, 485 typically on UNIX systems the user 486 <code>nobody</code>.</p> 487 </div> 488 </dd> 489 <dt><code>LISTisNLST</code></dt> 490 <dd><p>This option causes the server to display identical output 491 when it receives either a <code>LIST</code> request or an 492 <code>NLST</code> request. Unlike 493 <code class="directive">NLSTisLIST</code>, the output is a list of 494 files without details. If the -l option is passed to 495 <code>LIST</code> requests, details will be provided, 496 whether this option is set or not.</p> 497 </dd> 498 <dt><code>NLSTisLIST</code></dt> 499 <dd><p>This option causes the server 500 to display identical output when it receives either a 501 <code>LIST</code> request or an <code>NLST</code> request. 502 Like <code class="directive">NLSTShowDirs</code>, this option is 503 used for FTP clients that send different requests for 504 <code>ls</code> or <code>dir</code> commands.</p> 505 <div class="note"> 506 <p>Setting this option will cause commands that request 507 multiple files to fail and should be used with 508 caution.</p> 509 </div> 510 </dd> 511 <dt><code>NLSTShowDirs</code></dt> 512 <dd><p>This option causes the server 513 to display directories as well as files when it receives 514 an <code>NLST</code> request. Some FTP clients send an 515 <code>NLST</code> requests when the user issues an 516 <code>ls</code> or <code>dir</code> commands. Since the 517 default response is to display files only, the user may be 518 confused.</p> 519 <div class="note"><p> 520 Setting this option will cause commands that request 521 multiple files to fail and should be used with 522 caution.</p> 523 </div> 524 </dd> 525 <dt><code>NoUTF8Feature</code></dt> 526 <dd><p>By default, mod_ftp will advertise <code>UTF8</code> in 527 response to the <code>FEAT</code> command. This ensures 528 the client is aware they may use 8-bit filenames (rather 529 than 7-bit ASCII), preferably using the UTF-8 character set. 530 This flag, available only in the global context, disables 531 this default behavior for all hosts, omitting <code>UTF8</code> 532 from the <code>FEAT</code> server response.</p> 533 </dd> 534 <dt><code>RemoveUserGroup</code></dt> 535 <dd><p>This option causes the 536 server to print the UID and GID rather than the user name 537 and group name for directory listings. It has no effect on 538 Windows systems.</p> 539 </dd> 540 <dt><code>RequireSSL</code></dt> 541 <dd><p>This option requires the client to issue an 542 <code>AUTH</code> command to switch to SSL before sending any 543 password information. This is much like implicit SSL in that 544 it forces the client to use SSL to send password information. 545 The difference is that using the <code>RequireSSL</code> 546 option will allow a client to connect without SSL, but then 547 issue the <code>AUTH</code> SSL command before sending the 548 username and password.</p> 549 </dd> 550 <dt><code>ShowUnAuthorizedFiles</code></dt> 551 <dd><p>This option causes 552 the server to show files that the user does not have 553 authorization to retrieve and directories that the user 554 does not have authorization to enter (<code>cd</code> will 555 fail) when it receives a <code>LIST</code> or similar 556 <code>NLST</code> command. These commands will then behave 557 as most standard FTP servers, where users see the list of 558 all files and directories, even those they are not allowed 559 to access.</p> 560 </dd> 561 <dt><code>StripHostname</code></dt> 562 <dd><p>When the user presents a <code>USER {user@hostname}</code> 563 command, strip the "@hostname" text from the provided name 564 before presenting "user" to the authentication modules. 565 Most commonly used in conjunction with the 566 <code class="directive">VirtualHostByUser</code> option below.</p> 567 </dd> 568 <dt><code>VirtualHostByUser</code></dt> 569 <dd><p>When the user presents a <code>USER {user@hostname}</code> 570 command, select a 571 <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> by the "hostname" 572 text of the provided name. The 573 <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> must be 574 configured appropriately to match these hosts. If no named 575 virtual host matches by its 576 <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> or any of its 577 <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>s, the login 578 falls into the first matching VirtualHost by IP, just as HTTP 579 treats an unmatched <code>Host:</code> header.</p> 580 </dd> 581 </dl> 582 583 </div> 584 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 585 <div class="directive-section"><h2><a name="FTPPASVaddr" id="FTPPASVaddr">FTPPASVaddr</a> <a name="ftppasvaddr" id="ftppasvaddr">Directive</a></h2> 586 <table class="directive"> 587 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the apparent server IP address for PASV data 588 channels</td></tr> 589 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPPASVAddr <em>IP address</em></code></td></tr> 590 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>The server's actual IP address of the control channel 591 connection</em></code></td></tr> 592 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 593 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 594 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 595 </table> 596 <p>This directive allows you to specify a different <em>IP address</em> 597 to be presented to the client in response to <code>PASV</code> 598 requests. It has no effect on the IP address the server will 599 listen on, use <code class="directive"><a href="#ftppasvbindaddr">FTPPASVbindaddr</a></code> 600 instead to affect the IP address of the actual data connection.</p> 601 <p>You may find this useful when the FTP Server is behind a firewall. 602 It has <em>no</em> effect on <code>EPSV</code> requests.</p> 603 <div class="note">This directive is <strong>not</strong> inherited from the global 604 configuration file.</div> 605 606 </div> 607 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 608 <div class="directive-section"><h2><a name="FTPPASVbindaddr" id="FTPPASVbindaddr">FTPPASVbindaddr</a> <a name="ftppasvbindaddr" id="ftppasvbindaddr">Directive</a></h2> 609 <table class="directive"> 610 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set and bind the allowed PASV server IP address for 611 the data channel</td></tr> 612 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPPASVbindaddr <em>IP address</em></code></td></tr> 613 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>The specified 614 <code class="directive"><a href="#ftppasvaddr">FTPPASVaddr</a></code>, or in its 615 absense, the server's actual IP address of the control channel 616 connection</em></code></td></tr> 617 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 618 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 619 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 620 </table> 621 <p>This directive is similar to the 622 <code class="directive"><a href="#ftppasvaddr">FTPPASVaddr</a></code> directive, 623 except that the Apache FTP Server attempts to bind to the specified 624 <em>IP address</em>, and note that any 625 <code class="directive"><a href="#ftppasvaddr">FTPPASVaddr</a></code> directive 626 continues to override the address presented to the client.</p> 627 <p>You may find this useful when the FTP Server is behind a firewall. 628 It has <em>no</em> effect on <code>EPSV</code> requests.</p> 629 <div class="note">This directive is <strong>not</strong> inherited from the 630 global configuration file.</div> 631 632 </div> 633 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 634 <div class="directive-section"><h2><a name="FTPPASVrange" id="FTPPASVrange">FTPPASVrange</a> <a name="ftppasvrange" id="ftppasvrange">Directive</a></h2> 635 <table class="directive"> 636 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the allowed passive port range</td></tr> 637 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPPASVrange <em>number number</em></code></td></tr> 638 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>an ephemeral high-numbered port</em></code></td></tr> 639 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 640 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 641 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 642 </table> 643 <p>This directive defines the port range (<em>number</em> to 644 <em>number</em> inclusive) to be used for all passive connections, 645 including <code>PASV</code> and <code>EPSV</code> requests. 646 This directive is designed for use in environments where you 647 only want to open a specific range of ports on your 648 firewall.</p> 649 <div class="note">Use a sufficient range to satisfy all client requests! 650 Between the time that the server answers a <code>PASV</code> 651 or <code>EPSV</code> request, and the point at which the client 652 connects to the indiciated port, that specific port is 653 unavailable to any other client.</div> 654 655 </div> 656 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 657 <div class="directive-section"><h2><a name="FTPReadmeMessage" id="FTPReadmeMessage">FTPReadmeMessage</a> <a name="ftpreadmemessage" id="ftpreadmemessage">Directive</a></h2> 658 <table class="directive"> 659 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set per-directory Readme file</td></tr> 660 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPReadmeMessage 661 <em>message</em>|<em>file:/path/to/file</em> 662 </code></td></tr> 663 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code><em>none</em></code></td></tr> 664 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> 665 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Any</td></tr> 666 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 667 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 668 </table><p>This directive sets a <em>message</em> that is displayed 669 to the client upon entering a new directory. This can either 670 be a string, or a path to a file. The message can contain a 671 variety of meta-characters (see <code class="directive"><a href="#ftpbannermessage">FTPBannerMessage</a></code>).</p> 672 <p>When this directive is placed in the <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> container, the README 673 message will apply to all directories. When it is used in a 674 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> 675 container or placed in an <code>.htaccess</code> file, only 676 that directory will inherit the README message.</p> 677 <p>Configuring a README message for a directory will also override any 678 global README messages.</p> 679 680 </div> 681 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 682 <div class="directive-section"><h2><a name="FTPTimeoutData" id="FTPTimeoutData">FTPTimeoutData</a> <a name="ftptimeoutdata" id="ftptimeoutdata">Directive</a></h2> 683 <table class="directive"> 684 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Idle time allowed during a data transfer</td></tr> 685 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPTimeoutData <em>time</em></code></td></tr> 686 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPTimeoutData 300</code></td></tr> 687 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 688 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 689 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 690 </table> 691 <p>This directive sets the <em>time</em> in seconds the server 692 will wait during a data transfer. If no data is sent to the 693 client in this amount of time, the data connection is 694 closed.</p> 695 696 </div> 697 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 698 <div class="directive-section"><h2><a name="FTPTimeoutIdle" id="FTPTimeoutIdle">FTPTimeoutIdle</a> <a name="ftptimeoutidle" id="ftptimeoutidle">Directive</a></h2> 699 <table class="directive"> 700 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Idle time allowed during a FTP session</td></tr> 701 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPTimeoutIdle <em>time</em></code></td></tr> 702 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPTimeoutIdle 600</code></td></tr> 703 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 704 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 705 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 706 </table> 707 <p>This directive sets the amount of <em>time</em> in seconds 708 allowed between commands sent by the client. If no commands 709 are received in this amount of time, the user is 710 disconnected.</p> 711 712 </div> 713 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 714 <div class="directive-section"><h2><a name="FTPTimeoutLogin" id="FTPTimeoutLogin">FTPTimeoutLogin</a> <a name="ftptimeoutlogin" id="ftptimeoutlogin">Directive</a></h2> 715 <table class="directive"> 716 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Idle time allowed when logging in</td></tr> 717 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPTimeoutLogin <em>time</em></code></td></tr> 718 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPTimeoutLogin 60</code></td></tr> 719 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr> 720 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 721 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 722 </table> 723 <p>This directive sets the amount of <em>time</em> in seconds 724 that a user has to send a username to the server. If the 725 username is not received in this amount of time, the user is 726 disconnected.</p> 727 728 </div> 729 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 730 <div class="directive-section"><h2><a name="FTPUmask" id="FTPUmask">FTPUmask</a> <a name="ftpumask" id="ftpumask">Directive</a></h2> 731 <table class="directive"> 732 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set the umask for created files</td></tr> 733 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FTPUmask <em>umask</em></code></td></tr> 734 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FTPUmask 022</code></td></tr> 735 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> 736 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> 737 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr> 738 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ftp</td></tr> 739 </table> 740 <p>This directive sets the permission mask for file creation 741 access. The default is 022 which gives the owner complete 742 access and disables write access for the group and other 743 users.</p> 744 <div class="note">This directive is not supported on Windows.</div> 745 746 </div> 747 </div> 748 <div class="bottomlang"> 749 <p><span>Available Languages: </span><a href="../en/mod/mod_ftp.html" title="English"> en </a></p> 750 </div><div id="footer"> 751 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> 752 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> 753 </body></html>