Include /etc/proftpd/modules.conf
# Отключаем IPv6
UseIPv6 off
# Во многих случаях избавляет от лагов
IdentLookups off
# Имя сервера
ServerName "www.gkb1.med.cap.ru"
# Тип запуска - отдельный процесс
ServerType standalone
# Не показывать приветственное сообщение пока пользователь не залогинится
DeferWelcome off
# Включаем режим многострочного ответа
MultilineRFC2228 on
# FTP-сервер по умолчанию
DefaultServer on
# Непоказывать символические ссылки
ShowSymlinks off
# Настройка таймаутов
TimeoutNoTransfer 600
TimeoutStalled 100
TimeoutIdle 1200
# Сообщения при логине и смене каталога
DisplayLogin welcome.msg
DisplayChdir .message true
# Опции листинга директорий
ListOptions "-l"
# Фильтр запрета
DenyFilter \*.*/
# Блокируем для пользователей выход за пределы домашнего каталога
DefaultRoot ~
# Для логина, пользователи FTP должны иметь валидные шеллы перечисленные в /etc/shells
RequireValidShell on
# Порт на котором работает сервер
Port 21
# Ограничиваем максимальное количество экземпляров для предотвращения DoS-атак
MaxInstances 8
# Пользователь и группа от имени которых работает сервер
User proftpd
Group nogroup
# Umask 022 запрещающий новым файлам быть доступным на запись для группы и остальных
Umask 022 022
# Разрешить перезапись файлов
AllowOverwrite on
# Логи
ExtendedLog /var/log/proftpd/ftp.log
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
# Корректное отображение даты при использовании chroot (например, при задании параметра DefaultRoot или анонимного доступа)
SetEnv TZ :/etc/localtime
# Отключаю квоты
<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>
# Отключаю рассчет соотношения файлы/байты
<IfModule mod_ratio.c>
Ratios off
</IfModule>
# Защита от Тайминг-атаки (http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02)
<IfModule mod_delay.c>
DelayEngine on
</IfModule>
# Отключаю административное управление демоном в реальном времени
<IfModule mod_ctrls.c>
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>
# Подключаем дополнительные конфиги (если они есть) из указанной директории
Include /etc/proftpd/conf.d/
# Псевдоним для системного пользователя gkb1ftp, позволяющий ему входить с логином gkb1
UserAlias gkb1 gkb1ftp
# Ограничиваю вход на FTP для всех пользователей, кроме указанных
<Limit LOGIN>
AllowUser gkb1ftp
DenyALL
</Limit>
# Ограничиваю запись в родительскую директорию FTP-сервера
<Directory /var/ftp>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
DenyAll
</Limit>
</Directory>
# Настраиваю разрешения на запись в домашнюю папку пользователя системного gkb1ftp
<Directory /var/ftp/gkb1/*>
Umask 022 022
AllowOverwrite on
<Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
AllowAll
</Limit>
</Directory>