Установка и настройка ProFTPD

ProFTPd — FTP-сервер для Linux и UNIX-подобных операционных систем.

ProFTPd использует лишь один конфигурационный файл «/etc/proftpd/proftpd.conf». Может быть настроен для работы нескольких виртуальных хостов, поддерживает chroot. Может быть запущен в виде отдельного сервера или в составе суперсервера inetd. Также поддерживает IPv6.

Расширяем: поддерживает модули, добавляющие SSL/TLS шифрование, работу с LDAP и SQL.

Установка

# cd /usr/ports/ftp/proftpd
# make install clean

В опциях я выбрал: BAN, CTRLS, IFSESSION, NLS, OPENSSL, QUOTA, RATIO, README, REWRITE, WRAP. Добавляем в /etc/rc.conf следующую строчку:

proftpd_enable="YES"

Настройка

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

# имя сервера, которое высвечивается при подключении
ServerName "ProFTPD"
ServerType standalone
# делаем сервером по умолчанию
DefaultServer on
ScoreboardFile /var/run/proftpd/proftpd.scoreboard

Port 21
# отключаем IPv6
#UseIPv6 on
Umask 022

MaxInstances 30
CommandBufferSize 512

User ftp
Group ftp

# запрещаем использования SITE CHMOD
<Limit SITE_CHMOD>
   DenyAll
</Limit>

# настройки, которые активны для всех
<Global>
# домашняя папка пользователя - это то, куда будет подключаться пользователь по умолчанию
DefaultRoot ~
# запрещаем подключаться от пользователя root
RootLogin off
# максимальное число попыток залогиниться
MaxLoginAttempts 5
# как ни странно, это запрещает авторизоваться пользователям из списка /etc/ftpusers
UseFtpUsers on
# позволяем продолжать скачивания и закачки
AllowRetrieveRestart on
AllowStoreRestart on

LoginPasswordPrompt on
DirFakeGroup on
MaxClients 15
tcpNoDelay on
# удаляем незавершенные закачки
DeleteAbortedStores on
# разрешаем подключаться пользователям, у которых нет командной оболочки
RequireValidShell off
# указываем, что будем использовать порты 24000-26000 для PASV режима
PassivePorts 24000 24003
# без этой опции нельзя будет перезаписывать файлы
AllowOverwrite On
# а без этой будет выскакивать ошибка SECURITY VIOLATION: Passive connection from {host} rejected
AllowForeignAddress On

<Directory /usr/local/www/invent-live>
# прячем файлы, которые принадлежат пользователю root
HideUser root
# прячем файлы, которые пользователь не может изменить
HideNoAccess on
</Directory>

</Global>
# куда пишем лог
SystemLog /var/log/proftpd.log
# если не выключить эти две опции, то фтп при подключении будет сильно тормозить
IdentLookups off
UseReverseDNS off

Добавить комментарий

Ваш адрес email не будет опубликован.