Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
system:pureftpd [2016/03/30 23:22] – [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 (' | + | Включает испльзование скрипта |
- | + | < | |
- | * mkdir / | + | $ sudo echo " |
- | * chown -R site.ru: | + | </code> |
- | + | ||
- | * Где пользоватеь: | + | |
- | * site.ru - 1000 | + | |
- | * Где группа: | + | |
- | * site.ru - 1100 | + | |
- | ====== PureFTPd with MySQL ====== | + | |
- | + | ||
- | * [[:/ | + | |
- | + | ||
- | ====== Настройка ====== | + | |
- | + | ||
- | Включить логирование | + | |
- | $ echo ' | + | === Файл скрипта === |
- | $ echo ' | + | |
- | + | ||
- | ====== PureFTP Complete Upload Script ====== | + | |
- | + | ||
- | После получения полностью залитого файла, скрипт | + | |
< | < | ||
Строка 233: | Строка 100: | ||
dirname=${fullpath%/ | dirname=${fullpath%/ | ||
mv " | mv " | ||
+ | chmod 664 " | ||
+ | chown :www-data " | ||
</ | </ | ||
- | ===== Конфигурция ===== | + | === Настройка pure-ftpd-common === |
- | + | ||
- | Конфигурация осуществляется через базовый конфигурационный файл / | + | |
- | + | ||
- | Включает испльзование скрипта | + | |
- | < | + | |
- | $ sudo echo " | + | |
- | </ | + | |
- | + | ||
- | ===== Настройка pure-ftpd-common | + | |
+ | nano / | ||
< | < | ||
STANDALONE_OR_INETD=standalone | STANDALONE_OR_INETD=standalone | ||
Строка 253: | Строка 114: | ||
UPLOADSCRIPT=/ | UPLOADSCRIPT=/ | ||
</ | </ | ||
- | ===== Проверка | + | |
+ | <note important> | ||
+ | UPLOADUID | ||
+ | UPLOADGID = 1002\\ | ||
+ | Относятся только к UPLOADSCRIPT.\\ | ||
+ | Пример: | ||
+ | </ | ||
+ | |||
+ | ==== Проверка ==== | ||
< | < |