1VSFTPD.CONF(5)                File Formats Manual               VSFTPD.CONF(5)
2
3
4

NAME

6       vsftpd.conf - config file for vsftpd
7

DESCRIPTION

9       vsftpd.conf  may  be used to control various aspects of vsftpd's behav‐
10       iour.  By  default,  vsftpd  looks  for  this  file  at  the   location
11       /etc/vsftpd/vsftpd.conf.   However, you may override this by specifying
12       a command line argument to vsftpd. The command  line  argument  is  the
13       pathname of the configuration file for vsftpd. This behaviour is useful
14       because you may wish to use an advanced inetd such as xinetd to  launch
15       vsftpd with different configuration files on a per virtual host basis.
16
17

FORMAT

19       The format of vsftpd.conf is very simple. Each line is either a comment
20       or a directive. Comment lines start with a # and are ignored. A  direc‐
21       tive line has the format:
22
23       option=value
24
25       It  is  important  to note that it is an error to put any space between
26       the option, = and value.
27
28       Each setting has a compiled in default which may  be  modified  in  the
29       configuration file.
30
31

BOOLEAN OPTIONS

33       Below  is a list of boolean options. The value for a boolean option may
34       be set to YES or NO.
35
36
37       allow_anon_ssl
38              Only applies if ssl_enable is active. If set to  YES,  anonymous
39              users will be allowed to use secured SSL connections.
40
41              Default: NO
42
43       anon_mkdir_write_enable
44              If  set  to YES, anonymous users will be permitted to create new
45              directories under certain conditions.  For  this  to  work,  the
46              option  write_enable  must  be  activated, and the anonymous ftp
47              user must have write permission on the parent directory.
48
49              Default: NO
50
51       anon_other_write_enable
52              If set to YES, anonymous users  will  be  permitted  to  perform
53              write operations other than upload and create directory, such as
54              deletion and renaming. This is  generally  not  recommended  but
55              included for completeness.
56
57              Default: NO
58
59       anon_upload_enable
60              If set to YES, anonymous users will be permitted to upload files
61              under  certain  conditions.  For  this  to  work,   the   option
62              write_enable  must be activated, and the anonymous ftp user must
63              have write permission on desired upload locations. This  setting
64              is  also  required for virtual users to upload; by default, vir‐
65              tual  users  are  treated   with   anonymous   (i.e.   maximally
66              restricted) privilege.
67
68              Default: NO
69
70       anon_world_readable_only
71              When  enabled,  anonymous users will only be allowed to download
72              files which are world readable. This is recognising that the ftp
73              user may own files, especially in the presence of uploads.
74
75              Default: YES
76
77       anonymous_enable
78              Controls  whether  anonymous  logins  are  permitted  or not. If
79              enabled, both the usernames ftp and anonymous are recognised  as
80              anonymous logins.
81
82              Default: YES
83
84       ascii_download_enable
85              When  enabled,  ASCII  mode  data  transfers will be honoured on
86              downloads.
87
88              Default: NO
89
90       ascii_upload_enable
91              When enabled, ASCII mode data  transfers  will  be  honoured  on
92              uploads.
93
94              Default: NO
95
96       async_abor_enable
97              When  enabled,  a special FTP command known as "async ABOR" will
98              be enabled.  Only ill advised FTP clients will use this feature.
99              Additionally,  this  feature is awkward to handle, so it is dis‐
100              abled by default. Unfortunately, some FTP clients will hang when
101              cancelling  a  transfer unless this feature is available, so you
102              may wish to enable it.
103
104              Default: NO
105
106       background
107              When enabled, and vsftpd is started  in  "listen"  mode,  vsftpd
108              will  background the listener process. i.e. control will immedi‐
109              ately be returned to the shell which launched vsftpd.
110
111              Default: YES
112
113       check_shell
114              Note! This option only has  an  effect  for  non-PAM  builds  of
115              vsftpd.  If  disabled,  vsftpd  will not check /etc/shells for a
116              valid user shell for local logins.
117
118              Default: YES
119
120       chmod_enable
121              When enabled, allows use of the SITE CHMOD command.  NOTE!  This
122              only  applies  to  local users. Anonymous users never get to use
123              SITE CHMOD.
124
125              Default: YES
126
127       chown_uploads
128              If enabled, all anonymously uploaded files will have the  owner‐
129              ship  changed  to  the user specified in the setting chown_user‐
130              name.  This is useful from an administrative, and perhaps  secu‐
131              rity, standpoint.
132
133              Default: NO
134
135       chroot_list_enable
136              If  activated,  you  may  provide  a list of local users who are
137              placed in a chroot() jail in their home  directory  upon  login.
138              The meaning is slightly different if chroot_local_user is set to
139              YES. In this case, the list becomes a list of  users  which  are
140              NOT  to be placed in a chroot() jail.  By default, the file con‐
141              taining this list is /etc/vsftpd/chroot_list, but you may  over‐
142              ride this with the chroot_list_file setting.
143
144              Default: NO
145
146       chroot_local_user
147              If  set  to  YES,  local  users will be (by default) placed in a
148              chroot() jail in their home  directory  after  login.   Warning:
149              This  option  has security implications, especially if the users
150              have upload permission, or shell access. Only enable if you know
151              what  you  are doing.  Note that these security implications are
152              not vsftpd specific. They apply to all FTP daemons  which  offer
153              to put local users in chroot() jails.
154
155              Default: NO
156
157       connect_from_port_20
158              This  controls  whether  PORT style data connections use port 20
159              (ftp-data) on the server machine.  For  security  reasons,  some
160              clients  may insist that this is the case. Conversely, disabling
161              this option enables vsftpd to run with slightly less privilege.
162
163              Default: NO (but the sample config file enables it)
164
165       debug_ssl
166              If true, OpenSSL connection diagnostics are dumped to the vsftpd
167              log file.  (Added in v2.0.6).
168
169              Default: NO
170
171       delete_failed_uploads
172              If  true,  any  failed  upload  files  are  deleted.   (Added in
173              v2.0.7).
174
175              Default: NO
176
177       deny_email_enable
178              If activated, you may provide a list of  anonymous  password  e-
179              mail  responses  which cause login to be denied. By default, the
180              file containing this list is /etc/vsftpd/banned_emails, but  you
181              may override this with the banned_email_file setting.
182
183              Default: NO
184
185       dirlist_enable
186              If  set  to NO, all directory list commands will give permission
187              denied.
188
189              Default: YES
190
191       dirmessage_enable
192              If enabled, users of the FTP server can be shown  messages  when
193              they  first  enter  a  new directory. By default, a directory is
194              scanned for the file .message, but that may be  overridden  with
195              the configuration setting message_file.
196
197              Default: NO (but the sample config file enables it)
198
199       download_enable
200              If set to NO, all download requests will give permission denied.
201
202              Default: YES
203
204       dual_log_enable
205              If  enabled,  two  log files are generated in parallel, going by
206              default to /var/log/xferlog and /var/log/vsftpd.log.  The former
207              is  a  wu-ftpd  style transfer log, parseable by standard tools.
208              The latter is vsftpd's own style log.
209
210              Default: NO
211
212       force_dot_files
213              If activated, files and directories  starting  with  .  will  be
214              shown in directory listings even if the "a" flag was not used by
215              the client. This override excludes the "." and ".." entries.
216
217              Default: NO
218
219       force_anon_data_ssl
220              Only applies if  ssl_enable  is  activated.  If  activated,  all
221              anonymous  logins  are  forced to use a secure SSL connection in
222              order to send and receive data on data connections.
223
224              Default: NO
225
226       force_anon_logins_ssl
227              Only applies if  ssl_enable  is  activated.  If  activated,  all
228              anonymous  logins  are  forced to use a secure SSL connection in
229              order to send the password.
230
231              Default: NO
232
233       force_local_data_ssl
234              Only applies if ssl_enable is activated. If activated, all  non-
235              anonymous  logins  are  forced to use a secure SSL connection in
236              order to send and receive data on data connections.
237
238              Default: YES
239
240       force_local_logins_ssl
241              Only applies if ssl_enable is activated. If activated, all  non-
242              anonymous  logins  are  forced to use a secure SSL connection in
243              order to send the password.
244
245              Default: YES
246
247       guest_enable
248              If enabled, all non-anonymous  logins  are  classed  as  "guest"
249              logins.  A  guest login is remapped to the user specified in the
250              guest_username setting.
251
252              Default: NO
253
254       hide_ids
255              If enabled, all user and group information in directory listings
256              will be displayed as "ftp".
257
258              Default: NO
259
260       implicit_ssl
261              If  enabled,  an  SSL handshake is the first thing expect on all
262              connections (the FTPS protocol). To support explicit SSL  and/or
263              plain  text  too,  a  separate vsftpd listener process should be
264              run.
265
266              Default: NO
267
268       listen If enabled, vsftpd will run in standalone mode. This means  that
269              vsftpd  must not be run from an inetd of some kind. Instead, the
270              vsftpd executable is run once directly. vsftpd itself will  then
271              take care of listening for and handling incoming connections.
272
273              Default: NO
274
275       listen_ipv6
276              Like  the listen parameter, except vsftpd will listen on an IPv6
277              socket instead of an IPv4 one. This  parameter  and  the  listen
278              parameter are mutually exclusive.
279
280              Default: NO
281
282       local_enable
283              Controls  whether local logins are permitted or not. If enabled,
284              normal user accounts in /etc/passwd (or wherever your PAM config
285              references)  may  be used to log in. This must be enable for any
286              non-anonymous login to work, including virtual users.
287
288              Default: NO
289
290       lock_upload_files
291              When enabled, all uploads proceed  with  a  write  lock  on  the
292              upload  file.  All  downloads proceed with a shared read lock on
293              the download file. WARNING!  Before enabling this, be aware that
294              malicious readers could starve a writer wanting to e.g. append a
295              file.
296
297              Default: YES
298
299       log_ftp_protocol
300              When enabled, all FTP requests and responses are logged, provid‐
301              ing  the  option  xferlog_std_format  is not enabled. Useful for
302              debugging.
303
304              Default: NO
305
306       ls_recurse_enable
307              When enabled, this setting will allow the use of "ls  -R".  This
308              is  a minor security risk, because a ls -R at the top level of a
309              large site may consume a lot of resources.
310
311              Default: NO
312
313       mdtm_write
314              When enabled, this setting will allow MDTM to set file modifica‐
315              tion times (subject to the usual access checks).
316
317              Default: YES
318
319       no_anon_password
320              When  enabled, this prevents vsftpd from asking for an anonymous
321              password - the anonymous user will log straight in.
322
323              Default: NO
324
325       no_log_lock
326              When enabled, this prevents vsftpd from taking a file lock  when
327              writing  to  log  files.  This  option  should  generally not be
328              enabled. It exists to workaround operating system bugs  such  as
329              the  Solaris  /  Veritas  filesystem  combination which has been
330              observed to sometimes exhibit hangs trying to lock log files.
331
332              Default: NO
333
334       one_process_model
335              If you have a Linux 2.4 kernel, it is possible to use a  differ‐
336              ent  security  model which only uses one process per connection.
337              It is a less pure security model, but gains you performance. You
338              really  don't  want  to enable this unless you know what you are
339              doing, and your site supports  huge  numbers  of  simultaneously
340              connected users.
341
342              Default: NO
343
344       passwd_chroot_enable
345              If  enabled, along with chroot_local_user , then a chroot() jail
346              location may be specified on a per-user basis. Each user's  jail
347              is  derived from their home directory string in /etc/passwd. The
348              occurrence of /./ in the home directory string denotes that  the
349              jail is at that particular location in the path.
350
351              Default: NO
352
353       pasv_addr_resolve
354              Set  to  YES  if  you  want  to use a hostname (as opposed to IP
355              address) in the pasv_address option.
356
357              Default: NO
358
359       pasv_enable
360              Set to NO if you want to disallow the PASV method of obtaining a
361              data connection.
362
363              Default: YES
364
365       pasv_promiscuous
366              Set  to  YES if you want to disable the PASV security check that
367              ensures the data connection originates from the same IP  address
368              as the control connection.  Only enable if you know what you are
369              doing! The only legitimate use for  this  is  in  some  form  of
370              secure tunnelling scheme, or perhaps to facilitate FXP support.
371
372              Default: NO
373
374       port_enable
375              Set to NO if you want to disallow the PORT method of obtaining a
376              data connection.
377
378              Default: YES
379
380       port_promiscuous
381              Set to YES if you want to disable the PORT security  check  that
382              ensures  that  outgoing data connections can only connect to the
383              client. Only enable if you know what you are doing!
384
385              Default: NO
386
387       require_cert
388              If set to yes,  all  SSL  client  connections  are  required  to
389              present  a  client certificate. The degree of validation applied
390              to this certificate is controlled  by  validate_cert  (Added  in
391              v2.0.6).
392
393              Default: NO
394
395       require_ssl_reuse
396              If  set to yes, all SSL data connections are required to exhibit
397              SSL session reuse (which proves that they know the  same  master
398              secret  as  the  control  channel).  Although  this  is a secure
399              default, it may break many FTP clients, so you may want to  dis‐
400              able it. For a discussion of the consequences, see http://scary
401              beastsecurity.blogspot.com/2009/02/vsftpd-210-released.html
402              (Added in v2.1.0).
403
404              Default: YES
405
406       run_as_launching_user
407              Set  to YES if you want vsftpd to run as the user which launched
408              vsftpd. This is useful where root access is not available.  MAS‐
409              SIVE  WARNING! Do NOT enable this option unless you totally know
410              what you are doing, as naive use of this option can create  mas‐
411              sive  security  problems. Specifically, vsftpd does not / cannot
412              use chroot technology to restrict file access when  this  option
413              is set (even if launched by root). A poor substitute could be to
414              use a deny_file setting such as {/*,*..*}, but  the  reliability
415              of  this  cannot compare to chroot, and should not be relied on.
416              If using this option, many restrictions on other options  apply.
417              For  example,  options requiring privilege such as non-anonymous
418              logins, upload ownership changing, connecting from port  20  and
419              listen  ports  less  than  1024  are not expected to work. Other
420              options may be impacted.
421
422              Default: NO
423
424       secure_email_list_enable
425              Set to YES if you want only a specified list of e-mail passwords
426              for  anonymous  logins  to be accepted. This is useful as a low-
427              hassle way of restricting access to low-security content without
428              needing  virtual  users. When enabled, anonymous logins are pre‐
429              vented unless the password provided is listed in the file speci‐
430              fied  by the email_password_file setting. The file format is one
431              password per line, no extra whitespace. The default filename  is
432              /etc/vsftpd/email_passwords.
433
434              Default: NO
435
436       session_support
437              This  controls  whether vsftpd attempts to maintain sessions for
438              logins. If vsftpd is  maintaining  sessions,  it  will  try  and
439              update  utmp  and wtmp. It will also open a pam_session if using
440              PAM to authenticate, and only close this upon  logout.  You  may
441              wish to disable this if you do not need session logging, and you
442              wish to give vsftpd more opportunity to run with less  processes
443              and  /  or  less privilege. NOTE - utmp and wtmp support is only
444              provided with PAM enabled builds.
445
446              Default: NO
447
448       setproctitle_enable
449              If enabled, vsftpd will try and show session status  information
450              in the system process listing. In other words, the reported name
451              of the process will change to reflect what a vsftpd  session  is
452              doing  (idle,  downloading etc). You probably want to leave this
453              off for security purposes.
454
455              Default: NO
456
457       ssl_enable
458              If enabled, and vsftpd was compiled against OpenSSL, vsftpd will
459              support  secure connections via SSL. This applies to the control
460              connection (including login) and also data  connections.  You'll
461              need a client with SSL support too. NOTE!!  Beware enabling this
462              option. Only enable it if you need it. vsftpd can make no  guar‐
463              antees  about the security of the OpenSSL libraries. By enabling
464              this option, you are declaring that you trust  the  security  of
465              your installed OpenSSL library.
466
467              Default: NO
468
469       ssl_request_cert
470              If  enabled,  vsftpd  will request (but not necessarily require;
471              see    require_cert)acertificateonincomingSSLconnections.Normal‐
472              lythis should not cause any trouble at all, but IBM zOS seems to
473              have issues.  (New in v2.0.7).
474
475              Default: YES
476
477       ssl_sslv2
478              Only applies if ssl_enable is activated. If enabled, this option
479              will permit SSL v2 protocol connections.  TLS v1 connections are
480              preferred.
481
482              Default: NO
483
484       ssl_sslv3
485              Only applies if ssl_enable is activated. If enabled, this option
486              will permit SSL v3 protocol connections.  TLS v1 connections are
487              preferred.
488
489              Default: NO
490
491       ssl_tlsv1
492              Only applies if ssl_enable is activated. If enabled, this option
493              will permit TLS v1 protocol connections.  TLS v1 connections are
494              preferred.
495
496              Default: YES
497
498       strict_ssl_read_eof
499              If enabled, SSL data uploads are required to terminate via  SSL,
500              not  an  EOF  on  the socket. This option is required to be sure
501              that an attacker did not terminate an upload prematurely with  a
502              faked  TCP  FIN.  Unfortunately,  it  is  not enabled by default
503              because so few clients get it right. (New in v2.0.7).
504
505              Default: NO
506
507       strict_ssl_write_shutdown
508              If enabled, SSL data downloads are  required  to  terminate  via
509              SSL,  not  an EOF on the socket. This is off by default as I was
510              unable to find a single FTP client that does this. It is  minor.
511              All  it  affects  is our ability to tell whether the client con‐
512              firmed full receipt of the file. Even without this  option,  the
513              client  is  able to check the integrity of the download. (New in
514              v2.0.7).
515
516              Default: NO
517
518       syslog_enable
519              If enabled, then  any  log  output  which  would  have  gone  to
520              /var/log/vsftpd.log  goes  to the system log instead. Logging is
521              done under the FTPD facility.
522
523              Default: NO
524
525       tcp_wrappers
526              If enabled, and vsftpd was compiled with  tcp_wrappers  support,
527              incoming  connections  will  be  fed through tcp_wrappers access
528              control. Furthermore, there is a mechanism for per-IP based con‐
529              figuration.  If  tcp_wrappers sets the VSFTPD_LOAD_CONF environ‐
530              ment variable, then the vsftpd session will  try  and  load  the
531              vsftpd configuration file specified in this variable.
532
533              Default: NO
534
535       text_userdb_names
536              By  default,  numeric IDs are shown in the user and group fields
537              of directory listings. You can get  textual  names  by  enabling
538              this parameter. It is off by default for performance reasons.
539
540              Default: NO
541
542       tilde_user_enable
543              If  enabled,  vsftpd  will  try  and  resolve  pathnames such as
544              ~chris/pics, i.e. a tilde followed  by  a  username.  Note  that
545              vsftpd  will  always resolve the pathnames ~ and ~/something (in
546              this case the ~ resolves to the initial login  directory).  Note
547              that  ~user  paths will only resolve if the file /etc/passwd may
548              be found within the _current_ chroot() jail.
549
550              Default: NO
551
552       use_localtime
553              If enabled, vsftpd will display directory listings with the time
554              in  your  local  time  zone.  The default is to display GMT. The
555              times returned by the MDTM FTP command are also affected by this
556              option.
557
558              Default: NO
559
560       use_sendfile
561              An  internal  setting  used  for testing the relative benefit of
562              using the sendfile() system call on your platform.
563
564              Default: YES
565
566       userlist_deny
567              This option is examined if userlist_enable is activated. If  you
568              set  this  setting to NO, then users will be denied login unless
569              they  are  explicitly  listed   in   the   file   specified   by
570              userlist_file.   When  login  is  denied,  the  denial is issued
571              before the user is asked for a password.
572
573              Default: YES
574
575       userlist_enable
576              If enabled, vsftpd will load a list of usernames, from the file‐
577              name  given by userlist_file.  If a user tries to log in using a
578              name in this file, they will be denied before they are asked for
579              a password. This may be useful in preventing cleartext passwords
580              being transmitted. See also userlist_deny.
581
582              Default: NO
583
584       validate_cert
585              If set to yes, all SSL client certificates received  must  vali‐
586              date  OK.   Self-signed  certs  do not constitute OK validation.
587              (New in v2.0.6).
588
589              Default: NO
590
591       userlist_log
592              This option is examined  if  userlist_enable  is  activated.  If
593              enabled,  every  login  denial  based  on  the user list will be
594              logged.
595
596              Default: NO
597
598       virtual_use_local_privs
599              If enabled, virtual users will use the same privileges as  local
600              users. By default, virtual users will use the same privileges as
601              anonymous users, which tends to be more restrictive  (especially
602              in terms of write access).
603
604              Default: NO
605
606       write_enable
607              This controls whether any FTP commands which change the filesys‐
608              tem are allowed or not. These commands are:  STOR,  DELE,  RNFR,
609              RNTO, MKD, RMD, APPE and SITE.
610
611              Default: NO
612
613       xferlog_enable
614              If enabled, a log file will be maintained detailling uploads and
615              downloads.   By  default,  this   file   will   be   placed   at
616              /var/log/vsftpd.log,  but  this location may be overridden using
617              the configuration setting vsftpd_log_file.
618
619              Default: NO (but the sample config file enables it)
620
621       xferlog_std_format
622              If enabled, the transfer log file will be  written  in  standard
623              xferlog  format,  as used by wu-ftpd. This is useful because you
624              can reuse existing transfer statistics generators.  The  default
625              format  is more readable, however. The default location for this
626              style of log file is /var/log/xferlog, but  you  may  change  it
627              with the setting xferlog_file.
628
629              Default: NO
630
631

NUMERIC OPTIONS

633       Below  is  a list of numeric options. A numeric option must be set to a
634       non negative integer. Octal numbers are supported, for  convenience  of
635       the umask options. To specify an octal number, use 0 as the first digit
636       of the number.
637
638
639       accept_timeout
640              The timeout, in seconds, for a remote client to  establish  con‐
641              nection with a PASV style data connection.
642
643              Default: 60
644
645       anon_max_rate
646              The  maximum  data transfer rate permitted, in bytes per second,
647              for anonymous clients.
648
649              Default: 0 (unlimited)
650
651       anon_umask
652              The value that the umask for file creation is set to for  anony‐
653              mous  users. NOTE! If you want to specify octal values, remember
654              the "0" prefix otherwise the value will be treated as a base  10
655              integer!
656
657              Default: 077
658
659       chown_upload_mode
660              The  file  mode to force for chown()ed anonymous uploads. (Added
661              in v2.0.6).
662
663              Default: 0600
664
665       connect_timeout
666              The timeout, in seconds, for a remote client to respond  to  our
667              PORT style data connection.
668
669              Default: 60
670
671       data_connection_timeout
672              The  timeout,  in  seconds, which is roughly the maximum time we
673              permit data transfers to stall for  with  no  progress.  If  the
674              timeout triggers, the remote client is kicked off.
675
676              Default: 300
677
678       delay_failed_login
679              The  number  of  seconds  to  pause  prior to reporting a failed
680              login.
681
682              Default: 1
683
684       delay_successful_login
685              The number of seconds to pause prior to  allowing  a  successful
686              login.
687
688              Default: 0
689
690       file_open_mode
691              The  permissions  with  which uploaded files are created. Umasks
692              are applied on top of this value. You may wish to change to 0777
693              if you want uploaded files to be executable.
694
695              Default: 0666
696
697       ftp_data_port
698              The port from which PORT style connections originate (as long as
699              the poorly named connect_from_port_20 is enabled).
700
701              Default: 20
702
703       idle_session_timeout
704              The timeout, in seconds, which is  the  maximum  time  a  remote
705              client  may spend between FTP commands. If the timeout triggers,
706              the remote client is kicked off.
707
708              Default: 300
709
710       listen_port
711              If vsftpd is in standalone mode, this is the port it will listen
712              on for incoming FTP connections.
713
714              Default: 21
715
716       local_max_rate
717              The  maximum  data transfer rate permitted, in bytes per second,
718              for local authenticated users.
719
720              Default: 0 (unlimited)
721
722       local_umask
723              The value that the umask for file creation is set to  for  local
724              users.  NOTE!  If you want to specify octal values, remember the
725              "0" prefix otherwise the value will be  treated  as  a  base  10
726              integer!
727
728              Default: 077
729
730       max_clients
731              If  vsftpd  is in standalone mode, this is the maximum number of
732              clients which may be connected. Any additional clients  connect‐
733              ing will get an error message.
734
735              Default: 0 (unlimited)
736
737       max_login_fails
738              After this many login failures, the session is killed.
739
740              Default: 3
741
742       max_per_ip
743              If  vsftpd  is in standalone mode, this is the maximum number of
744              clients which may be connected from  the  same  source  internet
745              address. A client will get an error message if they go over this
746              limit.
747
748              Default: 0 (unlimited)
749
750       pasv_max_port
751              The maximum port to allocate for PASV  style  data  connections.
752              Can  be  used  to  specify  a  narrow port range to assist fire‐
753              walling.
754
755              Default: 0 (use any port)
756
757       pasv_min_port
758              The minimum port to allocate for PASV  style  data  connections.
759              Can  be  used  to  specify  a  narrow port range to assist fire‐
760              walling.
761
762              Default: 0 (use any port)
763
764       trans_chunk_size
765              You probably don't want to change this, but try  setting  it  to
766              something like 8192 for a much smoother bandwidth limiter.
767
768              Default: 0 (let vsftpd pick a sensible setting)
769
770

STRING OPTIONS

772       Below is a list of string options.
773
774
775       anon_root
776              This  option  represents  a  directory  which vsftpd will try to
777              change into  after  an  anonymous  login.  Failure  is  silently
778              ignored.
779
780              Default: (none)
781
782       banned_email_file
783              This option is the name of a file containing a list of anonymous
784              e-mail passwords which are not permitted. This file is consulted
785              if the option deny_email_enable is enabled.
786
787              Default: /etc/vsftpd/banned_emails
788
789       banner_file
790              This  option  is  the  name of a file containing text to display
791              when someone connects to the server. If set,  it  overrides  the
792              banner string provided by the ftpd_banner option.
793
794              Default: (none)
795
796       ca_certs_file
797              This  option is the name of a file to load Certificate Authority
798              certs from, for the purpose  of  validating  client  certs.  The
799              loaded  certs  are  also  advertised to the client, to cater for
800              TLSv1.0 clients such as the z/OS FTP client.   Regrettably,  the
801              default  SSL CA cert paths are not used, because of vsftpd's use
802              of restricted filesystem spaces (chroot). (Added in v2.0.6).
803
804              Default: (none)
805
806       chown_username
807              This is the name of the user who is given  ownership  of  anony‐
808              mously  uploaded  files. This option is only relevant if another
809              option, chown_uploads, is set.
810
811              Default: root
812
813       chroot_list_file
814              The option is the name of a file  containing  a  list  of  local
815              users  which  will  be  placed  in a chroot() jail in their home
816              directory.  This  option  is  only  relevant   if   the   option
817              chroot_list_enable  is  enabled. If the option chroot_local_user
818              is enabled, then the list file becomes a list of  users  to  NOT
819              place in a chroot() jail.
820
821              Default: /etvsftpd.confc/vsftpd.chroot_list
822
823       cmds_allowed
824              This  options  specifies  a  comma separated list of allowed FTP
825              commands (post login. USER, PASS and QUIT and others are  always
826              allowed  pre-login). Other commands are rejected. This is a pow‐
827              erful method of really locking  down  an  FTP  server.  Example:
828              cmds_allowed=PASV,RETR,QUIT
829
830              Default: (none)
831
832       cmds_denied
833              This options specifies a comma separated list of denied FTP com‐
834              mands (post login.  USER,  PASS,  QUIT  and  others  are  always
835              allowed  pre-login).  If  a  command  appears  on  both this and
836              cmds_allowed  then  the  denial  takes  precedence.  (Added   in
837              v2.1.0).
838
839              Default: (none)
840
841       deny_file
842              This  option  can  be  used  to set a pattern for filenames (and
843              directory names etc.) which should not be accessible in any way.
844              The  affected  items  are not hidden, but any attempt to do any‐
845              thing to them (download, change into directory, affect something
846              within  directory etc.) will be denied. This option is very sim‐
847              ple, and should not be used for serious  access  control  -  the
848              filesystem's  permissions should be used in preference. However,
849              this option may be useful in certain  virtual  user  setups.  In
850              particular  aware  that if a filename is accessible by a variety
851              of names (perhaps due to symbolic links  or  hard  links),  then
852              care must be taken to deny access to all the names.  Access will
853              be denied to items if their name contains the  string  given  by
854              hide_file,  or if they match the regular expression specified by
855              hide_file.  Note that vsftpd's regular expression matching  code
856              is  a  simple  implementation  which is a subset of full regular
857              expression functionality. Because of  this,  you  will  need  to
858              carefully  and exhaustively test any application of this option.
859              And you are recommended to use filesystem  permissions  for  any
860              important  security  policies  due to their greater reliability.
861              Supported regex syntax is any number of *, ?  and  unnested  {,}
862              operators.  Regex  matching is only supported on the last compo‐
863              nent of a path, e.g. a/b/? is supported but a/?/c is not.  Exam‐
864              ple: deny_file={*.mp3,*.mov,.private}
865
866              Default: (none)
867
868       dsa_cert_file
869              This option specifies the location of the DSA certificate to use
870              for SSL encrypted connections.
871
872              Default: (none - an RSA certificate suffices)
873
874       dsa_private_key_file
875              This option specifies the location of the DSA private key to use
876              for  SSL  encrypted  connections. If this option is not set, the
877              private key is expected to be in the same file as  the  certifi‐
878              cate.
879
880              Default: (none)
881
882       email_password_file
883              This  option  can be used to provide an alternate file for usage
884              by the secure_email_list_enable setting.
885
886              Default: /etc/vsftpd/email_passwords
887
888       ftp_username
889              This is the name of the user we use for handling anonymous  FTP.
890              The home directory of this user is the root of the anonymous FTP
891              area.
892
893              Default: ftp
894
895       ftpd_banner
896              This string option allows you to override  the  greeting  banner
897              displayed by vsftpd when a connection first comes in.
898
899              Default: (none - default vsftpd banner is displayed)
900
901       guest_username
902              See  the  boolean setting guest_enable for a description of what
903              constitutes a guest login. This setting  is  the  real  username
904              which guest users are mapped to.
905
906              Default: ftp
907
908       hide_file
909              This  option  can  be  used  to set a pattern for filenames (and
910              directory names etc.) which  should  be  hidden  from  directory
911              listings. Despite being hidden, the files / directories etc. are
912              fully accessible to clients who know what names to actually use.
913              Items  will be hidden if their names contain the string given by
914              hide_file, or if they match the regular expression specified  by
915              hide_file.  Note  that vsftpd's regular expression matching code
916              is a simple implementation which is a  subset  of  full  regular
917              expression  functionality.  See deny_file for details of exactly
918              what regex syntax is supported.  Example: hide_file={*.mp3,.hid‐
919              den,hide*,h?}
920
921              Default: (none)
922
923       listen_address
924              If  vsftpd is in standalone mode, the default listen address (of
925              all local interfaces) may be overridden by this setting. Provide
926              a numeric IP address.
927
928              Default: (none)
929
930       listen_address6
931              Like  listen_address, but specifies a default listen address for
932              the IPv6 listener (which is used if listen_ipv6 is set).  Format
933              is standard IPv6 address format.
934
935              Default: (none)
936
937       local_root
938              This  option  represents  a  directory  which vsftpd will try to
939              change into after a local (i.e. non-anonymous) login. Failure is
940              silently ignored.
941
942              Default: (none)
943
944       message_file
945              This  option  is  the  name  of  the file we look for when a new
946              directory is entered. The contents are displayed to  the  remote
947              user.  This  option  is  only  relevant  if  the  option dirmes‐
948              sage_enable is enabled.
949
950              Default: .message
951
952       nopriv_user
953              This is the name of the user that is  used  by  vsftpd  when  it
954              wants  to  be  totally  unprivileged. Note that this should be a
955              dedicated user, rather than nobody. The user nobody tends to  be
956              used for rather a lot of important things on most machines.
957
958              Default: nobody
959
960       pam_service_name
961              This string is the name of the PAM service vsftpd will use.
962
963              Default: ftp
964
965       pasv_address
966              Use  this  option  to  override  the IP address that vsftpd will
967              advertise in response to the PASV command. Provide a numeric  IP
968              address,  unless pasv_addr_resolve is enabled, in which case you
969              can provide a hostname which will be DNS  resolved  for  you  at
970              startup.
971
972              Default:  (none  -  the  address is taken from the incoming con‐
973              nected socket)
974
975       rsa_cert_file
976              This option specifies the location of the RSA certificate to use
977              for SSL encrypted connections.
978
979              Default: /usr/share/ssl/certs/vsftpd.pem
980
981       rsa_private_key_file
982              This option specifies the location of the RSA private key to use
983              for SSL encrypted connections. If this option is  not  set,  the
984              private  key  is expected to be in the same file as the certifi‐
985              cate.
986
987              Default: (none)
988
989       secure_chroot_dir
990              This option should be the name of a directory  which  is  empty.
991              Also, the directory should not be writable by the ftp user. This
992              directory is used as a secure chroot() jail at times vsftpd does
993              not require filesystem access.
994
995              Default: /usr/share/empty
996
997       ssl_ciphers
998              This  option can be used to select which SSL ciphers vsftpd will
999              allow for encrypted SSL connections. See the  ciphers  man  page
1000              for further details. Note that restricting ciphers can be a use‐
1001              ful security precaution as it prevents malicious remote  parties
1002              forcing a cipher which they have found problems with.
1003
1004              Default: DES-CBC3-SHA
1005
1006       user_config_dir
1007              This  powerful  option  allows the override of any config option
1008              specified in the manual page, on a per-user basis. Usage is sim‐
1009              ple,  and  is  best  illustrated  with  an  example.  If you set
1010              user_config_dir to be /etc/vsftpd/user_conf and then log  on  as
1011              the  user  "chris",  then  vsftpd will apply the settings in the
1012              file /etc/vsftpd/user_conf/chris for the duration  of  the  ses‐
1013              sion.  The  format  of  this  file is as detailed in this manual
1014              page! PLEASE NOTE that not all settings are effective on a  per-
1015              user  basis. For example, many settings only prior to the user's
1016              session being started.  Examples  of  settings  which  will  not
1017              affect  any behviour on a per-user basis include listen_address,
1018              banner_file, max_per_ip, max_clients, xferlog_file, etc.
1019
1020              Default: (none)
1021
1022       user_sub_token
1023              This option is useful is conjunction with virtual users.  It  is
1024              used to automatically generate a home directory for each virtual
1025              user, based on a template. For example, if the home directory of
1026              the   real  user  specified  via  guest_username  is  /home/vir‐
1027              tual/$USER, and user_sub_token is set to $USER, then  when  vir‐
1028              tual  user fred logs in, he will end up (usually chroot()'ed) in
1029              the directory /home/virtual/fred.  This option also takes affect
1030              if local_root contains user_sub_token.
1031
1032              Default: (none)
1033
1034       userlist_file
1035              This   option   is   the  name  of  the  file  loaded  when  the
1036              userlist_enable option is active.
1037
1038              Default: /etc/vsftpd/user_list
1039
1040       vsftpd_log_file
1041              This option is the name of the file to which we write the vsftpd
1042              style  log  file.  This  log is only written if the option xfer‐
1043              log_enable is set, and xferlog_std_format is NOT  set.  Alterna‐
1044              tively,   it   is   written   if   you   have   set  the  option
1045              dual_log_enable.  One further complication -  if  you  have  set
1046              syslog_enable,  then this file is not written and output is sent
1047              to the system log instead.
1048
1049              Default: /var/log/vsftpd.log
1050
1051       xferlog_file
1052              This option is the name of the file to which we  write  the  wu-
1053              ftpd style transfer log. The transfer log is only written if the
1054              option xferlog_enable is  set,  along  with  xferlog_std_format.
1055              Alternatively,  it  is  written  if  you  have  set  the  option
1056              dual_log_enable.
1057
1058              Default: /var/log/xferlog
1059
1060

AUTHOR

1062       scarybeasts@gmail.com
1063
1064
1065
1066
1067                                                                VSFTPD.CONF(5)
Impressum