Как да създадете FTP сървър в Linux

Прехвърлянето на файлове в мрежата се извършва благодарение на правилно конфигуриран FTP сървър. Този протокол работи чрез TCP клиент-сървър архитектура и използва различни мрежови връзки, за да осигури предаването на команди между свързани възли. Потребителите, които са се свързали с конкретна хостинг компания, са изправени пред необходимостта да създадат персонален FTP сървър в съответствие с изискванията на компанията, която предоставя услуги за поддръжка на сайта или друг софтуер. След това ще демонстрираме как да създадем такъв сървър в Линукс на примера на една от помощните програми.

Създайте FTP сървър в Linux

Днес ще използваме инструмент, наречен VSftpd. Предимствата на такъв FTP сървър са, че по подразбиране той работи на много операционни системи, поддържа официалните хранилища на различни дистрибуции на Linux и е сравнително лесен за конфигуриране за правилна работа. Между другото, този конкретен FTP се използва официално в Linux ядрото, а много хостинг компании препоръчват инсталирането на VSftpd. Затова нека обърнем внимание на стъпка по стъпка процеса на инсталиране и конфигуриране на необходимите компоненти.

Стъпка 1: Инсталирайте VSftpd

По подразбиране всички необходими библиотеки VSftpd в дистрибуциите не са достъпни, така че те трябва да бъдат изтеглени ръчно чрез конзолата. Това се прави, както следва:

  1. Отворете "Терминал" с всеки удобен метод, например чрез менюто.
  2. Преход към конзолно взаимодействие в операционната система Linux

  3. Притежателите на Debian или Ubuntu версии са задължени да регистрират командата sudo apt-get install vsftpd . CentOS, Fedora - yum install vsftpd , а за Gentoo - emerge vsftpd . След въвеждането натиснете Enter, за да започнете инсталационния процес.
  4. Команда за инсталиране на VSftpd на Linux операционна система

  5. Потвърдете, че имате права с профила си, като посочите подходящата парола.
  6. Въвеждане на парола за инсталиране на VSftpd в операционната система Linux

  7. Изчакайте новите файлове да бъдат добавени към системата.
  8. Процедура за добавяне на VSftpd файлове в операционната система Linux

Ние привличаме вниманието на собствениците на CentOS, които използват специален виртуален сървър от всеки хостинг. Ще трябва да актуализирате модула на ядрото на OS, защото без тази процедура по време на инсталацията ще се появи критична грешка. Въведете последователно следните команди:

yum update
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
yum install kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install perf-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum --enablerepo=elrepo-kernel install kernel-ml

След края на цялата процедура, изпълнете конфигурационния файл / boot / grub / grub.conf по всякакъв удобен начин. Променете съдържанието му, така че следните параметри да имат съответните стойности:

default=0
timeout=5
title vmlinuz-4.0.4-1.el7.elrepo.x86_64
root (hd0,0)
kernel /boot/vmlinuz-4.0.4-1.el7.elrepo.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro
initrd /boot/initramfs-4.0.4-1.el7.elrepo.x86_64.img

След това просто трябва да рестартирате специалния сървър и да пристъпите към незабавна инсталация на FTP сървъра на компютъра.

Стъпка 2: Първоначална настройка на FTP сървър

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

  1. В операционните системи Debian или Ubuntu конфигурационният файл се изпълнява по следния начин: sudo nano /etc/vsftpd.conf . В CentOS и Fedora тя е разположена по пътя /etc/vsftpd/vsftpd.conf , а в Gentoo е /etc/vsftpd/vsftpd.conf.example .
  2. Стартирайте конфигурационния файл VSftpd в операционната система Linux

  3. Самият файл се показва в конзолата или текстовия редактор. Обърнете внимание на точките по-долу. Те трябва да имат същите стойности във вашия конфигурационен файл.

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES

  4. Направете останалото редактиране, а след това не забравяйте да запазите промените.
  5. Запазете конфигурационния файл VSftpd в операционната система Linux

Стъпка 3: Добавяне на разширен потребител

Ако възнамерявате да работите с FTP сървър не през основния си акаунт или искате да дадете достъп на други потребители, създадените профили трябва да имат права на суперпотребител, така че при достъп до помощната програма VSftpd няма грешки с отказан достъп.

  1. Стартирайте "Терминал" и въведете командата sudo adduser user1 , където user1 е името на новия акаунт.
  2. Създайте нов потребител чрез терминала в Linux

  3. Задайте парола за него и след това го потвърдете. В допълнение, силно препоръчваме да запомните началната директория на профила, в бъдеще може да се наложи да го отворите през конзолата.
  4. Въведете паролата за новия потребител в операционната система Linux

  5. Попълнете основната информация - пълно име, номер на стая, телефонни номера и друга информация, ако е необходимо.
  6. Допълнителни данни за новия потребител в Linux

  7. След това предоставете на потребителя разширени права, като въведете командата sudo adduser user1 sudo .
  8. Предоставете нови потребителски привилегии на Linux

  9. Създайте за потребителя отделна директория за съхранение на файловете чрез sudo mkdir /home/user1/files .
  10. Създайте главна папка за потребител в Linux

  11. След това се преместете в началната си папка чрез cd /home и ще направите новия потребител собственик на директорията, като въведете chown root:root /home/user1 .
  12. Задайте собственост за нова потребителска папка в Linux

  13. Рестартирайте сървъра, след като всички промени са направени за sudo service vsftpd restart на sudo service vsftpd restart . Само в дистрибуцията Gentoo помощната програма се презарежда чрез /etc/init.d/vsftpd restart .
  14. Рестартирайте FTP сървъра чрез конзолата в Linux

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

Стъпка 4: Настройка на защитна стена (само за Ubuntu)

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

  1. В конзолата активирайте sudo ufw disable и sudo ufw enable по един, за да рестартирате защитната стена.
  2. Рестартирайте защитната стена в операционната система Ubuntu

  3. Добавяне на входящи правила за връзка, използвайки sudo ufw allow 20/tcp и sudo ufw allow 21/tcp .
  4. Добавете нови правила към защитната стена в операционната система Ubuntu

  5. Проверете дали въведените правила се прилагат, като видите sudo ufw status защитната стена на sudo ufw status на sudo ufw status .
  6. Проверете състоянието на защитната стена в операционната система Ubuntu

Отделно, искам да спомена няколко полезни команди:

  • /etc/init.d/vsftpd start или service vsftpd start - анализ на конфигурационния файл;
  • netstat -tanp | grep LISTEN netstat -tanp | grep LISTEN - валидиране на инсталацията на FTP сървъра;
  • man vsftpd - обадете се на официалната документация на VSftpd, за да намерите необходимата информация относно работата на програмата;
  • service vsftpd restart или /etc/init.d/vsftpd restart - рестартирайте сървъра.

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

Тази статия приключва. Днес анализирахме процедурата по инсталиране на VSftpd сървъра, без да се обвързваме с която и да е хостинг компания, така че имайте това предвид, когато изпълнявате нашите инструкции и ги сравнявате с тези, предоставени от компанията, съдържаща виртуалния ви сървър. Освен това ви съветваме да се запознаете с други материали, които се занимават с темата за инсталацията на компонентите на LAMP.

Вижте също: Инсталиране на инструментариума LAMP в Ubuntu