Quantcast
Channel: Библиотека знаний
Viewing all articles
Browse latest Browse all 1318

Pure-FTPd - [PureFTP Complete Upload Script]

$
0
0

Pure-FTPd

Homepage: Pure-FTPd

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

  • Встроенная поддержка UTF-8.
  • Возможна работа по FXP протоколу
  • Поставляется с программой мониторинга pure-ftpwho, которая в реальном времени показывает кто скачивает/загружает файлы и с какой скоростью.
  • Возможен запуск pure-ftpwho как CGI приложения с возможностью генерации выходных данных в виде HTMLили XML.
  • Сообщения сервера на данный момент переведены на 21 язык (в том числе и на русский).
  • Создание виртуальных пользователей.
  • Задание индивидуальных квот, не связанных с системными, для пользователей (максимальное количество файлов, максимальный размер каталога, максимальная скорость скачивания/закачивания).
  • После загрузки файла на сервер возможен автоматический запуск внешних скриптов или программ (например, для проверки на вирусы, расчет MD5 хэшей файлов, отправка уведомлений о загрузке).
  • Запрет доступа к dot-файлам (имя которых начинается с точки, например, .ssh directories, .bash_history files, .rhosts).

Для изменения настроек сервера нужно создать файл с названием параметра, например чтобы задать порты для пассивного режима: Правила iptables для FTP

Создание пользователей

$ groupadd ftp
$ useradd -s /bin/false -d /bin/null -c "pureftpd user" -g ftp ftp

Установка SSL сертификата для TLS

$ 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

Настройка

Устанавливаем пакет «pure-ftpd-mysql». Настройка происходит с помощью индивидуальных файлов в /etc/pure-ftpd/conf. Название каждого файла отражает параметр, настройки которого он представляет. В содержимом файла представлены необходимые значения.

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
echo no > /etc/pure-ftpd/conf/DontResolve

Включить логирование

$ echo 'ftp' > /etc/pure-ftpd/conf/SyslogFacility
$ echo 'yes' > /etc/pure-ftpd/conf/VerboseLog

Подключение MySQL

Самым удобным способом хранения и конфигурирования FTPявляется БД MySql. Для подключения хранилища достаточно настроить MySQLConfigFile.

PureFTP Complete Upload Script

После получения полностью залитого файла, скрипт переименует его в ended.<uploaded_filename>.

Конфигурция

Конфигурация осуществляется через базовый конфигурационный файл /etc/default/pure-ftpd-common

Включает испльзование скрипта

$ sudo echo "yes" > /etc/pure-ftpd/conf/CallUploadScript

Файл скрипта

#!/bin/sh
touch "$1.complete"

или

#!/bin/bash
fullpath=$1
filename=$(basename "$1")
dirname=${fullpath%/*}
mv "$fullpath" "$dirname/ended.$filename"
chmod 664 "$dirname/ended.$filename"
chown :www-data "$dirname/ended.$filename"

Настройка pure-ftpd-common

nano /etc/default/pure-ftpd-common

STANDALONE_OR_INETD=standalone
VIRTUALCHROOT=false
UPLOADUID=
UPLOADGID=
UPLOADSCRIPT=/etc/pure-ftpd/uploadscript.sh

UPLOADUID = 1002
UPLOADGID = 1002
Относятся только к UPLOADSCRIPT.
Пример: /usr/sbin/pure-uploadscript -r /etc/pure-ftpd/uploadscript.sh -B -u 1002 -g 1002

Проверка

$ 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

Viewing all articles
Browse latest Browse all 1318

Latest Images

Trending Articles


Vimeo 11.8.2 by Vimeo.com, Inc.


OFW quotes : Pinoy Tagalog Quotes


Patama Quotes – Tanga love tagalog quotes


INUMAN QUOTES


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 11.6.0 by Vimeo.com, Inc.


Doodle Jump 3.11.34 by Lima Sky LLC


Doodle Jump 3.11.34 by Lima Sky LLC



Latest Images