Documentation

Generated on Thu Aug 31 00:02:27 2006

 

babyftpd.conf

Go to the documentation of this file.
00001 # $Id: babyftpd.conf,v 1.19 2005/08/23 19:05:40 klas Exp $
00002 # General section, for... general stuff
00003 general
00004 {
00005   # port 21 - standard ftp port.
00006   port 21
00007 
00008   # port 20, standard port for outgoing data
00009   data_port 20
00010 
00011   # admin email
00012   admin_email you@your.host
00013 
00014   # maximum number of control connections.
00015   connection_limit 100
00016 
00017   # run the lifebeat() every this timeunit (supported are second,
00018   #  minute, hour and day)
00019   # Note: with large number of connections you want a low value here.
00020   lifebeat_tick 5 minutes
00021 
00022   # what user and group to run under? (user:group)
00023   user ftp:daemon
00024 
00025   # pidfile, where do we write down our pid?
00026   pid_file /var/run/babyftpd.pid
00027 
00028   # readonly, make the server readonly, disables commands that write files
00029   #  completely.
00030   readonly false
00031 
00032   # anonymous, enable, disable or only. the anonymous user is equal to the
00033   #  user the server is running as. except password is asked to be an
00034   #  email adress.
00035   anonymous disable
00036 
00037   # private key for the server
00038   tls_key /etc/babyftpd/tls_key.pem
00039 
00040   # the servers cert
00041   tls_cert /etc/babyftpd/tls_cert.pem
00042 
00043   # CA file. This should contain your certificate chain. Also any ca
00044   #  certificates that may authenticate clients.
00045   tls_ca /etc/babyftpd/tls_ca.pem
00046 
00047   # valid crl list, or don't use at all if your site doesn't make use of
00048   #  crls.
00049   tls_crl /etc/babyftpd/tls_crl.pem
00050 
00051   # how often to regenerate diffie-hellman parameters (in timeunits)
00052   #  Note: this is run inside lifebeat().
00053   dh_regenerate 1 hour
00054 
00055   # this is the path to an external program that is used to check if a 
00056   #  clients cert is allowed to login as that user. is given 4 arguments:
00057   #  username, host/ip ca subject, client subject. return 0 if the login 
00058   #  is allowed.
00059   # Note that the ca certificate in question must be present in the
00060   #  tls_ca file.
00061   verify_client /etc/babyftpd/verify_client.pl
00062 }
00063 
00064 # user section, for... user stuff
00065 user
00066 {
00067   # and a user general section, for... user general stuff
00068   #  all options for single users can be used in this section as well, they
00069   #  will then affect all users. options on specific users override general 
00070   #  options.
00071   general
00072   {
00073     # number of control connections/user
00074     user_limit 5
00075 
00076     # number of simultaneously open data connections/control connection
00077     #  (list & nlst excluded)
00078     sim_data 3
00079 
00080     # idle time. after no action on the control connection for this time
00081     #  the user is booted. (provided there are no active data transfers either)
00082     idle 15 minutes
00083 
00084     # encryption (allow/deny/force/force_cert):
00085     encryption allow
00086   }
00087 
00088   # a per user section for... per user stuff.
00089   root
00090   {
00091     # this useer is not allowed to login
00092     noftp true
00093   }
00094 
00095   ftp
00096   {
00097     # this is the user the server is running under, thus, the anonymous user.
00098     #  some flags on this user below.
00099 
00100     # this user sees his home directory as the root. we should probably
00101     #  make this more flexible.. but this is what we've got for now.
00102     only_home true
00103 
00104     # this user can only use passive data transfers
00105     only_passive true
00106 
00107     user_limit 5
00108 
00109     # encryption can have several values..
00110     encryption deny
00111 
00112     # how long can this user be idle? (in timeunits)
00113     idle 5 minutes
00114   }
00115 }
00116 
00117 log
00118 {
00119   # a default loglevel of 3 is neat
00120   log_level 3
00121 
00122   # by default we want xferlogging
00123   xferlog true
00124 
00125   # xferlogging go to /var/log/xferlog
00126   xferlog_file /var/log/xferlog
00127 
00128   # authlog by way of syslog
00129   authlog syslog
00130 
00131   # info also by way of syslog
00132   infolog syslog
00133 
00134   # and debug as well
00135   debuglog syslog
00136 
00137   # thread id on all logging..
00138   thread_id 1
00139 
00140   # when logging to a file of our own, what time format should be used?
00141   # this example is same as syslog, see strftime(3) for variables.
00142   time_format %b %e %H:%M:%S
00143 }