Thursday, November 5, 2009

proftpd configuration

SkyHi @ Thursday, November 05, 2009
[root@home ~]# cat /etc/proftpd.conf
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
#ServerIdent on " Home server"
ServerName "Home ftp server"
ServerType standalone
DefaultServer on
AllowForeignAddress on
#RequireValidShell off
#TimeoutIdle 3600
#TimeoutStalled 3600
TimeoutLogin 900
TimeoutNoTransfer 3600
UseReverseDNS off
IdentLookups off
PassivePorts 51000 51999
#TimesGMT off
#MasqueradeAddress 192.168.218.48

#UseReverseDNS off
#IdentLookups off
# Port 21 is the standard FTP port.
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances 30

# Set the user and group under which the server will run.
User ftp
Group ftp

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite on

# Bar use of SITE CHMOD by default

DenyAll


# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire section.
#Anonymous ~ftp>
#User ftp
#Group ftp

# We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp

# Limit the maximum number of anonymous logins
#MaxClients 10

# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
# DisplayLogin welcome.msg
#DisplayFirstChdir .message

# Limit WRITE everywhere in the anonymous chroot
#
# DenyAll
#/Limit>
#/Anonymous>


SQLConnectInfo database@192.168.0.16 user password
SQLAuthTypes Plaintext Crypt
SQLAuthenticate users groups
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLGroupInfo ftpgroup groupname gid members
SQLMinID 500
LogFormat default "%h %l %u %t \"%r\" %s %b %D \"%f\""
ExtendedLog /var/www/html/ftp.log ALL default
# create a user's home directory on demand if it doesn't exist
SQLHomedirOnDemand on

# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u '" ftpuser
# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser