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 enables, 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       deny_email_enable
166              If activated, you may provide a list of  anonymous  password  e-
167              mail  responses  which cause login to be denied. By default, the
168              file containing this list is /etc/vsftpd/banned_emails, but  you
169              may override this with the banned_email_file setting.
170
171              Default: NO
172
173       dirlist_enable
174              If  set  to NO, all directory list commands will give permission
175              denied.
176
177              Default: YES
178
179       dirmessage_enable
180              If enabled, users of the FTP server can be shown  messages  when
181              they  first  enter  a  new directory. By default, a directory is
182              scanned for the file .message, but that may be  overridden  with
183              the configuration setting message_file.
184
185              Default: NO (but the sample config file enables it)
186
187       download_enable
188              If set to NO, all download requests will give permission denied.
189
190              Default: YES
191
192       dual_log_enable
193              If  enabled,  two  log files are generated in parallel, going by
194              default to /var/log/xferlog and /var/log/vsftpd.log.  The former
195              is  a  wu-ftpd  style transfer log, parseable by standard tools.
196              The latter is vsftpd's own style log.
197
198              Default: NO
199
200       force_dot_files
201              If activated, files and directories  starting  with  .  will  be
202              shown in directory listings even if the "a" flag was not used by
203              the client. This override excludes the "." and ".." entries.
204
205              Default: NO
206
207       force_anon_data_ssl
208              Only applies if  ssl_enable  is  activated.  If  activated,  all
209              anonymous  logins  are  forced to use a secure SSL connection in
210              order to send and receive data on data connections.
211
212              Default: NO
213
214       force_anon_logins_ssl
215              Only applies if  ssl_enable  is  activated.  If  activated,  all
216              anonymous  logins  are  forced to use a secure SSL connection in
217              order to send the password.
218
219              Default: NO
220
221       force_local_data_ssl
222              Only applies if ssl_enable is activated. If activated, all  non-
223              anonymous  logins  are  forced to use a secure SSL connection in
224              order to send and receive data on data connections.
225
226              Default: YES
227
228       force_local_logins_ssl
229              Only applies if ssl_enable is activated. If activated, all  non-
230              anonymous  logins  are  forced to use a secure SSL connection in
231              order to send the password.
232
233              Default: YES
234
235       guest_enable
236              If enabled, all non-anonymous  logins  are  classed  as  "guest"
237              logins.  A  guest login is remapped to the user specified in the
238              guest_username setting.
239
240              Default: NO
241
242       hide_ids
243              If enabled, all user and group information in directory listings
244              will be displayed as "ftp".
245
246              Default: NO
247
248       listen If  enabled, vsftpd will run in standalone mode. This means that
249              vsftpd must not be run from an inetd of some kind. Instead,  the
250              vsftpd  executable is run once directly. vsftpd itself will then
251              take care of listening for and handling incoming connections.
252
253              Default: NO
254
255       listen_ipv6
256              Like the listen parameter, except vsftpd will listen on an  IPv6
257              socket  instead  of  an  IPv4 one. This parameter and the listen
258              parameter are mutually exclusive.
259
260              Default: NO
261
262       local_enable
263              Controls whether local logins are permitted or not. If  enabled,
264              normal user accounts in /etc/passwd (or wherever your PAM config
265              references) may be used to log in. This must be enable  for  any
266              non-anonymous login to work, including virtual users.
267
268              Default: NO
269
270       lock_upload_files
271              When  enabled,  all  uploads  proceed  with  a write lock on the
272              upload file. All downloads proceed with a shared  read  lock  on
273              the download file. WARNING!  Before enabling this, be aware that
274              malicious readers could starve a writer wanting to e.g. append a
275              file.
276
277              Default: NO
278
279       log_ftp_protocol
280              When enabled, all FTP requests and responses are logged, provid‐
281              ing the option xferlog_std_format is  not  enabled.  Useful  for
282              debugging.
283
284              Default: NO
285
286       ls_recurse_enable
287              When  enabled,  this setting will allow the use of "ls -R". This
288              is a minor security risk, because a ls -R at the top level of  a
289              large site may consume a lot of resources.
290
291              Default: NO
292
293       mdtm_write
294              When enabled, this setting will allow MDTM to set file modifica‐
295              tion times (subject to the usual access checks).
296
297              Default: YES
298
299       no_anon_password
300              When enabled, this prevents vsftpd from asking for an  anonymous
301              password - the anonymous user will log straight in.
302
303              Default: NO
304
305       no_log_lock
306              When  enabled, this prevents vsftpd from taking a file lock when
307              writing to log  files.  This  option  should  generally  not  be
308              enabled.  It  exists to workaround operating system bugs such as
309              the Solaris / Veritas  filesystem  combination  which  has  been
310              observed to sometimes exhibit hangs trying to lock log files.
311
312              Default: NO
313
314       one_process_model
315              If  you have a Linux 2.4 kernel, it is possible to use a differ‐
316              ent security model which only uses one process  per  connection.
317              It is a less pure security model, but gains you performance. You
318              really don't want to enable this unless you know  what  you  are
319              doing,  and  your  site  supports huge numbers of simultaneously
320              connected users.
321
322              Default: NO
323
324       passwd_chroot_enable
325              If enabled, along with chroot_local_user , then a chroot()  jail
326              location  may be specified on a per-user basis. Each user's jail
327              is derived from their home directory string in /etc/passwd.  The
328              occurrence  of /./ in the home directory string denotes that the
329              jail is at that particular location in the path.
330
331              Default: NO
332
333       pasv_addr_resolve
334              Set to YES if you want to use  a  hostname  (as  opposed  to  IP
335              address) in the pasv_address option.
336
337              Default: NO
338
339       pasv_enable
340              Set to NO if you want to disallow the PASV method of obtaining a
341              data connection.
342
343              Default: YES
344
345       pasv_promiscuous
346              Set to YES if you want to disable the PASV security  check  that
347              ensures  the data connection originates from the same IP address
348              as the control connection.  Only enable if you know what you are
349              doing!  The  only  legitimate  use  for  this is in some form of
350              secure tunnelling scheme, or perhaps to facilitate FXP support.
351
352              Default: NO
353
354       port_enable
355              Set to NO if you want to disallow the PORT method of obtaining a
356              data connection.
357
358              Default: YES
359
360       port_promiscuous
361              Set  to  YES if you want to disable the PORT security check that
362              ensures that outgoing data connections can only connect  to  the
363              client. Only enable if you know what you are doing!
364
365              Default: NO
366
367       run_as_launching_user
368              Set  to YES if you want vsftpd to run as the user which launched
369              vsftpd. This is useful where root access is not available.  MAS‐
370              SIVE  WARNING! Do NOT enable this option unless you totally know
371              what you are doing, as naive use of this option can create  mas‐
372              sive  security  problems. Specifically, vsftpd does not / cannot
373              use chroot technology to restrict file access when  this  option
374              is set (even if launched by root). A poor substitute could be to
375              use a deny_file setting such as {/*,*..*}, but  the  reliability
376              of  this  cannot compare to chroot, and should not be relied on.
377              If using this option, many restrictions on other options  apply.
378              For  example,  options requiring privilege such as non-anonymous
379              logins, upload ownership changing, connecting from port  20  and
380              listen  ports  less  than  1024  are not expected to work. Other
381              options may be impacted.
382
383              Default: NO
384
385       secure_email_list_enable
386              Set to YES if you want only a specified list of e-mail passwords
387              for  anonymous  logins  to be accepted. This is useful as a low-
388              hassle way of restricting access to low-security content without
389              needing  virtual  users. When enabled, anonymous logins are pre‐
390              vented unless the password provided is listed in the file speci‐
391              fied  by the email_password_file setting. The file format is one
392              password per line, no extra whitespace. The default filename  is
393              /etc/vsftpd/email_passwords.
394
395              Default: NO
396
397       session_support
398              This  controls  whether vsftpd attempts to maintain sessions for
399              logins. If vsftpd is  maintaining  sessions,  it  will  try  and
400              update  utmp  and wtmp. It will also open a pam_session if using
401              PAM to authenticate, and only close this upon  logout.  You  may
402              wish to disable this if you do not need session logging, and you
403              wish to give vsftpd more opportunity to run with less  processes
404              and  /  or  less privilege. NOTE - utmp and wtmp support is only
405              provided with PAM enabled builds.
406
407              Default: NO
408
409       setproctitle_enable
410              If enabled, vsftpd will try and show session status  information
411              in the system process listing. In other words, the reported name
412              of the process will change to reflect what a vsftpd  session  is
413              doing  (idle,  downloading etc). You probably want to leave this
414              off for security purposes.
415
416              Default: NO
417
418       ssl_enable
419              If enabled, and vsftpd was compiled against OpenSSL, vsftpd will
420              support  secure connections via SSL. This applies to the control
421              connection (including login) and also data  connections.  You'll
422              need a client with SSL support too. NOTE!!  Beware enabling this
423              option. Only enable it if you need it. vsftpd can make no  guar‐
424              antees  about the security of the OpenSSL libraries. By enabling
425              this option, you are declaring that you trust  the  security  of
426              your installed OpenSSL library.
427
428              Default: NO
429
430       ssl_sslv2
431              Only applies if ssl_enable is activated. If enabled, this option
432              will permit SSL v2 protocol connections.  TLS v1 connections are
433              preferred.
434
435              Default: NO
436
437       ssl_sslv3
438              Only applies if ssl_enable is activated. If enabled, this option
439              will permit SSL v3 protocol connections.  TLS v1 connections are
440              preferred.
441
442              Default: NO
443
444       ssl_tlsv1
445              Only applies if ssl_enable is activated. If enabled, this option
446              will permit TLS v1 protocol connections.  TLS v1 connections are
447              preferred.
448
449              Default: YES
450
451       syslog_enable
452              If  enabled,  then  any  log  output  which  would  have gone to
453              /var/log/vsftpd.log goes to the system log instead.  Logging  is
454              done under the FTPD facility.
455
456              Default: NO
457
458       tcp_wrappers
459              If  enabled,  and vsftpd was compiled with tcp_wrappers support,
460              incoming connections will be  fed  through  tcp_wrappers  access
461              control. Furthermore, there is a mechanism for per-IP based con‐
462              figuration. If tcp_wrappers sets the  VSFTPD_LOAD_CONF  environ‐
463              ment  variable,  then  the  vsftpd session will try and load the
464              vsftpd configuration file specified in this variable.
465
466              Default: NO
467
468       text_userdb_names
469              By default, numeric IDs are shown in the user and  group  fields
470              of  directory  listings.  You  can get textual names by enabling
471              this parameter. It is off by default for performance reasons.
472
473              Default: NO
474
475       tilde_user_enable
476              If enabled, vsftpd  will  try  and  resolve  pathnames  such  as
477              ~chris/pics,  i.e.  a  tilde  followed  by a username. Note that
478              vsftpd will always resolve the pathnames ~ and  ~/something  (in
479              this  case  the ~ resolves to the initial login directory). Note
480              that ~user paths will only resolve if the file  /etc/passwd  may
481              be found within the _current_ chroot() jail.
482
483              Default: NO
484
485       use_localtime
486              If enabled, vsftpd will display directory listings with the time
487              in your local time zone. The default  is  to  display  GMT.  The
488              times returned by the MDTM FTP command are also affected by this
489              option.
490
491              Default: NO
492
493       use_sendfile
494              An internal setting used for testing  the  relative  benefit  of
495              using the sendfile() system call on your platform.
496
497              Default: YES
498
499       userlist_deny
500              This  option is examined if userlist_enable is activated. If you
501              set this setting to NO, then users will be denied  login  unless
502              they   are   explicitly   listed   in   the  file  specified  by
503              userlist_file.  When login  is  denied,  the  denial  is  issued
504              before the user is asked for a password.
505
506              Default: YES
507
508       userlist_enable
509              If enabled, vsftpd will load a list of usernames, from the file‐
510              name given by userlist_file.  If a user tries to log in using  a
511              name in this file, they will be denied before they are asked for
512              a password. This may be useful in preventing cleartext passwords
513              being transmitted. See also userlist_deny.
514
515              Default: NO
516
517       virtual_use_local_privs
518              If  enabled, virtual users will use the same privileges as local
519              users. By default, virtual users will use the same privileges as
520              anonymous  users, which tends to be more restrictive (especially
521              in terms of write access).
522
523              Default: NO
524
525       write_enable
526              This controls whether any FTP commands which change the filesys‐
527              tem  are  allowed  or not. These commands are: STOR, DELE, RNFR,
528              RNTO, MKD, RMD, APPE and SITE.
529
530              Default: NO
531
532       xferlog_enable
533              If enabled, a log file will be maintained detailling uploads and
534              downloads.    By   default,   this   file   will  be  placed  at
535              /var/log/vsftpd.log, but this location may be  overridden  using
536              the configuration setting vsftpd_log_file.
537
538              Default: NO (but the sample config file enables it)
539
540       xferlog_std_format
541              If  enabled,  the  transfer log file will be written in standard
542              xferlog format, as used by wu-ftpd. This is useful  because  you
543              can  reuse  existing transfer statistics generators. The default
544              format is more readable, however. The default location for  this
545              style  of  log  file  is /var/log/xferlog, but you may change it
546              with the setting xferlog_file.
547
548              Default: NO
549
550

NUMERIC OPTIONS

552       Below is a list of numeric options. A numeric option must be set  to  a
553       non  negative  integer. Octal numbers are supported, for convenience of
554       the umask options. To specify an octal number, use 0 as the first digit
555       of the number.
556
557
558       accept_timeout
559              The  timeout,  in seconds, for a remote client to establish con‐
560              nection with a PASV style data connection.
561
562              Default: 60
563
564       anon_max_rate
565              The maximum data transfer rate permitted, in bytes  per  second,
566              for anonymous clients.
567
568              Default: 0 (unlimited)
569
570       anon_umask
571              The  value that the umask for file creation is set to for anony‐
572              mous users. NOTE! If you want to specify octal values,  remember
573              the  "0" prefix otherwise the value will be treated as a base 10
574              integer!
575
576              Default: 077
577
578       connect_timeout
579              The timeout, in seconds, for a remote client to respond  to  our
580              PORT style data connection.
581
582              Default: 60
583
584       data_connection_timeout
585              The  timeout,  in  seconds, which is roughly the maximum time we
586              permit data transfers to stall for  with  no  progress.  If  the
587              timeout triggers, the remote client is kicked off.
588
589              Default: 300
590
591       delay_failed_login
592              The  number  of  seconds  to  pause  prior to reporting a failed
593              login.
594
595              Default: 1
596
597       delay_successful_login
598              The number of seconds to pause prior to  allowing  a  successful
599              login.
600
601              Default: 0
602
603       file_open_mode
604              The  permissions  with  which uploaded files are created. Umasks
605              are applied on top of this value. You may wish to change to 0777
606              if you want uploaded files to be executable.
607
608              Default: 0666
609
610       ftp_data_port
611              The port from which PORT style connections originate (as long as
612              the poorly named connect_from_port_20 is enabled).
613
614              Default: 20
615
616       idle_session_timeout
617              The timeout, in seconds, which is  the  maximum  time  a  remote
618              client  may spend between FTP commands. If the timeout triggers,
619              the remote client is kicked off.
620
621              Default: 300
622
623       listen_port
624              If vsftpd is in standalone mode, this is the port it will listen
625              on for incoming FTP connections.
626
627              Default: 21
628
629       local_max_rate
630              The  maximum  data transfer rate permitted, in bytes per second,
631              for local authenticated users.
632
633              Default: 0 (unlimited)
634
635       local_umask
636              The value that the umask for file creation is set to  for  local
637              users.  NOTE!  If you want to specify octal values, remember the
638              "0" prefix otherwise the value will be  treated  as  a  base  10
639              integer!
640
641              Default: 077
642
643       max_clients
644              If  vsftpd  is in standalone mode, this is the maximum number of
645              clients which may be connected. Any additional clients  connect‐
646              ing will get an error message.
647
648              Default: 0 (unlimited)
649
650       max_login_fails
651              After this many login failures, the session is killed.
652
653              Default: 3
654
655       max_per_ip
656              If  vsftpd  is in standalone mode, this is the maximum number of
657              clients which may be connected from  the  same  source  internet
658              address. A client will get an error message if they go over this
659              limit.
660
661              Default: 0 (unlimited)
662
663       pasv_max_port
664              The maximum port to allocate for PASV  style  data  connections.
665              Can  be  used  to  specify  a  narrow port range to assist fire‐
666              walling.
667
668              Default: 0 (use any port)
669
670       pasv_min_port
671              The minimum port to allocate for PASV  style  data  connections.
672              Can  be  used  to  specify  a  narrow port range to assist fire‐
673              walling.
674
675              Default: 0 (use any port)
676
677       trans_chunk_size
678              You probably don't want to change this, but try  setting  it  to
679              something like 8192 for a much smoother bandwidth limiter.
680
681              Default: 0 (let vsftpd pick a sensible setting)
682
683

STRING OPTIONS

685       Below is a list of string options.
686
687
688       anon_root
689              This  option  represents  a  directory  which vsftpd will try to
690              change into  after  an  anonymous  login.  Failure  is  silently
691              ignored.
692
693              Default: (none)
694
695       banned_email_file
696              This option is the name of a file containing a list of anonymous
697              e-mail passwords which are not permitted. This file is consulted
698              if the option deny_email_enable is enabled.
699
700              Default: /etc/vsftpd/banned_emails
701
702       banner_file
703              This  option  is  the  name of a file containing text to display
704              when someone connects to the server. If set,  it  overrides  the
705              banner string provided by the ftpd_banner option.
706
707              Default: (none)
708
709       chown_username
710              This  is  the  name of the user who is given ownership of anony‐
711              mously uploaded files. This option is only relevant  if  another
712              option, chown_uploads, is set.
713
714              Default: root
715
716       chroot_list_file
717              The  option  is  the  name  of a file containing a list of local
718              users which will be placed in a  chroot()  jail  in  their  home
719              directory.   This   option   is  only  relevant  if  the  option
720              chroot_list_enable is enabled. If the  option  chroot_local_user
721              is  enabled,  then  the list file becomes a list of users to NOT
722              place in a chroot() jail.
723
724              Default: /etc/vsftpd/chroot_list
725
726       cmds_allowed
727              This options specifies a comma separated  list  of  allowed  FTP
728              commands  (post  login.  USER,  PASS and QUIT are always allowed
729              pre-login). Other commands are  rejected.  This  is  a  powerful
730              method   of   really   locking  down  an  FTP  server.  Example:
731              cmds_allowed=PASV,RETR,QUIT
732
733              Default: (none)
734
735       deny_file
736              This option can be used to set  a  pattern  for  filenames  (and
737              directory names etc.) which should not be accessible in any way.
738              The affected items are not hidden, but any attempt  to  do  any‐
739              thing to them (download, change into directory, affect something
740              within directory etc.) will be denied. This option is very  sim‐
741              ple,  and  should  not  be used for serious access control - the
742              filesystem's permissions should be used in preference.  However,
743              this  option  may  be  useful in certain virtual user setups. In
744              particular aware that if a filename is accessible by  a  variety
745              of  names  (perhaps  due  to symbolic links or hard links), then
746              care must be taken to deny access to all the names.  Access will
747              be  denied  to  items if their name contains the string given by
748              hide_file, or if they match the regular expression specified  by
749              hide_file.   Note that vsftpd's regular expression matching code
750              is a simple implementation which is a  subset  of  full  regular
751              expression  functionality.  Because  of  this,  you will need to
752              carefully and exhaustively test any application of this  option.
753              And  you  are  recommended to use filesystem permissions for any
754              important security policies due to  their  greater  reliability.
755              Supported  regex  syntax  is any number of *, ? and unnested {,}
756              operators. Regex matching is only supported on the  last  compo‐
757              nent of a path, e.g. a/b/? is supported but a/?/c is not.  Exam‐
758              ple: deny_file={*.mp3,*.mov,.private}
759
760              Default: (none)
761
762       dsa_cert_file
763              This option specifies the location of the DSA certificate to use
764              for SSL encrypted connections.
765
766              Default: (none - an RSA certificate suffices)
767
768       dsa_private_key_file
769              This option specifies the location of the DSA private key to use
770              for SSL encrypted connections. If this option is  not  set,  the
771              private  key  is expected to be in the same file as the certifi‐
772              cate.
773
774              Default: (none)
775
776       email_password_file
777              This option can be used to provide an alternate file  for  usage
778              by the secure_email_list_enable setting.
779
780              Default: /etc/vsftpd/email_passwords
781
782       ftp_username
783              This  is the name of the user we use for handling anonymous FTP.
784              The home directory of this user is the root of the anonymous FTP
785              area.
786
787              Default: ftp
788
789       ftpd_banner
790              This  string  option  allows you to override the greeting banner
791              displayed by vsftpd when a connection first comes in.
792
793              Default: (none - default vsftpd banner is displayed)
794
795       guest_username
796              See the boolean setting guest_enable for a description  of  what
797              constitutes  a  guest  login.  This setting is the real username
798              which guest users are mapped to.
799
800              Default: ftp
801
802       hide_file
803              This option can be used to set  a  pattern  for  filenames  (and
804              directory  names  etc.)  which  should  be hidden from directory
805              listings. Despite being hidden, the files / directories etc. are
806              fully accessible to clients who know what names to actually use.
807              Items will be hidden if their names contain the string given  by
808              hide_file,  or if they match the regular expression specified by
809              hide_file. Note that vsftpd's regular expression  matching  code
810              is  a  simple  implementation  which is a subset of full regular
811              expression functionality.  See deny_file for details of  exactly
812              what regex syntax is supported.  Example: hide_file={*.mp3,.hid‐
813              den,hide*,h?}
814
815              Default: (none)
816
817       listen_address
818              If vsftpd is in standalone mode, the default listen address  (of
819              all local interfaces) may be overridden by this setting. Provide
820              a numeric IP address.
821
822              Default: (none)
823
824       listen_address6
825              Like listen_address, but specifies a default listen address  for
826              the  IPv6 listener (which is used if listen_ipv6 is set). Format
827              is standard IPv6 address format.
828
829              Default: (none)
830
831       local_root
832              This option represents a directory  which  vsftpd  will  try  to
833              change into after a local (i.e. non-anonymous) login. Failure is
834              silently ignored.
835
836              Default: (none)
837
838       message_file
839              This option is the name of the file  we  look  for  when  a  new
840              directory  is  entered. The contents are displayed to the remote
841              user. This  option  is  only  relevant  if  the  option  dirmes‐
842              sage_enable is enabled.
843
844              Default: .message
845
846       nopriv_user
847              This  is  the  name  of  the user that is used by vsftpd when it
848              wants to be totally unprivileged. Note that  this  should  be  a
849              dedicated  user, rather than nobody. The user nobody tends to be
850              used for rather a lot of important things on most machines.
851
852              Default: nobody
853
854       pam_service_name
855              This string is the name of the PAM service vsftpd will use.
856
857              Default: ftp
858
859       pasv_address
860              Use this option to override the  IP  address  that  vsftpd  will
861              advertise  in response to the PASV command. Provide a numeric IP
862              address, unless pasv_addr_resolve is enabled, in which case  you
863              can  provide  a  hostname  which will be DNS resolved for you at
864              startup.
865
866              Default: (none - the address is taken  from  the  incoming  con‐
867              nected socket)
868
869       rsa_cert_file
870              This option specifies the location of the RSA certificate to use
871              for SSL encrypted connections.
872
873              Default: /usr/share/ssl/certs/vsftpd.pem
874
875       rsa_private_key_file
876              This option specifies the location of the RSA private key to use
877              for  SSL  encrypted  connections. If this option is not set, the
878              private key is expected to be in the same file as  the  certifi‐
879              cate.
880
881              Default: (none)
882
883       secure_chroot_dir
884              This  option  should  be the name of a directory which is empty.
885              Also, the directory should not be writable by the ftp user. This
886              directory is used as a secure chroot() jail at times vsftpd does
887              not require filesystem access.
888
889              Default: /usr/share/empty
890
891       ssl_ciphers
892              This option can be used to select which SSL ciphers vsftpd  will
893              allow  for  encrpyted  SSL connections. See the ciphers man page
894              for further details. Note that restricting ciphers can be a use‐
895              ful  security precaution as it prevents malicious remote parties
896              forcing a cipher which they have found problems with.
897
898              Default: DES-CBC3-SHA
899
900       user_config_dir
901              This powerful option allows the override of  any  config  option
902              specified in the manual page, on a per-user basis. Usage is sim‐
903              ple, and is  best  illustrated  with  an  example.  If  you  set
904              user_config_dir  to  be /etc/vsftpd_user_conf and then log on as
905              the user "chris", then vsftpd will apply  the  settings  in  the
906              file  /etc/vsftpd_user_conf/chris  for  the duration of the ses‐
907              sion. The format of this file is  as  detailed  in  this  manual
908              page!  PLEASE NOTE that not all settings are effective on a per-
909              user basis. For example, many settings only prior to the  user's
910              session  being  started.  Examples  of  settings  which will not
911              affect any behviour on a per-user basis include  listen_address,
912              banner_file, max_per_ip, max_clients, xferlog_file, etc.
913
914              Default: (none)
915
916       user_sub_token
917              This  option  is useful is conjunction with virtual users. It is
918              used to automatically generate a home directory for each virtual
919              user, based on a template. For example, if the home directory of
920              the  real  user  specified  via  guest_username  is   /home/vir‐
921              tual/$USER,  and  user_sub_token is set to $USER, then when vir‐
922              tual user fred logs in, he will end up (usually chroot()'ed)  in
923              the directory /home/virtual/fred.  This option also takes affect
924              if local_root contains user_sub_token.
925
926              Default: (none)
927
928       userlist_file
929              This  option  is  the  name  of  the  file   loaded   when   the
930              userlist_enable option is active.
931
932              Default: /etc/vsftpd/user_list
933
934       vsftpd_log_file
935              This option is the name of the file to which we write the vsftpd
936              style log file. This log is only written  if  the  option  xfer‐
937              log_enable  is  set, and xferlog_std_format is NOT set. Alterna‐
938              tively,  it  is   written   if   you   have   set   the   option
939              dual_log_enable.   One  further  complication  - if you have set
940              syslog_enable, then this file is not written and output is  sent
941              to the system log instead.
942
943              Default: /var/log/vsftpd.log
944
945       xferlog_file
946              This  option  is  the name of the file to which we write the wu-
947              ftpd style transfer log. The transfer log is only written if the
948              option  xferlog_enable  is  set,  along with xferlog_std_format.
949              Alternatively,  it  is  written  if  you  have  set  the  option
950              dual_log_enable.
951
952              Default: /var/log/xferlog
953
954

AUTHOR

956       chris@scary.beasts.org
957
958
959
960
961                                                                VSFTPD.CONF(5)
Impressum