Периодически возникает необходимость поднять ProFTPD на разных серверах и каждый раз приходится лезть в инет и искать статьи по настройке.
Решил накидать свою статью, чтобы было.
Установка для debianubuntu
# aptitude install proftpd
Меняем конфиг /etc/proftpd/proftpd.conf:
# Includes DSO modules
Include /etc/proftpd/modules.conf
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 on
# If set on you can experience a longer connection delay in many cases.
IdentLookups offServerName «MyServer» # Свое имя
ServerType standalone # Хочу чтобы он был самостоятельным.
DeferWelcome offMultilineRFC2228 on
DefaultServer on
ShowSymlinks onTimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200#DisplayLogin off # Отрубаю сообщения
DisplayChdir .message true
ListOptions «-l»DenyFilter *.*/
# Use this to jail all users in their homes
DefaultRoot ~ !admins # делаем для всех пользователей в качестве корневой директории их домашнюю директорию, кроме пользователей
# которые находятся в группе admins (их корнем будем сам / сервера)# Turn off root login
RootLogin off # 🙂# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off # FTP пользователи будут без shell’а# Port 21 is the standard FTP port.
Port 21 # Обычно меняю порт# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts 49152 65534# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress 1.2.3.4# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours# DynMasqRefresh 28800
# 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 that the server normally runs at.
User proftpd
Group nogroup# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
# PersistentPasswd off# This is required to use both PAM-based authentication and local passwords
# AuthOrder mod_auth_pam.c* mod_auth_unix.c# Be warned: use of this directive impacts CPU average load!
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads. That is not needed for uploads rates.
#
# UseSendFile offTransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log# Logging onto /var/log/lastlog is enabled but set to off by default
#UseLastlog on# In order to keep log file dates consistent after chroot, use timezone info
# from /etc/localtime. If this is not set, and proftpd is configured to
# chroot (e.g. DefaultRoot or ), it will use the non-daylight
# savings timezone regardless of whether DST is in effect.
#SetEnv TZ :/etc/localtimeQuotaEngine off
Ratios off
# Delay engine reduces impact of the so-called Timing Attack described in
# http://www.securityfocus.com/bid/11430/discuss
# It is on by default.DelayEngine on
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sockAdminControlsEngine off
#
# Alternative authentication frameworks
#
#Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf#
# This is used for FTPS connections
#
#Include /etc/proftpd/tls.conf#
# Useful to keep VirtualHost/VirtualRoot directives separated
##Include /etc/proftpd/virtuals.conf
# Include other custom configuration filesInclude /etc/proftpd/conf.d/
Это дефолтный конфиг. Места где я изменил помечены комментариями на русском.
Ну по традиции добавляем пользователя:
# useradd user1 --home /home/user1 --shell /bin/false --group nogroup
# passwd user1
Если /home/user1 не существует, то создаем ее
# mkdir /home/user1
# chown user1:user1 /home/user1
No comments
RSS / trackback