ПредишенСледващото

Във връзка с последните събития на популярната услуга за електронна поща, която съхранява личните досиета на потребителите свободно достъпни, реших да се създаде FTP сървър за нуждите им - така че приятелите могат да ме насочат за прехвърляне на файлове и да ги изтеглите. Не, услугата съм използвал отдавна клетва никога да не се доверявате на трето лице не е нищо излишно, но ако не със собствен FTP, тогава kotkto това? Разбира се OpenSSH, но дали сте всеки един познат, за да обясни, че имате нужда за това изтегляне / инсталиране, и все пак нека просто връзката към FTP? Просто утеши FTP-клиент е "извън кутията", дори и в Windows (ако знаете какво имам предвид).

Всичко се случва на lokalhoste (т.е. на домашен компютър), така че трябва да се осигури външно IP. И Linux. Разбира се, Linux, където същото без него ...

I. Защо и за какво?

За няколко минути в ума му, работещи над сървърната архитектура, директории, искам да съхраняват файлове и какви функции трябва да се извършва от сървъра ... Задачата получи следващия.

Нямам нищо против анонимни потребители - дори и ако, ще се разпространи на обществеността всяка глупост. За да не се чувствате неудобно, за да бъдем анонимни тежки ограничения като 16KBayt / секунда, скорост.
анонимен ще можете да качвате файлове на сървъра, в отделна директория.
Нарушават структурата FHS ще следователно не попадат в анонимен директория / SRV / FTP. и тя вече следвайки традициите, създаване на две директории за качване и да се върне на файлове.

защитен режим / SRV / FTP /
chown корен: FTP / SRV / FTP /
коригират г + т / SRV / FTP / входящо

Дори и за себе си, аз искам да имам един потребител на сървъра с вашето потребителско име: парола. и в идеалния случай - да се създаде колкото се може повече различни потребители, и те ще работят с основната директория на моя хамстер

/ Downloads (която се използва и от други програми).
Мисля, че трябва да се досети. тези потребители на сървъра - най-много познато, което искам да осигуряват лесен достъп до обмен на файлове.
В него те са свободни да изтеглите и да качвате файлове с неограничен скорост. И не е нужно да правите нищо, за пореден път с патерици права и изобретяването на нови директории. Всички натоварване - на браузъра, торент, FTP, - всичко е на едно място. Удобен.

Направи нещо като домакин на сървъра, всеки потребител има собствена директория (и неговия пример, споделен уеб сайт), не съм имал задача, но ще разгледа този случай.

Всичко? Не по-екзотични желания не? Тогава нека да започнем.

На първо място, той се търкаля на FTP сървъра. Изборът ми падна върху vsftpd, - малък, надежден и бърз, сигурен (бих казал дори параноично) сървър, а изборът е очевиден:

vsftpd е по подразбиране на FTP сървър в Ubuntu, CentOS, Fedora, NimbleX, Slackware и RHEL дистрибуции.

II. монтаж

Говорете за настройка отново, след като няма, във всяка дистрибуция за управление на пакетите, и около три заветната ./configure команда # 038; # 038; правя # 038; # 038; су-с "направи инсталиране" и така сте чували ... vsftpd сте инсталирали.

За много потребители могат да се свикнали да стартирате програмата, zhmyakat бутони и да зададете в квадратчетата за управление на потребители и разрешения на директории / файлове.
В случай на vsftpd има само базова конфигурация на сървъра и файловите права - вещни права, които са определени от коригират. Ето защо, например, за да се даде възможност на потребителите да качват файлове на сървъра, можете съответно ще има нужда от права за запис директория стандартни средства. На вас vsftpd просто включва само функции, че файловете могат да бъдат качени на сървъра, и в това, което директория, потребителят може да качва - това се превръща в образец коригират / chown. Така че, за по-голяма яснота.

III. Основна настройка

Включване на сървъра в отделен режим демон, без inetd, и влизате (по подразбиране /var/log/vsftpd.log)

