#Configuration file for bftpd. #The given values are only examples, modify this file for your own needs. global { #If set to no, access is allowed. #If set to yes, access is denied without giving a reason. #If set to anything else, access is denied giving the content of this #variable as a reason. DENY_LOGIN="no" #The port number where the daemon should listen (only for daemon mode) PORT="21" #You can force bftpd to use a specific port range in passive mode. #Passive mode means that the client will open data connections #and the server stays 'passive'. #This option can be very useful with some firewall configurations. #Seperate values with "," and define ranges with "-". #bftpd will try to bind one of these ports in ascending order as #you specify them here. #If none of the given ports could be bound, the connection is #is refused. If you want to bind any free port in that case, add #"0" to the list. #PASSIVE_PORTS="10000,12000-12100,13000" PASSIVE_PORTS="0" #If PORT data connections should be opened from port 20, say yes here. You #will probably need this if your server is behind a firewall that restricts #outgoing packets from ports higher than 1024. Note that this may be a #security hole, as the server can not drop its root privileges completely #if you say yes here. DATAPORT20="no" #The password for the administration commands, encrypted (man mkpasswd). ADMIN_PASS="x" #With this option, you can put your entire FTP environment into a chroot #jail. Apart from security, this offers you the possibility of having #virtual users that don't exist in the system. #Additionally, you can make some kind of 'file pool' by creating a directory #with files which you can symlink from the users' homes (this means setting #DO_CHROOT=no in order for the users to be able to access that dir. #Note that you need the following files in your initial chroot directory: #/etc/passwd, /etc/shadow, /etc/group #On GNU systems, you will also need the NSS libraries in /lib. #INITIAL_CHROOT="/ftp" #The bftpdutmp file enables you to record user logins and logouts in #bftpd, which is useful for the administration interface (which is not #finished yet). You also need the file to be able to restrict the number #of users simultaneously logged on, and so on. #Note that the directory in which the file resides must already exist. #Set the option to "" if you do not want that. This is discouraged for normal #use, but can be helpful if you want to create a boot floppy or something. PATH_BFTPDUTMP="/var/run/bftpd/bftpdutmp" #This option controls the buffer size while transferring files. #If you are on a very fast network (fast meaning 100 Mbit/s or more), #you should set this to 64000 or something like that. #Transferring from localhost to localhost, I had a transfer speed of #approx. 15 MB/s with XFER_BUFSIZE=2048 and a speed of approx. 20 MB/s #with XFER_BUFSIZE=64000. You should not set big values for this if you have #slow (dialup) clients. XFER_BUFSIZE="2048" #When set to yes, this option makes the server allow data connections which #don't go to the client who initiated them. #This is needed for FXP. ALLOW_FXP="no" #After how many seconds of idle time should a user be kicked from the server? CONTROL_TIMEOUT="300" #After how many seconds of idle time should a user be kicked from the server #during a file transfer? DATA_TIMEOUT="30" #Use Ratio if you want the client to send a file before he can get a file. #Usage: RATIO=send/receive or RATIO=none. Example: RATIO=2/1 lets the client #receive a 1 MB file when he has sent a 2 MB file. RATIO="none" #ROOTDIR specifies the root directory of the client. It defaults to %h #(user's home directory). %u is replaced by the user name. ROOTDIR="%h" #Umask for the files or directories users create. UMASK="022" #Name of the log file. Say "syslog" to log into syslog. #Say "" for no logging. LOGFILE="/var/log/bftpd.log" #Use %v for version, %h for the server FQDN and %i for the server IP address. HELLO_STRING="bftpd %v at %i ready." #The server automatically chdirs to the directory given here after login. AUTO_CHDIR="/" #Authentication type, values: PAM, PASSWD AUTH="PASSWD" #Enable this if you want the client's IP address to be resolved to a host #name. Note that it increases the overhead and it may not work if your DNS #is not configured correctly. Clients without a valid DNS name will take very #long to connect. RESOLVE_CLIENT_IP="no" #Path to the message of the day, seen by all users before login. MOTD_GLOBAL="/etc/ftpmotd" #Path to the message of the day, seen after login, relative to the root #path of the user (see ROOTDIR). MOTD_USER="/.ftpmotd" #If RESOLVE_UIDS is enabled, in directory lists the user and group names #are shown instead of UID/GID. This may slow down directory listings. RESOLVE_UIDS="yes" #If DO_CHROOT is enabled, a user can not access directories other than his #HOMEDIR and its subdirectories. DON'T disable this globally if you don't #want to have a security hole! DO_CHROOT="yes" #Enable this to log each login to wtmp. LOG_WTMP="yes" #If you want bftpd to bind itself to one specific network interface, enter #its IP address here. Else enter 'any'. This option only works in standalone #mode. BIND_TO_ADDR="any" #Path to the ftpusers file. It can contain user names that are denied. #If it does not exist, every user can log in. If you don't want this, #just put a nonexistent filename here. PATH_FTPUSERS="/etc/ftpusers" #Enable this if you want to deny any user who has a shell which is not in #/etc/shells. AUTH_ETCSHELLS="no" #With the option ALLOWCOMMAND_XXXX, you can disable the command XXXX. #For example, if you don't want any user to delete files, you can do #ALLOWCOMMAND_DELE=no #Of course, you can disable it for specific users by writing the appropiate #lines into the user structures. ALLOWCOMMAND_DELE="yes" ALLOWCOMMAND_STOR="yes" ALLOWCOMMAND_SITE="yes" #Files that belong to these groups (comma-separated) are hidden in LIST/NLST. HIDE_GROUP="" #What message should be used as reply for the QUIT command? QUIT_MSG="See you later..." #The number of users that can be logged in at the same time. #If set to "0", an unlimited users will be able to connect. This is not #recommended, as it makes DoS attacks possible, even if the clients are #kicked after a short time. USERLIMIT_GLOBAL="0" #This variable controls how often one user can be logged in at the same time. #This allows you to have a big connection limit (see above) and nevertheless #prevent single users from having a lot of connections. #This option may also be useful in a user {} or group {} environment. USERLIMIT_SINGLEUSER="0" } user ftp { #Any password fits. ANONYMOUS_USER="yes" } user anonymous { #If the client wants anonymous, ftp is taken instead. ALIAS="ftp" } user root { DENY_LOGIN="Root login not allowed." }