1VSFTPD.CONF(5) File Formats Manual VSFTPD.CONF(5)
2
3
4
6 vsftpd.conf - config file for vsftpd
7
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
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
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
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
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
956 chris@scary.beasts.org
957
958
959
960
961 VSFTPD.CONF(5)