Обръщайки порт 20 да осъществява пряк обмен на данни чрез командата PORT и да ограничи броя на едновременни връзки.

Потребителите се крият в системата, така че, когато се изброяват директория име / художник на всички обекти, просто ще се нарича FTP. и не да има идентификационен номер на истинския собственик на обекта, както и да включва възможността за качване на файлове на сървъра - за това и ние се създаде, все пак.

Заключване на потребителя в неговия хамстер. Без тази настройка, можете да отидете и да е директория на вашата система и прочетете всеки файл (добре, че всичко зависи от дясно).

Всички нашата система с тези настройки в областта на сигурността.

IV. потребители

И сега нещо се създаде нашите виртуални потребители на сървъра.
Посочете директорията, където той ще лежи личната конфигурация на всеки потребител на информацията.

потребителско име
парола
фишинг
blahblahblah
корен
toor

където линия записани потребителско име, последвано от парола.

Изпълнете командата за конвертиране на файла на базата данни Berkeley

db_load -T -t хеш -f

/logins.txt /etc/vsftpd_login.db
коригират 600 /etc/vsftpd_login.db

Въпреки това, в зависимост от версията, може да имате db3_load, db4_load.

Споменаваме на ПАМ, които файл, който искате да използвате с базата данни на сървъра - /etc/pam.d/ftp създадете файл и да го напиша

удостоверяване изисква /lib/security/pam_userdb.so db = / и т.н. / vsftpd_login
сметка изисква /lib/security/pam_userdb.so db = / и т.н. / vsftpd_login

В зависимост от това, което сте посочили в потребителя

/logins.txt (и след процес на преобразуване на основата трябва да се повтаря), - ще можете да влизате в ВТП за тези потребители.
И за всеки потребител поотделно, можете да въведете вашите лични настройки - най-накрая създаде директория защитен режим / и т.н. / vsftpd_user_conf. където същите тези настройки ще бъдат съхранени.

Създаване на файла / и т.н. / vsftpd_user_conf / спуфинг (с данните за вход на нашата виртуална потребител на сървъра) и отменя настройките по подразбиране, които са изброени по-рано (или не са включени изобщо) в /etc/vsftpd.conf.
Долната линия е, че тези настройки сега работят само за този потребител.

Vsftpd странност, който не иска да пише в директорията, посочен от потребителя на корен и това даде грешка 500 OOPS: vsftpd: отказва да работи с писане корен вътре Chroot (). Това е, например, по подразбиране при влизане в сървъра можете да получите в / Начало / спуфинг / Downloads. Инсталирайте го прав коригират жа + w / Начало / фишинг / Downloads и тази грешка възниква. Защо това е параноя, че "коренът не мога да пиша" - аз не знам, но О, добре. И все пак ние позволяват влизане и се отървете от бъговете.

Потребителят замяна, чиито права ще бъде създаден нов (качен на сървър на) файлове. По-рано имахме конфигурационния Определете FTP потребител. но също така в нашата

/ Downloads нямат нужда от "чужди" файлове? Както е добре, на сесията на сървъра ще бъде създаден от нашите потребители, и по този начин няма да присъства на всички въпроси, които имат достъп до нашата / Начало / фишинг. за да отидете на

И накрая, самият посочи,

/ Downloads, който е за потребителя да бъде в главната директория на сървъра. И премахване на ограничението за изтегляне.

Сега, когато сте влезли като потребител изигравам сървъра, който влезе в тяхната директория / Начало / фишинг / Downloads. Можете да качвате и сваляте файлове към него.
Сесията се провежда под вече присъства вашето потребителско фишинг. само така можете да получите в и ви

. и файлове за изтегляне са създадени под потребителското си. Така че има.

Сега просто се създадат и други потребители на сървъра, но че те могат да работят само с една обща

/ Изтегляне.
За да направите това, ние ги опиша

