Настройка ProFTPD во FreeBSD

ProFTPD – один из самых популярных, продвинутых ftp серверов. Содержит массу настроек и возможностей, легко расширяется за счет модулей. И что самое приятное для многих – его конфигурационный файл имеет подобный Apache синтаксис.

Во FreeBSD ProFTPD присутствует в портах в обычном виде и порта, который собирается сразу с поддержкой MySQL. Установим обычный порт, он с легкостью позволяет работать системным пользователям и практически не нуждается в настройке:

cd /usr/ports/ftp/proftpd

make install clean

Как я уже упоминал, функционал у ProFTPD просто потрясающий, поэтому диалог вызываемый перед началом сборки – тоже огромный:

---------------------------------------------------------------------¬

¦ Options for proftpd 1.3.2.r3_1 ¦

¦ -----------------------------------------------------------------¬ ¦

¦ ¦[X] CTRLS Include controls ¦ ¦

+-L------------------------------------------------------------------+

¦ [ OK ] Cancel ¦

L---------------------------------------------------------------------

Немного остановимся на описании модулей:

mod_ban – предназначен для динамического бана, пользователей, отключает пользователя по описаным в настройках правилам. Например по количеству неправильных вводов пароля.

mod_clamav – позволяет проверять файлы помещаемые на FTP сервер с помощью бесплатного антивируса ClamAV

controls – включает модуль управления сервером ProFTPD

mod_digest – с помощью этого модуля можно обеспечить проверку целостности файлов при передаче

mod_ifsession – позволяет обеспечить дополнительные проверки пользователей

Use IPv6 – включает поддержку протокола IPV6

Use LDAP – ProFTPD сможет проверять авторизацию пользователей через LDAP

Use LDAP TLS – Включает шифрованный протокол LDAP

MySQL auth – Поддержка авторизации пользователей через базу MySQL

Use nls – Поддержка команды LANG, можно менять LOCALE во время диалога с сервером

mod_tls – Поддержка OpenSSL, обеспечивает FTPS протокол, протокол с шифрацией данных, так же этот модуль необходим для LDAP TLS

Postgres auth – Поддержка авторизации через базу PostgreSQL

mod_quota – Поддержка Quota, ограничения размер каталога помещенного на сервер

mod_quotatab_radius – С помощью этого модуля – сервер получает информацию о квоте пользователя через Radius сервер

mod_radius – Поддержка авторизации пользователей через Radius сервер

mod_ratio – Позволяет установить ограничение на скорость подачи команд серверу

mod_readme – Выводит файл при подсоединении к серверу

mod_rewrite – Позволяет в зависимости от определенного патерна изменять поведение сервера. Фактически по функциям аналогичен mod_rewrite Apache

FreeTDS – позволяет проводить авторизацию через MSSQL или Sybase сервер

mod_wrap2 – добавляет возможность контролировать доступ к серверу через libwrap (hosts.allow, hosts.deny)

mod_wrap2_file – Модуль позволяет определять дополнительный файл контроля, отличные от системных (hosts.allow, hosts.deny)

mod_wrap2_sql – позволяет хранить информацию для libwrap в базе SQL

Большая часть модулей, для простого сервера не требуется.

Перейдем к настройке сервера, конфигурационный файл /usr/local/etc/proftpd.conf:

ServerName "hilik.org.ua"

ServerType standalone

DefaultServer on

ScoreboardFile /var/run/proftpd/proftpd.scoreboard

Port 21

Umask 022

MaxInstances 30

CommandBufferSize 512

User nobody

Group nogroup

AllowOverwrite on

DefaultRoot ~

Теперь нужно разрешить старт ProFTPD сервера, для этого добавим в rc.conf разрешение:

echo "proftpd_enable=YES" >>/etc/rc.conf

Теперь можно запускать ProFTPD сервер.

/usr/local/etc/rc.d/proftpd start

На этом настройка ProFTPD с минимумом функционала закончена.

http://www.hilik.org.ua/настройка-proftpd/

Обновлено: 12.03.2015