Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| system:pureftpd [2016/03/31 00:49] – [Установка SSL сертификата для TLS] 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] | + | |
| - | </ | + | |
| - | + | ||
| - | Рассмотрим значения используемых опций: | + | |
| - | + | ||
| - | < | + | |
| - | ' | + | |
| - | '-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' -- задает ip адреса, | + | |
| - | | + | |
| - | + | ||
| - | '-R ip' -- задает ip адреса, | + | |
| - | '-i ip' -- при нескольких интерфейсах на сервере позволяет указать ip адрес | + | |
| - | того интерфейса, | + | |
| - | '-I ip' -- при нескольких интерфейсах на сервере позволяет указать ip адрес | + | |
| - | того интерфейса, | + | |
| - | '-y num' | + | |
| - | '-z hhmm-hhmm' | + | |
| - | получать доступ к аккаунту, | + | |
| - | промежуток для доступа к аккаунту с 18:30 до 22: | + | |
| - | подключен к серверу во время истечения указанного значения, | + | |
| - | прервано. | + | |
| - | ' | + | |
| - | запустить ' | + | |
| - | '/ | + | |
| - | </ | + | |
| - | * **Изменение параметров аккаунта пользователя**. | + | |
| - | Изменение параметров аккаунта также осуществляется с помощью pure-pw: | + | |
| - | < | + | |
| - | ' | + | |
| - | </ | + | |
| - | 'attr value' в данном случае -- это те же параметры, | + | |
| - | + | ||
| - | Не забывайте использовать параметр '-f passwd file' в том случае, | + | |
| - | + | ||
| - | ====== 530 Sorry, but I can't trust you ====== | + | |
| - | Для устранения этой ошибки нужно в / | + | |
| - | ====== DontResolve ====== | + | |
| - | Записывать в лог IP, а не имя клиента. Это приведет к ускорению работы Pure-FTPd так как не будет использоваться [[DNS]]. | + | |
| - | <file bash> | + | |
| - | echo ' | + | |
| - | </ | + | |
| - | <note important> | + | |
| - | + | ||
| - | ====== Bind изменить IP, | + | |
| - | Для того чтобы задать определенный IP и/или порт нужно создать файл Bind, в котором через запятую указать IP и порт. Можно задать пустые значение, | + | |
| - | echo ' | + | |
| - | </ | + | |
| - | ====== Ссылки ====== | + | |
| - | * [[wpru> | + | |
| - | * [[Правила iptables для FTP]] | + | |
| - | * [[http:// | + | |
| - | * [[http:// | + | |
| - | + | ||
| - | ====== Настройка | + | |
| - | + | ||
| - | + | ||
| - | * apt-get install pure-ftpd-common pure-ftpd-mysql | + | |
| - | * http:// | + | |
| - | ===== Создание БД ===== | + | |
| - | + | ||
| - | * [[: | + | |
| - | + | ||
| - | ===== Добавление пользователя ===== | + | |
| - | + | ||
| - | * adduser site.ru | + | |
| - | + | ||
| - | * INSERT INTO users VALUES (' | + | |
| - | + | ||
| - | * mkdir / | + | |
| - | * chown -R site.ru: | + | |
| - | + | ||
| - | * Где пользоватеь: | + | |
| - | * site.ru - 1000 | + | |
| - | * Где группа: | + | |
| - | * site.ru - 1100 | + | |
| - | ====== PureFTPd with MySQL ====== | + | |
| - | + | ||
| - | * [[:/ | + | |
| - | + | ||
| - | ====== Настройка ====== | + | |
| Устанавливаем пакет «pure-ftpd-mysql». Настройка происходит с помощью индивидуальных файлов в / | Устанавливаем пакет «pure-ftpd-mysql». Настройка происходит с помощью индивидуальных файлов в / | ||
| Строка 228: | Строка 53: | ||
| echo yes > / | echo yes > / | ||
| echo / | echo / | ||
| + | echo no > / | ||
| </ | </ | ||
| - | ====== Установка SSL сертификата для TLS ====== | + | === Включить логирование === |
| < | < | ||
| - | $ mkdir -p /etc/ssl/private/ | + | $ echo ' |
| - | $ openssl req -x509 -nodes -newkey rsa:1024 -keyout | + | $ echo ' |
| - | $ chmod 600 /etc/ssl/private/*.pem | + | |
| </ | </ | ||
| - | ===== Включить логирование ===== | ||
| - | $ echo ' | + | ==== Подключение MySQL ==== |
| - | $ echo ' | + | |
| - | ====== PureFTP Complete Upload Script | + | Самым удобным способом хранения и конфигурирования FTP является БД MySql. Для подключения хранилища достаточно настроить MySQLConfigFile. |
| + | |||
| + | * echo / | ||
| + | * [[pureftpd: | ||
| + | * [[:/ | ||
| + | |||
| + | |||
| + | ==== PureFTP Complete Upload Script ==== | ||
| После получения полностью залитого файла, скрипт переименует его в ended.< | После получения полностью залитого файла, скрипт переименует его в ended.< | ||
| + | |||
| + | === Конфигурция === | ||
| + | |||
| + | Конфигурация осуществляется через базовый конфигурационный файл / | ||
| + | |||
| + | Включает испльзование скрипта | ||
| + | < | ||
| + | $ sudo echo " | ||
| + | </ | ||
| + | |||
| + | === Файл скрипта === | ||
| < | < | ||
| Строка 259: | Строка 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 | ||
| Строка 279: | Строка 114: | ||
| UPLOADSCRIPT=/ | UPLOADSCRIPT=/ | ||
| </ | </ | ||
| - | ===== Проверка | + | |
| + | <note important> | ||
| + | UPLOADUID | ||
| + | UPLOADGID = 1002\\ | ||
| + | Относятся только к UPLOADSCRIPT.\\ | ||
| + | Пример: | ||
| + | </ | ||
| + | |||
| + | ==== Проверка ==== | ||
| < | < | ||