/logins.txt. Пресъздайте базата данни Бъркли, копирате съдържанието на / и т.н. / vsftpd_user_conf / фишинг в / и т.н. / vsftpd_user_conf /. All.

VI. анонимен

Преди началото, ние сме създали необходимите директории / SRV / FTP / и да зададете разрешения за писане на / SRV / FTP / входящи.

Разрешаване на анонимни данни за вход.

Позволено, за да качвате файлове, да създавате директории, но но преименуване и изтриване на файлове вече са започнали - не можете да.

Ограничаване на честотната лента на 16384 байта. и посочи, с които правото на създаване на нови файлове.

Сега всичко става анонимно в дома си / SRV / FTP видите входящ за изтегляне на файлове и кръчма ...
Сесия на сървъра се изпълнява под ползвателя на FTP. - този, който са посочили в /etc/vsftpd.conf, под него също така ще създаде нови файлове за изтегляне.

VII. хостинг

Например, вашите сайтове са в /srv/http/example.com, /srv/http/example.net, /srv/http/example.org чрез FTP и искате да имате пълен достъп до досиетата на всеки обект поотделно.

Създаване на потребителски в сървъра с име example.com, example.net, example.org и /etc/vsftpd.conf инсталира основни директория сайтове

Влизанията са по името на домейна - можете да стигнете до основата на всеки един от обектите. Толкова е просто.

Друг вариант, ако създадете база според потребител в / и т.н. / vsftpd_user_conf, всеки от които ще определи предпочитанията за достъп до файловете на сайта си.

VIII. безопасност

Със сигурност е добре, че файловете не се съхраняват в публичното пространство в някои споделяне на услуги, като се преминава директно от човек на човек чрез директно свързване посредством FTP. Въпреки това, той ще бъде голям трафик също е криптирана, така че никой не знае точно кои файлове да ви представя.

Конфигуриране на SSL / TLS, и най-вече да го включите в /etc/vsftpd.conf.

Изберете кой протокол искате.

OpenSSL REQ -x509 -nodes -days 365 -newkey RSA: 1024 -keyout /etc/ssl/certs/vsftpd.pem напускане /etc/ssl/certs/vsftpd.pem

Посочете пътя до него.

И, мисля, че е задължително за всички локални потребители да се свърже с вашия сървър през шифрована връзка. Изведнъж, момичето иска да хвърлят голи негови снимки в жанра?
Ето защо, включва задължително SSL / TLS за местни потребители, но то е анонимно може би не е нужно да се харчат само за процесорното време.

IX. проверите

anonymous'y, много местни хора, които работят директно с вашия

/ Downloads, задължителната връзка чрез SSL / TLS.
Елегантен, сейф, удобен, и - всичко работи. Приблизително.

Зареждане curl'om файл на FTP: // Localhost / входящо

