Это скорее больше заметка для меня самого, что бы не париться с прописанием конфига раз за разом, опубликовал его тут. Но если кому вдруг пригодиться, то я немного описал конфиг, написал как установить и дал ссылки в помощь.
ProFTPD is a ftp server written for use on Unix and Unix-a-like operating systems, there is no support for native use under Microsoft Windows.
Установка
# cd /usr/ports/ftp/proftpd
# make config
# make install
# make config
# make install
Не забудьте сначала обновить дерево портов или обновите конкретный порт.
Настройка
/usr/local/etc/proftpd.conf
ServerName "Super Server"
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd.scoreboard
Port 21
# Маска для назначения прав при создание файлов
Umask 022 022
# Максимальное кол-во процессов
MaxInstances 30
# Ограничение на максимальную длину комманды
CommandBufferSize 512
User nobody
Group nogroup
# Директория по умолчанию - домашний каталог пользователя
DefaultRoot ~
# Разрешение на смену прав файлам и создание каталогов
<limit SITE_CHMOD MKD>
AllowAll
</limit>
# Таймауты
TimeoutIdle 3600
TimeoutLogin 3600
TimeoutNoTransfer 3600
TimeoutStalled 3600
TimeoutSession 3600
# Идентификация имени удаленного пользователя
IdentLookups off
# Обратный поиск данных IP-адресов
UseReverseDns off
# Паттерн для проверки комманд отправляемых от клиента-серверу
AllowFilter ^[-A-Za-z0-9_.(),/]*$
# Запретить пересылку сервер-сервер
AllowForeignAddress off
# Директива отвечающая за .ftaccess файлы
AllowOverride off
# Директива позволяющая переписывать файлы
AllowOverwrite on
# Логи
LogFormat default "%h %l %u %t "%r" %s %b"
TransferLog /var/log/proftpd_transferlog
ServerLog /var/log/proftpd_serverlog
SystemLog /var/log/proftpd_systemlog
# TransferRate RETR, STOR 1096
# MaxClients 20 "Sorry, max %m users, try again later."
# Анонимные пользователи
# Если не надо, то удалите или закомментите всю директиву.
# Путь до каталога, обратите внимание, на него DefaultRoot не распространяется.
<anonymous /home/ftp>
User ftp
Group ftp
# Назначение псевдонима anonymous для ftp
UserAlias anonymous ftp
# Не всем, имеющим доступ к ftp, нужен shell
RequireValidShell off
# Запрашивать ли пароль для анонимного подключения
AnonRequirePassword off
# Перезаписывание файлов
AllowOverwrite on
# Лимит максимума клиентов
MaxClients 10 "The server is full, hosting %m users"
# DisplayLogin welcome.msg
# DisplayFirstChdir .msg
<limit LOGIN>
Allow from all
Deny from all
</limit>
<limit WRITE>
DenyAll
</limit>
<limit SITE SITE_CHMOD SITE_CHGRP MTDM >
DenyAll
</limit>
# Для директории public, запрет на группу комманд WRITE и создание директории,
# читайте подробнее How-To по Limit, в ссылка ниже
<directory public/*>
<limit WRITE MKD>
DenyAll
</limit>
</directory>
# Для директории uploads, разрешим WRITE и запрещаем при этом удаление файлов и каталогов
<directory uploads/*>
<limit WRITE>
AllowAll
</limit>
<limit DELE RMD>
DenyAll
</limit>
</directory>
</anonymous>
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd.scoreboard
Port 21
# Маска для назначения прав при создание файлов
Umask 022 022
# Максимальное кол-во процессов
MaxInstances 30
# Ограничение на максимальную длину комманды
CommandBufferSize 512
User nobody
Group nogroup
# Директория по умолчанию - домашний каталог пользователя
DefaultRoot ~
# Разрешение на смену прав файлам и создание каталогов
<limit SITE_CHMOD MKD>
AllowAll
</limit>
# Таймауты
TimeoutIdle 3600
TimeoutLogin 3600
TimeoutNoTransfer 3600
TimeoutStalled 3600
TimeoutSession 3600
# Идентификация имени удаленного пользователя
IdentLookups off
# Обратный поиск данных IP-адресов
UseReverseDns off
# Паттерн для проверки комманд отправляемых от клиента-серверу
AllowFilter ^[-A-Za-z0-9_.(),/]*$
# Запретить пересылку сервер-сервер
AllowForeignAddress off
# Директива отвечающая за .ftaccess файлы
AllowOverride off
# Директива позволяющая переписывать файлы
AllowOverwrite on
# Логи
LogFormat default "%h %l %u %t "%r" %s %b"
TransferLog /var/log/proftpd_transferlog
ServerLog /var/log/proftpd_serverlog
SystemLog /var/log/proftpd_systemlog
# TransferRate RETR, STOR 1096
# MaxClients 20 "Sorry, max %m users, try again later."
# Анонимные пользователи
# Если не надо, то удалите или закомментите всю директиву.
# Путь до каталога, обратите внимание, на него DefaultRoot не распространяется.
<anonymous /home/ftp>
User ftp
Group ftp
# Назначение псевдонима anonymous для ftp
UserAlias anonymous ftp
# Не всем, имеющим доступ к ftp, нужен shell
RequireValidShell off
# Запрашивать ли пароль для анонимного подключения
AnonRequirePassword off
# Перезаписывание файлов
AllowOverwrite on
# Лимит максимума клиентов
MaxClients 10 "The server is full, hosting %m users"
# DisplayLogin welcome.msg
# DisplayFirstChdir .msg
<limit LOGIN>
Allow from all
Deny from all
</limit>
<limit WRITE>
DenyAll
</limit>
<limit SITE SITE_CHMOD SITE_CHGRP MTDM >
DenyAll
</limit>
# Для директории public, запрет на группу комманд WRITE и создание директории,
# читайте подробнее How-To по Limit, в ссылка ниже
<directory public/*>
<limit WRITE MKD>
DenyAll
</limit>
</directory>
# Для директории uploads, разрешим WRITE и запрещаем при этом удаление файлов и каталогов
<directory uploads/*>
<limit WRITE>
AllowAll
</limit>
<limit DELE RMD>
DenyAll
</limit>
</directory>
</anonymous>
Ссылки на документацию
P.S. Версия ProFTPD — 1.3.1

Пока успел прочитать только эту одну статью, если и все остальное также хорошо, то автору респект :)
[...] freebsd proftpd запретить анонимный вход [...]
[...] curl freebsd настройка [...]
[...] freebsd 7.1 настройка ftp [...]
[...] nastroika proftpd [...]
[...] freebsd proftpd MySQL [...]
[...] proftpd настройка freebsd [...]
[...] proftpd запрашивание пароля при входе [...]
[...] proftpd установка [...]
[...] установка ftp на сервер freebsd [...]
[...] freebsd 7.1 proftpd [...]
[...] настройка freebsd 7.1 [...]
[...] proftpd freebsd [...]
[...] установка и настройка proftpd [...]
[...] proftpd настройка [...]
[...] proftpd настройка [...]
[...] настройка FreeBSD [...]
[...] proftpd Limit WRITE [...]
Не знаю почему, но мне больше по душе. За статью -спасибо.
Спасибо за конфпг! Очень долго искал рабочий...
Спасибо за статью.
Здесь ... я описал как настроить proftpd на debian для небольшого хостинга, думаю во фряхе будет не сильно различаться ;-)
ссылка кривая)) вот норм
Добавьте пожалуйста в статью, что если пользователь перечислен в /etc/ftpusers, тогда он не сможет войти с ошибкой Login incorrect
Я так пытался заломиться под рутом =)