The backend to use for authentication and user/group management. You can specify a test on the backend version if needed. See the glossary for explanation on what a backend is.
backend = /path/to/libwzdplaintext.so
backend = /path/to/libwzdplaintext.so > 122
In these two examples, backend will be called 'plaintext'
You need at least one backend.
If backend needs an argument, specify it here. The argument depend on the backend used, see backend definition for details.
backend_param_plaintext = /path/to/users
This line must come after the definition of the backend.
Custom scripts (or binaries) to be executed before/after certain commands.
cscript = /path/to/exe
cscript = tcl:/path/to/script
Change the size of the internal buffer used for data transfers.
data_buffer_length = 65536
Use this option carefully ! This can havea big impact on transfer rates.
Specify 1 here to deny access to files during their upload.
deny_access_files_uploaded = 1
When changing current directory, the server will look for this file, and if present will append it to the end of the ftp reply.
dir_message = .message
If you specify 1 ou an ip, the server will try to detect ip changes (e.g ADSL disconnections).
dynamic_ip = 1
dynamic_ip = xxx.myftp.org
0 means the option is deactivated, 1 the server will ask the system to find its ip, otherwise the server will perform DNS lookups
Specify 1 here to automatically try to delete shm zone if existing.
force_shm_cleanup = 1
IMPORTANT: This option is dangerous !. If you start server when another instance is running, you'll certainly go into problems.
Specify 1 here to hide files beginning with a dot ('.')
hide_dotted_files = 1
Specify server ip, to restrict server to a specific interface (usefull mainly for server with multiples interfaces).
ip = *
ip = 127.0.0.1
Log file for server activity (see use_syslog)
logfile = /path/to/wzd.log
Controls the verbosity of the server in the log file.
loglevel = high
This means only messages with a level greater or equal than 'high' will be logged
level can be one of (in order): lowest, flood, info, normal, high, critical
Maximum cumulated (for all users connected) download speed in bytes/sec.
max_dl_speed = 300000
The hard limit for child threads (clients connected simultaneously).
max_threads = 50
Maximum cumulated (for all users connected) upload speed in bytes/sec.
max_ul_speed = 300000
The higher bound of ip range the server can take.
pasv_high_range = 3000
Specify passive ip.
pasv_ip = 64.xxx.xxx.xxx
The lower bound of ip range the server can take.
pasv_low_range = 2500
File where pid of server will be stored. This is used by init.d scripts to send signals to server.
pid_file = /path/to/wzdftpd.pid
The port to listen.
port = 1321
IMPORTANT: under linux, you need privileges to bind to a system port ( < 1024 )
[Linux] Server will drop privileges and change its uid to server_uid after binding port. This is usefull only if server is riunned by root
server_uid = toto
IMPORTANT: under linux, you need privileges to bind to a system port ( < 1024 )
Controls key used for shared memory zones.
shm_key = 0x2442c0d3
This is used to run two or more servers on the same machine
Remember wzdftpd uses two shared memory zones, shm_key and shm_key-1
Custom site commands.
site_cmd = my_free /path/to/free.sh
site_cmd = my_tcl tcl:/path/to/script
This will define a new site command, "my_free".
You can also print out the content of a file (parsing all cookies inside).
site_cmd = onel !/path/to/onel.txt
The default permission is to allow ALL users to run command. Do not forget to add a permission line if your command needs to be restricted !
Use syslog to log server messages (see logfile)
use_syslog = 1
The name of the TLS certificate to use.
tls_certificate = /path/to/wzd.pem
The cipher list server will negotiate during TLS handshake
tls_cipher_list = ALL
You should not use this option, or let "ALL", unless you know what you are doing.
see openssl ciphers, man openssl(1)
Use implicit, explicit or explicit_strict mode (see tls modes for details)
tls_mode = explicit
This is the permissions that are set when a new directory is created. Permissions are written in octal with the default format (permissions for owner, group, others).
umask = 755
The default permissions (775) allow every users from the same group to write files in the directory.
Remember that DELETE permission is managed in a different way - unlike unix, it's not because you have the write permission that you can delete files in it. In fact, unless you specify an explicit permission on config file, only the owner of a file (and siteop) can delete a file.
Log transferred files in common xferlog format (suitable for analysis with classical tools).
xferlog = /path/to/xferlog