/Desktop/userpic.jpg FTP: // Localhost / входящо /
* За да се свърже () за Localhost порт 21 (# 0)
* Опит. 1 ...
% Общо% Получени% Xferd Средна скорост Време Време Време Current
Dload Качи Общо прекарано Left Speed
0 0 0 0 0 0 0 0 -: -: -: -: -: -: -: -: - 0 * връзка отказа
* Опит 127.0.0.1 ...
* свързан
* Свързан към Localhost (127.0.0.1) порт 21 (# 0)
<220 Welcome to Voglea FTPd
> USER анонимен
<331 Please specify the password.
> PASS [email protected]
<230 Login successful.
> хората с увреждания
<257 "/"
* Влизане път е "/"
> ХЛ входящо
<250 Directory successfully changed.
> EPSV
* Connect поток данни пасивно
<229 Entering Extended Passive Mode (|||8210|).
* Опит 127.0.0.1 ...
* свързан
* Свързване към 127.0.0.1 (127.0.0.1) порт 8210
> ТИП I
<200 Switching to Binary mode.
> STOR userpic.jpg
<150 Ok to send data.
> [Данните не са показани]
* Ние сме напълно качен и глоба
* Спомняйки ние сме в реж «входящи /»
77050 100 0 0 100 77050 0 25418 0:00:03 0:00:03 -: -: - 25437<226 Transfer complete.
77050 100 0 0 100 77050 0 20654 0:00:03 0:00:03 -: -: - 20656
* Свързване # 0 да бъде домакин на Localhost лявата непокътнат
> QUIT
<221 Goodbye.
* Закриване връзка # 0

Проверете файла в / SRV / FTP / входящи

]
└─╼ LS-la / SRV / FTP / входящо /
Общият 88K
drwxrwxr-2 х корен FTP 4.0K 17 януари 20:31 ./
р-XR-XR-4 х корен FTP 4.0K 17 януари 15:26. /
-RW-R-R-1 FTP FTP 76K 17 януари 20:31 userpic.jpg

Проверете връзката към сървъра

]
└─╼ FTP Localhost
FTP: свържете се с адрес. 1: Свързване отказа
FTP: Опитвам 127.0.0.1 ...
Свързахте се с localhost.localdomain.
220 Добре дошли в Voglea FTPD
Име (localhost.localdomain: фишинг): анонимен
331 Моля, посочете паролата.
парола:
230 Вход успешна.
Тип на дистанц система е UNIX.
Използването на двоичен режим за прехвърляне на файлове.
FTP> LS-la
200 PORT команда успешно. Помислете за използване PASV.
150 Тук идва на директории.
DR-XR-XR-х 4 FTP FTP 17 януари 4096 07:26.
DR-XR-XR-х 4 FTP FTP 4096 Jan 17 юли 26 ...
drwxrwxr-х 2 FTP FTP 17 януари 4096 12:31 входящо
drwxr-XR-х 2 FTP FTP 4096 16 януари 15:08 кръчма
226 Directory изпрати OK.
FTP> CD входящо
250 Directory променена успешно.
FTP> LS-la
200 PORT команда успешно. Помислете за използване PASV.
150 Тук идва на директории.
drwxrwxr-х 2 FTP FTP 17 януари 4096 12:31.
DR-XR-XR-х 4 FTP FTP 4096 Jan 17 юли 26 ...
-RW-R-R-1 FTP FTP 77050 17 януари 12:31 userpic.jpg
226 Directory изпрати OK.
FTP> откажат
221 Довиждане.

FTP програма не може да работи с SSL / TLS

]
└─╼ FTP Localhost
FTP: свържете се с адрес. 1: Свързване отказа
FTP: Опитвам 127.0.0.1 ...
Свързахте се с localhost.localdomain.
220 Добре дошли в Voglea FTPD
Име (localhost.localdomain: фишинг): фишинг
530 Non-анонимни сесии трябва да използват криптиране.
FTP: Неуспешно влизане.
421 Услугата не е налице, отдалечен сървър е затворила връзка
FTP> откажат

Опитайте чрез изтегляне на файла с къдри -ftp-SSL

Проверете файла в / Начало / спуфинг / изтеглянето

/ Изтегляне]
└─╼ хората с увреждания
/ Начало / фишинг / Downloads
┌─ [myhost

/ Изтегляне]
└─╼ ли-la
Общият 84k
drwxr-XR-х 2 потребители спуфинг 4.0K 17 януари 20:51 ./
drwx-- 17 Спуфинг потребители 4.0K Jan 17, 19:20. /
-RW-R-г- потребители 1 спуфинг 76K Jan 17 20:51 userpic.jpg

Изглежда, че всичко работи.
Файловете, които се изтеглят от потребители - отиват директно към моя

/ Downloads, собственик на която е инсталиран и не FTP, и веднъж с правилните разрешения.

X. T3h край

# Коригират г + т / SRV / FTP / входящо

Подкрепете проекта - споделете линка, благодаря!