Pure-FTPd

Pure-FTPd
Логотип программы Pure-FTPd
Тип сервер FTP
Разработчик Frank Denis
Написана на Си[2]
Операционная система Unix-подобная операционная система
Последняя версия 1.0.50[1] (24 ноября 2021)
Репозиторий github.com/jedisct1/pure…
Лицензия BSD
Сайт pureftpd.org

Pure-FTPd — свободный FTP-сервер для операционных систем семейства UNIX, распространяется по лицензии BSD. Основное внимание уделяется безопасности и простоте настройки.

Из исходного кода компилировался для Linux, OpenBSD, NetBSD, DragonFly BSD, FreeBSD, Solaris, Tru64, Darwin, IRIX и HP-UX. Также есть под Android[3].

Готовые пакеты существуют для Novell, Mandriva, Debian, Ubuntu, PLD Linux, Stampede Linux, Slackware (Slimslack), Multilinux, Sorcerer Linux, Fli4L, ROOT Linux, Gentoo, Arch Linux, OpenWrt.

На BSD системах портирован под DragonFly BSD и FreeBSD (/usr/ports/ftp/pure-ftpd/), OpenBSD (/usr/ports/net/pure-ftpd/) и NetBSD (/usr/pkgsrc/net/pureftpd/), Crux Linux (/usr/ports/contrib/pure-ftpd/).

Отличительной особенностью является то, что сервер не читает настройки напрямую из конфигурационных файлов, а принимает их только из командной строки. Но возможность использования конфигурационных файлов существует[4][неавторитетный источник]. Начиная с версии 1.0.44 (дата выхода 1 января 2017 года) поддерживает работу с конфигурационным файлом.

Pure-FTPd базируется на Troll-FTPd, написанном Arnt Gulbrandsen из Trolltech в период работы в 1995—2003 годах. С 2001 года и по настоящее время разрабатывается группой под управлением Frank Denis[5].

Функциональные возможности

[править | править код]
  • Простота установки и конфигурирования.
  • Встроенная поддержка UTF-8.
  • При подключении по медленным каналам и работе с несколькими серверами возможна работа по FXP протоколу.
  • Может выполняться как отдельный демон (standalone mode), так и через супер-сервер inetd.
  • Поставляется с программой мониторинга pure-ftpwho (с версии 0.97.7), которая в реальном времени показывает кто скачивает/загружает файлы и с какой скоростью. Возможен запуск pure-ftpwho как CGI приложения с возможностью генерации выходных данных в виде HTML или XML.
  • Сообщения сервера на данный момент переведены на 21 язык (в том числе и на русский).
  • Поддержка как базового, так и расширенного (например MLST) набора FTP-команд[англ.].
  • Возможность использования различных методов идентификации: unix (для пользователей перечисленных в /etc/passwd), PAM, LDAP (поддерживаются методы plaintext, Crypt, MD5, SMD5, SHA и SSHA), MySQL, PostgreSQL, PureDB (механизм самого Pure-FTPd), расширенный (возможность написать и подключить свой модуль идентификации). Допустимо использование нескольких методов одновременно. Имя пользователя и пароль будут проверяться каждым методом последовательно. Проверка завершается и оставшиеся методы использованы не будут если пользователь найден (вне зависимости от того, правильный пароль или нет).
  • Возможен запуск рабочих процессов в chroot-е.
  • Создание виртуальных пользователей.
  • Задание индивидуальных квот, не связанных с системными, для пользователей (максимальное количество файлов, максимальный размер каталога, максимальная скорость скачивания/закачивания).
  • После загрузки файла на сервер возможен автоматический запуск внешних скриптов или программ (например, для проверки на вирусы, расчет MD5 хэшей файлов, отправка уведомлений о загрузке).
  • Возможность создания виртуальных FTP серверов (поскольку ftp протокол не поддерживает обращение к серверу по имени, то для каждого сервера необходим выделенный IP адрес).
  • Можно запускать несколько копий сервера с различными конфигурационными опциями.
  • Запрет доступа к dot-файлам (имя которых начинается с точки, например, .ssh directories, .bash_history files, .rhosts).
  • Создание псевдонимов (алиасы) для каталогов. Например, если создать алиас pictures для /home/user/pictures и выполнить команду cd pictures находясь в /home, то сервер автоматически совершит перенаправление в /home/user/pictures (конечно при условии, что не существует каталога /home/pictures). Может использоваться для быстрого перехода в определенные каталоги (т. е. работать как shortcuts).
  • Операции загрузки файлов атомарны.
  • Работа по IPv6, в том числе поддержка EPSV/EPRT команд.
  • По заявлению авторов, Pure-FTPd — первый сервер поддерживающий ESTA и ESTP команды.
  • Поддержка libsodium > 1.0.12(с версии 1.0.47).
  • Поддержка SNI (с версии 1.0.48).

Примечания

[править | править код]
  1. Pure FTP server. Contribute to jedisct1/pure-ftpd development by creating an account on GitHub, 2019-04-07, Архивировано 29 марта 2019, Дата обращения: 8 апреля 2019 — GitHub Источник. Дата обращения: 8 апреля 2019. Архивировано 29 марта 2019 года.
  2. The pure-ftpd Open Source Project on Open Hub: Languages Page — 2006.
  3. Berserker. FTPDroid в Google Play. Дата обращения: 18 июля 2012. Архивировано 28 мая 2016 года.
  4. alekciy. Файл конфигурации Pure-ftpd на Linux-е. livejournal.com (14 июля 2009). Дата обращения: 21 декабря 2009. Архивировано из оригинала 31 марта 2012 года.
  5. Frank Denis. pure-ftpd(8) — Linux man page (англ.). Дата обращения: 21 декабря 2009. Архивировано из оригинала 31 марта 2012 года.