Как да хоствате FTP сървър на Linux

Трудно е да се повярва, но през 2017 г. FTP все още остава един от най-надеждните начини за прехвърляне на големи файлове от едно място на друго в интернет. Много експерти се обърнаха към други решения (като Syncing/Bittorrent и NFS), но за тези, които искат да прехвърлят данни бързо, по лесен и надежден начин, FTP сървърът все още е най-добрият начин. В този урок ще ви покажем как да хоствате FTP сървър на Linux. Ще използваме инструмент, наречен vsftpd FTP сървър. Има много фонови сървърни инструменти, които правят това, което прави този инструмент. Ако не се интересувате от използването на vsftpd като софтуер за FTP сървър, много е лесно да се намери добра алтернатива. Въпреки това vsftpd има много история и вероятно е най-добрият досега.
ПРЕДУПРЕЖДЕНИЕ ЗА СПОЙЛЕР: Превъртете надолу и гледайте видеоурока в края на тази статия.

Инсталация

Получаването на vsftpd е сравнително лесно, тъй като софтуерът е много малък. Що се отнася до сървърните инструменти, този поема тортата. Това е малък демон с конфигурационен файл, който позволява на всеки бързо и лесно да хоства FTP сървър в своята LAN или през интернет. Най-хубавото е, че този инструмент работи на почти всичко. Това означава, че ако имате нужда от бърз и мръсен начин за прехвърляне на данни от един сървър на другия, можете да завъртите vsftpd на почти всяка дистрибуция на сървър на Linux.

  Как да направите OCR от командния ред на Linux с помощта на Tesseract

Освен това обикновените операционни системи за настолни компютри Linux също носят този сървърен софтуер, което прави възможно бързото стартиране на сървър директно от вашия домашен компютър.

Ubuntu

sudo apt install vsftpd

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

Debian

sudo apt install vsftpd

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

Arch Linux

sudo pacman -S vsftpd

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

Fedora

sudo dnf install vsftpd

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

Отворете SUSE

sudo zypper install vsftpd

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

Друго

Инструментът vsftpd е услуга, която позволява на всеки Linux сървър (или компютър) да поддържа и хоства FTP сървър. Протоколът FTP, въпреки че е много стар, все още се използва много днес, така че инструментът vsftpd се намира в почти всички основни дистрибуции на Linux за компютър и сървър.

За да го получите за вашата Linux дистрибуция, отворете терминала си и потърсете в мениджъра на пакети „vsftpd“ или „FTP сървър“. Трябва също да изпробвате други инструменти за FTP хостинг, ако вашата базирана на Linux операционна система няма vsftpd.

Конфигурация

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

sudo nano /etc/vsftpd.conf

По подразбиране са разрешени анонимни връзки. Това означава, че потребителите, независимо кои са, могат лесно да се свързват и използват вашия FTP сървър. За да улесните нещата, оставете тази опция активирана. Ако не, добавете # пред „anonymous_enable=YES“, за да деактивирате тази настройка.

  Как да превърнете уебсайтовете в приложения за Linux с уеб каталог

След това използвайте клавишите със стрелки, за да превъртите надолу. Потърсете „write_enable=YES“ и „anon_upload_enable=YES“. Активирайте тези настройки, като премахнете # отпред.

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

За да активирате тази настройка за сигурност, намерете „nopriv_user=ftpsecure“ и премахнете знака #.

Когато всички тези настройки са активирани, рестартирайте vsftpd със системата systemd init:

sudo systemctl restart vsftpd

Свържете се със сървъра, като отидете в адресната лента на вашия файлов мениджър на Linux и въведете:

ftp://local.ip.address

Забележка: не искате да използвате файлов мениджър? Опитвам FileZilla вместо.

  8-те най-добри онлайн ресурса за техническа поддръжка за потребители на Linux

Можете също да използвате името на хоста, напр

ftp://ubuntu-server

и т.н.

За да намерите IP адреса на вашия сървър, направете ifconfig и след това въведете IP адреса, който командата връща (под IPv4). Като алтернатива направете:

ping hostname

След това запишете находките за IP ping.

SSH SFTP

Не можете да стартирате този инструмент vsftpd? Твърде сложно? Има и друг начин! Инсталирайте SSH и използвайте вградения SFTP инструмент. Протоколът SSH може да хоства защитен FTP сървър при поискване. Има предимства за това, като получаване на бърз сървър за прехвърляне на файлове за миг. Има обаче и големи недостатъци, като по-бавна скорост на трансфер. Традиционният FTP, макар и не толкова сигурен, не е затънал в правилата за криптиране и в резултат на това потребителите могат да прехвърлят файлове много бързо.

SFTP със сигурност ще извади потребителите от затруднено място, но няма заместител на FTP дори през 2017 г. Искате ли да научите как да накарате SFTP/SSH протокола да работи? Отидете тук, за да научите повече!

Заключение

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