2 # This is the main config file
3 # lines begining with a # are ignored, as empty lines
4 # all lines must be of the form:
6 # (for windows users: without the < > ;-)
8 # Change zeroconf_name to whatever you want your ftp server name to be
9 # Change zeroconf_port to the port this is broadcasted on
10 # The default should be fine
11 zeroconf_name = Test_Server
13 # dynamic ip (default: 0)
14 # if you specify 1 here, the server will try to use your system to detect
16 # 0 desactivates checks
17 # if you specify a canonical name, the server will use DNS lookups
18 #dynamic_ip = xxx.myftp.org
21 # Listen port (default: 21)
22 # IMPORTANT: under unix, you'll need privileges to bind to a system port
26 # PASV range (default: 1025->65536)
27 # specify this iff you want to get a specific range
29 pasv_high_range = 3000
30 #pasv_ip = 62.xxx.xxx.xxx
31 #pasv_ip = 134.xxx.xx.xx
33 # unix only: server will drop privileges to a user after binding port
34 # you can specify a user login name
35 # This will only be used if run by root !
38 # unix only: file where pid of server will be stored
39 # (default: /var/run/wzdftpd.pid)
40 # this is used by init.d script
41 #pid_file = /usr/share/wzdftpd/wzdftpd.pid
43 # the name of the file in each dir that should be added to every answer
44 dir_message = .message
46 # log file for server activity
47 logfile = /usr/var/log/wzdftpd/wzd.log
49 # set to 0 if you do not want syslog (default: 1)
52 # log file for transfered files (default: do not log)
53 xferlog = /usr/var/log/wzdftpd/xferlog
55 # directory to store various log files
56 logdir = /usr/var/log/wzdftpd
58 # max number of child threads (default: 32)
61 # backend to use for auth (default: plaintext)
62 # you can check backend version with directives > and <
63 # e.g: backend = plaintext > 120
64 # ONE BACKEND IS NEEDED !
65 # backend name SHOULD NEVER contains spaces !
66 #backend = plaintext > 123
67 backend = /usr/share/wzdftpd/backends/libwzdplaintext.so > 124
68 #backend = /usr/share/wzdftpd/backends/libwzdmysql.so
69 #backend = /usr/share/wzdftpd/backends/libwzdpam.so
71 # speed limits in bytes /sec (approx !)
73 # ex: max_dl_speed = 300000
77 # deny_access_files_uploaded (default: 0)
78 # if you say 1 here, users trying to download file whereas
79 # the file is being uploaded will be denied
80 deny_access_files_uploaded = 1
82 # default permissions for created dirs (default: 775)
83 # these permissions are in standard chmod() format (octal)
84 # default: 775 (user and group can upload in directory)
87 # hide_dotted_files (default: 0)
88 # hide files beggining by a '.'
89 #hide_dotted_files = 1
91 # Log level (default: normal)
92 # Verbosity of log (only messages >= level will be displayed)
93 # can be one of (in order):
94 # lowest, flood, info, normal, high, critical
99 # Certificate (only used in ssl mode, otherwise ignored)
100 tls_certificate = /etc/wzdftpd/wzd.pem
102 # Mode (default: explicit)
103 # explicit: server starts in clear mode, wait for "AUTH TLS" and then switch to ssl
104 # you can use explicit mode with normal (clear) mode
105 # explicit_strict: server will start in clear mode, but will accept ONLY logins switched to ssl
106 # implicit: server starts in ssl mode, no clear connection is possible
109 # cipher list (default: ALL)
110 # you should not use this option or let "ALL" unless you know
112 # see openssl ciphers, man openssl(1)
113 #tls_cipher_list = ALL
118 # Custom scripts (or binaries) to be executed before/after certain commands
119 # order *IS* important
120 #cscript = MKDIR /bin/df
122 ##### CUSTOM SITE COMMANDS
123 # Here you can define external site commands.
124 #site_cmd = my_free ./free.sh
125 # this defines the SITE RULES command, which prints the following file
126 site_cmd = rules !/etc/wzdftpd/file_rules.txt
129 sitefile_ginfo = /etc/wzdftpd/file_ginfo.txt
130 sitefile_group = /etc/wzdftpd/file_group.txt
131 sitefile_groups = /etc/wzdftpd/file_groups.txt
132 sitefile_help = /etc/wzdftpd/file_help.txt
133 sitefile_swho = /etc/wzdftpd/file_swho.txt
134 sitefile_user = /etc/wzdftpd/file_user.txt
135 sitefile_users = /etc/wzdftpd/file_users.txt
136 sitefile_who = /etc/wzdftpd/file_who.txt
137 sitefile_vfs = /etc/wzdftpd/file_vfs.txt
140 # You can include other files
141 # maximum recursion is 16 (too big IMHO)
142 #include permissions.cfg
144 ##### IP RESTRICTIONS
147 # wildcards are accepted (*,?) - NOTE * stops after the first match of the next
150 # WARNING: to match all ip ending by 0.1 you MUST write *.*.0.1, NOT *.0.1
157 # you must add prefixes before permissions: -group =user +flag or *
158 # you can use negations : !*
159 # REMEMBER that the FIRST corresponding rule is applied, so order is important (never put * first !)
160 # ex: site_who = =admin -group1 +F =toto
168 site_changegrp = +O +G
176 site_color = !=guest *
196 site_invite = !=guest *
213 site_tagline = !=guest *
230 # REMOVE ME OR YOU DON'T KNOW WHAT WILL HAPPEN !
235 # modules are dynamic libraries
236 # order *IS* important
237 /usr/share/wzdftpd/modules/libwzd_test.so = deny
238 /usr/share/wzdftpd/modules/libwzd_sfv.so = allow
239 /usr/share/wzdftpd/modules/libwzd_tcl.so = deny
240 /usr/share/wzdftpd/modules/libwzd_perl.so = deny
241 /usr/share/wzdftpd/modules/libwzd_zeroconf.so = allow
244 progressmeter = [WzD] - %3d%% Complete - [WzD]
245 del_progressmeter = \[.*] - ...% Complete - \[WzD]
246 incomplete_indicator = ../(incomplete)-%0
247 other_completebar = [WzD] - ( %.0mM %fF - COMPLETE ) - [WzD]
250 param = /etc/wzdftpd/users
253 #param = login:password@host:base
256 # sections are used to define local server properties
257 # format: name = path path_filter
258 # path is a regexp (man regex) to specify to specify where the section is
259 # path_filter is a filter to restrict dir names when using mkdir
260 # the simplest section is: ALL = /* .*
261 # order *IS* important (first matching section is taken)
262 # that means the more generic section should be the last
263 ALL = /* ^([]\[A-Za-z0-9_.'() \t+-])*$
266 # cronjobs are commands to execute periodically
267 # syntax: name = minute hour day_of_month month day_of_week command
268 # the name is ignored, but must be unique
269 # each field is an integer, of *
270 # syntax is similar to *nix 'crontab' command (man 5 crontab), except
271 # ranges are not supported (for now)
272 # command should be an absolute path (with args if needed)
273 # NOTE: if command produce output, it will be logged with level LEVEL_INFO
274 # the following command will be run the 2 of each month, at 05:00 am
275 #cron1 = 5 * 2 * * /bin/cleanup.sh
277 # order *IS* important (the name of the event is ignored)
279 #event1 = MKDIR /bin/df
281 # Here you can define external site commands.
284 # this defines the SITE RULES command, which prints the following file
285 site_rules = !/etc/wzdftpd/file_rules.txt
287 # first char is delimiter
288 # format is e.g name = |/home/vfsroot|/physical/path|
290 # for windows you can either write
291 # vfs = |/home/pollux/K|/cygdrive/k|
293 # vfs = |/home/pollux/K|k:|
294 # you can add permissions at end of line to restrict vfs for some user, group,
295 # flags or anything allowed by permissions syntax (see PERMISSIONS at end of
296 # this file for more details)
297 # vfs = |/home/pollux/K|k:| +O =user
299 #vfs1 = |/home/pollux/vfs|/etc|
300 #vfs2 = |/home/pollux/K|/tmp|
302 # You can modify custom ftp replies here
303 # Define message like that if on one line:
304 # <message_num> = My custom message
305 # You can also use files to include messages:
306 # message_num = +/path/to/file
307 # I STRONGLY recommend to leave messages 227 (pasv reply), 257 (pwd) untouched
308 # most interesting messages are:
309 # 220 (banner), 230 (welcome message), 221 (logout)
311 #220 = my ftp server ready