Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>network}} ====== Pure-FTPd ====== Homepage: [[http://www.pureftpd.org|Pure-FTPd]] **Функциональные возможности:** * Встроенная поддержка UTF-8. * Возможна работа по FXP протоколу * Поставляется с программой мониторинга **pure-ftpwho**, которая в реальном времени показывает кто скачивает/загружает файлы и с какой скоростью. * Возможен запуск pure-ftpwho как CGI приложения с возможностью генерации выходных данных в виде HTML или XML. * Сообщения сервера на данный момент переведены на 21 язык (в том числе и на русский). * Создание виртуальных пользователей. * Задание индивидуальных квот, не связанных с системными, для пользователей (максимальное количество файлов, максимальный размер каталога, максимальная скорость скачивания/закачивания). * После загрузки файла на сервер возможен автоматический запуск внешних скриптов или программ (например, для проверки на вирусы, расчет MD5 хэшей файлов, отправка уведомлений о загрузке). * Запрет доступа к dot-файлам (имя которых начинается с точки, например, .ssh directories, .bash_history files, .rhosts). <note tip>Для изменения настроек сервера нужно создать файл с названием параметра, например чтобы задать порты для пассивного режима: Правила iptables для FTP</note> ===== PureFTPd with MySQL ===== * [[:/etc/pure-ftpd/db/mysql.conf|/etc/pure-ftpd/db/mysql.conf]] ==== Настройка ==== Устанавливаем пакет «pure-ftpd-mysql». Настройка происходит с помощью индивидуальных файлов в /etc/pure-ftpd/conf. Название каждого файла отражает параметр, настройки которого он представляет. В содержимом файла представлены необходимые значения. <code> echo yes > /etc/pure-ftpd/conf/ChrootEveryone echo yes > /etc/pure-ftpd/conf/CreateHomeDir echo 50 > /etc/pure-ftpd/conf/MaxClientsNumber echo 5 > /etc/pure-ftpd/conf/MaxClientsPerIP echo 95 > /etc/pure-ftpd/conf/MaxDiskUsage echo 1 > /etc/pure-ftpd/conf/TLS echo 117 007 > /etc/pure-ftpd/conf/Umask echo no > /etc/pure-ftpd/conf/UnixAuthentication echo no > /etc/pure-ftpd/conf/PAMAuthentication echo clf:/var/log/pure-ftpd/transfer.log > /etc/pure-ftpd/conf/AltLog echo 1000 > /etc/pure-ftpd/conf/MinUID echo /etc/pure-ftpd/db/mysql.conf > /etc/pure-ftpd/conf/MySQLConfigFile echo yes > /etc/pure-ftpd/conf/NoAnonymous echo /etc/pure-ftpd/pureftpd.pdb > /etc/pure-ftpd/conf/PureDB </code> ==== Установка SSL сертификата для TLS ==== <code> $ mkdir -p /etc/ssl/private/ $ openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem $ chmod 600 /etc/ssl/private/*.pem </code> ==== Включить логирование ==== <code> $ echo 'ftp' > /etc/pure-ftpd/conf/SyslogFacility $ echo 'yes' > /etc/pure-ftpd/conf/VerboseLog </code> ==== PureFTP Complete Upload Script ==== После получения полностью залитого файла, скрипт переименует его в ended.<uploaded_filename>. <code> #!/bin/sh touch "$1.complete" </code> или <code> #!/bin/bash fullpath=$1 filename=$(basename "$1") dirname=${fullpath%/*} mv "$fullpath" "$dirname/ended.$filename" </code> ==== Конфигурция ==== Конфигурация осуществляется через базовый конфигурационный файл /etc/default/pure-ftpd-common Включает испльзование скрипта <code> $ sudo echo "yes" > /etc/pure-ftpd/conf/CallUploadScript </code> ==== Настройка pure-ftpd-common ==== <code> STANDALONE_OR_INETD=standalone VIRTUALCHROOT=false UPLOADUID= UPLOADGID= UPLOADSCRIPT=/etc/pure-ftpd/uploadscript.sh </code> ==== Проверка ==== <code> $ ps aux | grep pure-uploadscript ftpuser 18671 0.0 0.0 11912 672 ? Ss 19:40 0:00 /usr/sbin/pure-uploadscript -r <upload script path here> -B -u 1021 -g 1022 </code>СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal