# 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
# "proftpd" and "ftp" for normal operation and anon.
ServerType standalone
DefaultServer on
MultilineRFC2228 on
UseReverseDNS off
MaxInstances 30
#IdentLookups off
RootLogin off
User ftp
Group users
RequireValidShell off
DefaultAddress 172.23.8.8 192.168.1.1
#SocketBindTight on
DefaultRoot ~
<VirtualHost 192.168.1.1>
ServerName "192.168.1.1_sftp"
RequireValidShell off
ShowSymlinks on
# AuthPAM off
# AuthPAMConfig ftp
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
TimeoutStalled 3600
SFTPEngine on
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPHostKey /etc/ssh/ssh_host_rsa_key
PassivePorts 49301 49400
DeleteAbortedStores on
ShowSymlinks on
# Port 21 is the standard FTP port.
Port 8022
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
# Don't use IPv6 support by default.
# UseIPv6 off
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 002
# 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).
MaxClients 20 "Sorry, max %m users -- try again later"
MaxClientsPerHost 20 "Sorry, max 5 connection per host"
MaxLoginAttempts 3 "Sorry, max 3 login -- try again later"
DenyFilter \*.*/
# <IfModule mod_clamav.c>
# ClamAV off
# </IfModule>
<IfModule mod_lang_c>
LangEngine on
LangDefault ru_RU
UseEncoding on
UseEncoding UTF8 CP1251
</IfModule>
<IfModule mod_sftp.c>
SFTPEngine on
SFTPLog /var/log/proftpd/sftp.log
Port 8022
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPAuthorizedUserKeys file:~/.sftp/authorized_keys
SFTPCompression delayed
MaxLoginAttempts 6
</IfModule>
# Set the user and group under which the server will run.
# 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 off
# DefaultRoot ~ users
# Bar use of SITE CHMOD by default
<Limit LOGIN>
Order allow,deny
Allow from all
</Limit>
<GLOBAL>
AllowOverwrite no
</GLOBAL>
</VirtualHost>
<VirtualHost 192.168.1.1>
ServerName "192.168.1.1_ftp"
ShowSymlinks on
RequireValidShell off
# AuthPAM off
# AuthPAMConfig ftp
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
TimeoutStalled 3600
SFTPEngine off
# SFTPHostKey /etc/ssh/ssh_host_dsa_key
# SFTPHostKey /etc/ssh/ssh_host_rsa_key
PassivePorts 49201 49300
DeleteAbortedStores on
ShowSymlinks on
# Port 21 is the standard FTP port.
Port 21
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
# Don't use IPv6 support by default.
# UseIPv6 off
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 002
# 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).
MaxClients 20 "Sorry, max %m users -- try again later"
MaxClientsPerHost 10 "Sorry, max 5 connection per host"
MaxLoginAttempts 3 "Sorry, max 3 login -- try again later"
DenyFilter \*.*/
# <IfModule mod_clamav.c>
# ClamAV off
# </IfModule>
<IfModule mod_lang_c>
LangEngine on
LangDefault ru_RU
UseEncoding on
UseEncoding UTF8 CP1251
</IfModule>
# <IfModule mod_sftp.c>
# SFTPEngine on
# SFTPLog /var/log/proftpd/sftp.log
# Port 8022
# SFTPHostKey /etc/ssh/ssh_host_rsa_key
# SFTPHostKey /etc/ssh/ssh_host_dsa_key
# SFTPAuthorizedUserKeys file:~/.sftp/authorized_keys
# SFTPCompression delayed
# MaxLoginAttempts 6
# </IfModule>
# 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 off
# DefaultRoot ~ users
# Bar use of SITE CHMOD by default
<Limit LOGIN>
Order allow,deny
Allow from all
</Limit>
<GLOBAL>
AllowOverwrite no
</GLOBAL>
<Anonymous /home/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
DisplayChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Limit CWD DIRS READ LIST>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
<Directory /home/ftp/upload/*>
<Limit READ RETR GET WRITE STOR CWD MKD RMD>
AllowAll
</Limit>
<Limit DELE>
DenyAll
</Limit>
<Limit READ>
DenyAll
</Limit>
</Directory>
<Directory /home/ftp/download/*>
<Limit READ CWD RETR>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
</VirtualHost>
<VirtualHost 172.23.8.8>
ServerName "172.23.8.8_ftp"
ShowSymlinks on
RequireValidShell off
# AuthPAM off
# AuthPAMConfig ftp
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
TimeoutStalled 3600
SFTPEngine off
# SFTPHostKey /etc/ssh/ssh_host_dsa_key
# SFTPHostKey /etc/ssh/ssh_host_rsa_key
PassivePorts 49201 49300
DeleteAbortedStores on
ShowSymlinks on
# Port 21 is the standard FTP port.
Port 21
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
# Don't use IPv6 support by default.
# UseIPv6 off
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 002
# 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).
MaxClients 20 "Sorry, max %m users -- try again later"
MaxClientsPerHost 10 "Sorry, max 5 connection per host"
MaxLoginAttempts 3 "Sorry, max 3 login -- try again later"
DenyFilter \*.*/
# <IfModule mod_clamav.c>
# ClamAV off
# </IfModule>
<IfModule mod_lang_c>
LangEngine on
LangDefault ru_RU
UseEncoding on
UseEncoding UTF8 CP1251
</IfModule>
# <IfModule mod_sftp.c>
# SFTPEngine on
# SFTPLog /var/log/proftpd/sftp.log
# Port 8022
# SFTPHostKey /etc/ssh/ssh_host_rsa_key
# SFTPHostKey /etc/ssh/ssh_host_dsa_key
# SFTPAuthorizedUserKeys file:~/.sftp/authorized_keys
# SFTPCompression delayed
# MaxLoginAttempts 6
# </IfModule>
# Normally, we want files to be overwriteable.
AllowOverwrite off
# Bar use of SITE CHMOD by default
<Limit LOGIN>
Order allow,deny
Allow from all
</Limit>
<GLOBAL>
AllowOverwrite no
</GLOBAL>
<Anonymous /home/ftp>
User ftp
Group users
# 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
DisplayChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Limit CWD DIRS READ LIST>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
<Directory /home/ftp/upload/*>
<Limit READ RETR GET WRITE STOR CWD MKD RMD>
AllowAll
</Limit>
<Limit DELE>
DenyAll
</Limit>
<Limit READ>
DenyAll
</Limit>
</Directory>
<Directory /home/ftp/download/*>
<Limit READ CWD RETR>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
</VirtualHost>
Add a code snippet to your website: www.paste.org