Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| system:pureftpd [2016/01/31 19:21] – [PureFTP Complete Upload Script] mirocow | system:pureftpd [2016/10/02 21:53] (текущий) – [Подключение MySQL] mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | {{tag> | + | {{tag>networks networking |
| ====== Pure-FTPd ====== | ====== Pure-FTPd ====== | ||
| Строка 6: | Строка 6: | ||
| **Функциональные возможности: | **Функциональные возможности: | ||
| - | | + | |
| + | | ||
| * Возможна работа по FXP протоколу | * Возможна работа по FXP протоколу | ||
| * Поставляется с программой мониторинга **pure-ftpwho**, | * Поставляется с программой мониторинга **pure-ftpwho**, | ||
| - | * Возможен запуск pure-ftpwho как CGI приложения с возможностью генерации выходных данных в виде HTML или | + | * Возможен запуск pure-ftpwho как CGI приложения с возможностью генерации выходных данных в виде HTML или XML. |
| * Сообщения сервера на данный момент переведены на 21 язык (в том числе и на русский). | * Сообщения сервера на данный момент переведены на 21 язык (в том числе и на русский). | ||
| * Создание виртуальных пользователей. | * Создание виртуальных пользователей. | ||
| Строка 15: | Строка 16: | ||
| * После загрузки файла на сервер возможен автоматический запуск внешних скриптов или программ (например, | * После загрузки файла на сервер возможен автоматический запуск внешних скриптов или программ (например, | ||
| * Запрет доступа к dot-файлам (имя которых начинается с точки, например, | * Запрет доступа к dot-файлам (имя которых начинается с точки, например, | ||
| - | <note tip> | ||
| - | ===== Примеры ===== | ||
| - | * Добавить пользователя и установить для него пароль: | ||
| - | # pure-pw useradd YourUser -u ftpusers -g ftpusers -d / | ||
| - | </ | ||
| - | * Доступ к хостингу с полным доступом< | ||
| - | # pure-pw useradd YourUser -u ftpusers -g www-data -d / | ||
| - | # chown -R ftpusers: | ||
| - | или | ||
| - | # pure-pw useradd YourUser -u www-data -g www-data -d / | ||
| - | </ | ||
| - | * Для применения изменений нужно обновить файл pureftpd.pdb командой. Чтобы избежать использования ' | ||
| - | # pure-pw mkdb | ||
| - | </ | ||
| - | * Просмотр данных пользователя< | ||
| - | pure-pw show YourLogin | ||
| - | </ | ||
| - | * Изменить пароль< | ||
| - | pure-pw passwd YourLogin | ||
| - | </ | ||
| - | ====== Использование Pure-FTPd ====== | + | <note tip>Для |
| - | * **Установка** | + | |
| - | < | + | |
| - | # aptitude install pure-ftpd | + | |
| - | </ | + | |
| - | Конфигурационные файлы: | + | |
| - | < | + | |
| - | / | + | |
| - | / | + | |
| - | </ | + | |
| - | <note tip>У PureFTPd в Ubuntu не используется файл конфигурации pure-ftpd.conf - все | + | |
| - | Включим авторизацию PureDB (создадим символическую ссылку), | + | |
| - | <file> | + | |
| - | # ls -l auth/ | + | |
| - | lrwxrwxrwx 1 root root 26 2011-03-23 12:54 65unix -> ../ | + | |
| - | lrwxrwxrwx 1 root root 25 2011-03-23 12:54 70pam -> ../ | + | |
| - | # ln -s / | + | ==== Создание пользователей |
| - | </ | + | |
| - | Механизм Virtual Users, который есть в Pure FTPD, представляет из себя следующее - в системе заводится системный пользователь, | + | |
| - | У нас имеется системный пользователь portal , создадим для него одноименного виртуального пользователя. | + | |
| - | < | + | |
| - | # pure-pw useradd portal -u portal -g portal -d / | + | |
| - | </ | + | |
| - | * **Настройка**. Все операции над пользователями FTP сервера осуществляться с помощью утилиты pure-pw. Работа с виртуальными пользователями происходит в два этапа: | + | < |
| - | - Создание файла со списком аккаунтов пользователей и их параметрами (по умолчанию '/etc/pureftpd.passwd' | + | $ groupadd ftp |
| - | | + | $ useradd |
| + | </ | ||
| - | * **Создание файла аккаунтов**. Каждая запись файла виртуальных аккаунтов имеет следующий формат: | + | ==== Установка |
| - | < | + | |
| - | account: | + | |
| - | dl bw:ul ratio:dl ratio:max con: | + | |
| - | files quota:size quota: | + | |
| - | local IPs: | + | |
| - | </ | + | |
| - | Рассмотрим значения полей записи: | + | |
| - | < | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | ' | + | |
| - | 'ul bw' | + | |
| - | 'dl bw' | + | |
| - | 'ul ratio' -- соотношение upload к download; | + | |
| - | 'dl ratio' -- соотношение download к upload; | + | |
| - | 'max con' | + | |
| - | 'files quota' -- квота на количество | + | |
| - | 'size quota' | + | |
| - | 'auth local IPs' | + | |
| - | (при наличии нескольких сетевых интерфейсов на сервере); | + | |
| - | 'ref local IPs' | + | |
| - | 'auth client IPs' -- ip адреса, | + | |
| - | 'ref client IPs' | + | |
| - | ' | + | |
| - | </ | + | |
| - | <note important> | + | |
| - | * **Добавление нового пользователя** | + | |
| - | Добавление аккаунта осуществляется с помощью утилиты 'pure-pw'. | + | < |
| - | Синтаксис команды следующий: | + | $ mkdir -p / |
| + | $ openssl req -x509 -nodes -newkey rsa:1024 -keyout / | ||
| + | $ chmod 600 / | ||
| + | </ | ||
| - | < | + | ==== Настройка ==== |
| - | pure-pw useradd login [-f file] | + | |
| - | -u uid [-g gid] | + | |
| - | -D/-d dir | + | |
| - | [-c name] | + | |
| - | [-t num] [-T num] | + | |
| - | [-n num] [-N num] | + | |
| - | [-q num] [-Q num] | + | |
| - | [-r ip,..] | + | |
| - | [-R ip,..] | + | |
| - | [-i ip,..] | + | |
| - | [-I ip,..] | + | |
| - | [-y num] | + | |
| - | [-z hhmm-hhmm] [-m] | + | |
| - | </ | + | |
| - | Рассмотрим значения | + | Устанавливаем пакет «pure-ftpd-mysql». Настройка происходит с помощью индивидуальных файлов в / |
| - | <file> | + | <code> |
| - | ' | + | echo yes > /etc/pure-ftpd/ |
| - | '-f file' | + | echo yes > /etc/pure-ftpd/ |
| - | по умолчанию, | + | echo 50 > /etc/pure-ftpd/ |
| - | '-u uid' -- задает uid пользователя; | + | echo 5 > /etc/pure-ftpd/ |
| - | '-g gid' | + | echo 95 > /etc/pure-ftpd/ |
| - | '-D/-d dir' | + | echo 1 > /etc/pure-ftpd/ |
| - | | + | echo 117 007 > /etc/pure-ftpd/ |
| - | | + | echo no > /etc/pure-ftpd/ |
| - | | + | echo no > /etc/pure-ftpd/ |
| - | автоматически при первом их подключении к системе, | + | echo clf:/ |
| - | в противном случае, | + | echo 1000 > /etc/pure-ftpd/conf/MinUID |
| - | '-c name' | + | echo /etc/pure-ftpd/ |
| - | '-t num' -- задает скорость download (в Kb/s); | + | echo yes > /etc/pure-ftpd/ |
| - | '-T num' | + | echo /etc/pure-ftpd/ |
| - | '-n num' -- задает ограничение на количество файлов в директории пользователя; | + | echo no > /etc/pure-ftpd/ |
| - | '-N num' | + | </ |
| - | '-q num' -- задает соотношение upload к download; | + | |
| - | '-Q num' -- задает соотношение download к upload; | + | |
| - | '-r ip' -- задает ip адреса, | + | |
| - | | + | |
| - | '-R ip' -- задает ip адреса, | + | === Включить логирование |
| - | '-i ip' -- при нескольких интерфейсах на сервере позволяет указать ip адрес | + | |
| - | того интерфейса, | + | |
| - | '-I ip' -- при нескольких интерфейсах на сервере позволяет указать ip адрес | + | |
| - | того интерфейса, на который пользователь подключаться | + | |
| - | '-y num' | + | |
| - | '-z hhmm-hhmm' | + | |
| - | получать доступ к аккаунту, | + | |
| - | промежуток для доступа к аккаунту с 18:30 до 22: | + | |
| - | подключен к серверу во время истечения указанного значения, | + | |
| - | прервано. | + | |
| - | ' | + | |
| - | запустить ' | + | |
| - | '/ | + | |
| - | </ | + | |
| - | * **Изменение параметров аккаунта пользователя**. | + | |
| - | Изменение параметров аккаунта также осуществляется с помощью pure-pw: | + | |
| - | < | + | |
| - | ' | + | |
| - | </ | + | |
| - | 'attr value' в данном случае -- это те же параметры, | + | |
| - | Не забывайте использовать параметр | + | < |
| + | $ echo 'ftp' > /etc/pure-ftpd/ | ||
| + | $ echo 'yes' | ||
| + | </ | ||
| - | ====== 530 Sorry, but I can't trust you ====== | + | ==== Подключение |
| - | Для устранения этой ошибки нужно в / | + | |
| - | ====== DontResolve ====== | + | |
| - | Записывать в лог IP, а не имя клиента. Это приведет к ускорению работы Pure-FTPd так как не будет использоваться [[DNS]]. | + | |
| - | <file bash> | + | |
| - | echo ' | + | |
| - | </ | + | |
| - | <note important> | + | |
| - | ====== Bind изменить IP, | + | Самым удобным способом хранения и конфигурирования FTP является БД MySql. Для |
| - | Для того чтобы задать | + | |
| - | echo ' | + | |
| - | </ | + | |
| - | ====== Ссылки ====== | + | |
| - | * [[wpru> | + | |
| - | * [[Правила iptables | + | |
| - | * [[http:// | + | |
| - | * [[http:// | + | |
| - | ====== Настройка PureFtpd + MySql ====== | + | * echo / |
| + | * [[pureftpd: | ||
| + | * [[:/ | ||
| - | * apt-get install pure-ftpd-common pure-ftpd-mysql | + | ==== PureFTP Complete Upload Script |
| - | * http:// | + | |
| - | ===== Создание БД ===== | + | |
| - | * [[: | + | После получения полностью залитого файла, скрипт переименует его в ended.< |
| - | ===== Добавление пользователя ===== | + | === Конфигурция === |
| - | * adduser site.ru | + | Конфигурация осуществляется через базовый конфигурационный файл / |
| - | * INSERT INTO users VALUES (' | + | Включает испльзование скрипта |
| + | < | ||
| + | $ sudo echo " | ||
| + | </code> | ||
| - | * mkdir / | + | === Файл скрипта === |
| - | * chown -R site.ru: | + | |
| - | + | ||
| - | * Где пользоватеь: | + | |
| - | * site.ru - 1000 | + | |
| - | * Где группа: | + | |
| - | * site.ru - 1100 | + | |
| - | ====== PureFTPd with MySQL ====== | + | |
| - | + | ||
| - | * [[:/ | + | |
| - | + | ||
| - | ====== Настройка ====== | + | |
| - | + | ||
| - | Включить логирование | + | |
| - | + | ||
| - | $ echo ' | + | |
| - | $ echo ' | + | |
| - | + | ||
| - | ====== PureFTP Complete Upload Script ====== | + | |
| - | + | ||
| - | После получения полностью залитого файла, скрипт переименует его в ended.< | + | |
| < | < | ||
| Строка 225: | Строка 92: | ||
| </ | </ | ||
| - | иди | + | или |
| < | < | ||
| Строка 233: | Строка 100: | ||
| dirname=${fullpath%/ | dirname=${fullpath%/ | ||
| mv " | mv " | ||
| + | chmod 664 " | ||
| + | chown :www-data " | ||
| </ | </ | ||
| - | ===== Конфигурция ===== | + | === Настройка pure-ftpd-common |
| - | Конфигурация осуществляется через базовый конфигурационный файл | + | nano / |
| - | + | ||
| - | Включает испльзование скрипта | + | |
| < | < | ||
| - | $ sudo echo " | + | STANDALONE_OR_INETD=standalone |
| + | VIRTUALCHROOT=false | ||
| + | UPLOADUID= | ||
| + | UPLOADGID= | ||
| + | UPLOADSCRIPT=/ | ||
| </ | </ | ||
| - | ===== Настройка pure-ftpd-common ===== | + | <note important> |
| - | + | UPLOADUID | |
| - | STANDALONE_OR_INETD=standalone | + | UPLOADGID |
| - | + | Относятся | |
| - | UPLOADUID=1021 | + | Пример: |
| - | + | </note> | |
| - | UPLOADGID=1022 | + | |
| - | + | ||
| - | UPLOADSCRIPT=< | + | |
| - | ===== Проверка | + | ==== Проверка ==== |
| < | < | ||