Как установить ftp linux

Как настроить FTP на Ubuntu 20.04 LTS

FTP – это протокол, который позволяет передавать файлы по сети от одного узла другому. Данный протокол является самым старым протоколом прикладного уровня, который появился намного раньше, чем HTTP или TCP/IP. С помощью протокола FTP могут быть организованы соединения с удаленными серверами для просмотра и передачи необходимых данных. При подключении к серверам и рабочим станциям при помощи протокола FTP необходимо использовать специальные приложения, которые именуются FTP-клиентами. Далее о том, как настроить работу с протоколом FTP на сервере, работающем под управлением Ubuntu 20.04 LTS.

Для того чтобы развернуть свой FTP-сервер на Ubuntu 20.04 LTS, необходимо:

  • установить FTP-сервер с поддержкой SSL для безопасного подключения;
  • настроить учетную запись FTP-пользователя;
  • проверить подключение к FTP-серверу.

Установка FTP-сервера

Как всегда при работе с Ubuntu необходимо произвести первоначальную настройку сервера в соответствии с посвящённой данной процедуре статье. Далее следует обновить списки пакетов:

После чего необходимо установить программу vsftpd :

По окончании установки можно убедиться, что сервис vsftpd уже успешно работает:

systemctl status vsftpd

Далее необходимо произвести некоторые настройки в конфигурационном файле. Для этого откройте при помощи текстового редактора файл vsftpd.conf :

Вот те основные изменения, которые необходимо внести для корректной работы FTP-сервера:

listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd allow_writeable_chroot=YES

После внесения изменений в файл настроек необходимо сохранить их и перезапустить службу vsftpd :

$ sudo systemctl restart vsftpd

Защита передачи данных при помощи SSL/TLS

Для защиты передачи ваших данных между FTP-клиентом и FTP-сервером в данной инструкции мы будем использовать генерацию самозаверяющего SSL-сертификата. Закрытый ключ и сертификат будут сохранены в одном файле, для чего следует применить команду:

$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

После установки SSL-сертификата необходимо внести изменения в конфигурационный файл:

А именно, внесите изменения в следующие строки данного файла:

rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES

Настройка учётной записи FTP-пользователя

Для авторизации на FTP-сервере необходимо создать учетную запись пользователя. Изначально, подключаться к серверу можно и под локальным пользователем. Но более целесообразно для этих целей использовать специальную учётную запись. Для её создания используйте следующую команду:

Читайте также:  Astra linux устранение зависимостей

Таким образом, у нас теперь есть пользователь ftpuser . Следующей командой нужно создать для него домашний каталог:

$ sudo mkhomedir_helper ftpuser

После этого для него необходимо создать пароль на вход:

Настройка брандмауэра

Если вы производили работы по первоначальной настройке виртуального сервера, то на нём должен быть запущен межсетевой экран UFW. Соответственно, для того, чтобы брандмауэр вашего VPS позволял осуществлять подключения, необходимо внести небольшие изменения в настройки UFW. Проще говоря, нужно будет добавить в брандмауэр исключения для TCP-портов 20 и 21. Делается это следующими командами:

$ sudo ufw allow 20/tcp $ sudo ufw allow 21/tcp

После чего брандмауэр следует перезапустить:

$ sudo ufw disable $ sudo ufw enable

И убедиться, что служба работает без ошибок:

sudo ufw status

Проверка подключения к FTP-серверу

Корректность произведённых настроек можно проверить через осуществление подключения к FTP-серверу. Для этой цели можно воспользоваться бесплатным FTP-клиентом FileZilla. После запуска приложения в FileZilla следует заполнить поля Хост и Имя пользователя . После нажатия кнопки Быстрое соединение система попросит ввести пароль учётной записи, под именем которой происходит подключение к FTP-серверу.

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

Источник

Создание FTP-сервера в Linux

Как создать FTP-сервер в Linux

Передача файлов в сети осуществляется благодаря правильно настроенному FTP-серверу. Такой протокол работает с применением TCP по архитектуре клиент-сервер и задействует различные сетевые соединения для обеспечения передачи команд между подключенными узлами. Пользователи, которые подключились к определенному хостингу, сталкиваются с надобностью настройки личного FTP-сервера по требованиям компании, предоставляющей услуги обеспечения работы сайта или другого обеспечения. Далее мы продемонстрируем, как создается такой сервер в Linux на примере одной из утилит.

Создаем FTP-сервер в Linux

Сегодня мы будем использовать инструмент под названием VSftpd. Преимущества такого FTP-сервера в том, что он по умолчанию работает на многих ОС, обслуживает официальные репозитории различных дистрибутивов Linux и относительно просто настраивается для корректного функционирования. К слову, на ядре Линукс официально применяется именно этот FTP, и многие хостинги рекомендуют ставить VSftpd. Поэтому давайте обратим внимание на пошаговый процесс инсталляции и настройки необходимых компонентов.

Шаг 1: Установка VSftpd

По умолчанию всех нужных библиотек VSftpd в дистрибутивах не имеется, поэтому их нужно вручную загрузить через консоль. Осуществляется это следующим образом:

Читайте также:  Kali linux virtualbox kernel panic

Переход к взаимодействию с консолью в операционной системе Linux

    Откройте «Терминал» любым удобным методом, например, через меню.

  • Обладателям версий Debian или Ubuntu требуется прописать команду sudo apt-get install vsftpd . CentOS, Fedora — yum install vsftpd , а для Gentoo — emerge vsftpd . После введения нажмите на Enter, чтобы запустить процесс инсталляции. Команда для установки VSftpd в операционной системе Linux
  • Подтвердите наличие прав у своей учетной записи, указав соответствующий пароль. Ввод пароля для установки VSftpd в операционной системе Linux

    Процедура добавления файлов VSftpd в операционной системе Linux

  • Ожидайте завершения добавления новых файлов в систему.
  • Обращаем внимание обладателей CentOS, которые задействуют выделенный виртуальный сервер от любого хостинга. Вам потребуется произвести обновление модуля ядра ОС, поскольку без этой процедуры во время инсталляции отобразится критическая ошибка. Последовательно вводите такие команды:

    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 . Запустить конфигурационный файл VSftpd в операционной системе Linux
    2. В консоли или текстовом редакторе отобразится сам файл. Здесь обратите внимание на указанные ниже пункты. В вашем конфигурационном файле они должны иметь такие же значения. anonymous_enable=NO
      local_enable=YES
      write_enable=YES
      chroot_local_user=YES
    3. Остальное редактирование осуществляйте сами, а после не забудьте сохранить изменения. Сохранить конфигурационный файл VSftpd в операционной системе Linux

    Шаг 3: Добавление пользователя с расширенными правами

    Если вы собираетесь работать с FTP-сервером не через свою основную учетную запись или хотите предоставить доступ другим юзерам, созданные профили обязательно должны иметь права суперпользователя, чтобы при обращении к утилите VSftpd не возникало ошибок с отказом в доступе.

    1. Запустите «Терминал» и введите команду sudo adduser user1 , где user1 — имя новой учетной записи. Создать нового пользователя через терминал в Linux
    2. Задайте для него пароль, после чего подтвердите его. Кроме этого, настоятельно рекомендуем запомнить домашний каталог учетной записи, в дальнейшем может понадобиться обращение к нему через консоль. Ввести пароль для нового пользователя в операционной системе Linux
    3. Заполните основную информацию — полное имя, номер комнаты, номера телефонов и прочую информацию, если требуется. Дополнительные данные нового пользователя в Linux
    4. После этого присвойте пользователю расширенные права путем ввода команды sudo adduser user1 sudo . Предоставить новому пользователю расширенные права Linux
    5. Создайте для юзера отдельную директорию под хранение его файлов через sudo mkdir /home/user1/files . Создать для пользователя главную папку в Linux
    6. Далее переместитесь в свою домашнюю папку через cd /home и там сделайте нового пользователя владельцем своей директории, введя chown root:root /home/user1 . Задать владение для папки нового пользователя в Linux
    7. Перезапустите сервер после осуществления всех изменений sudo service vsftpd restart . Только в дистрибутиве Gentoo утилита перезагружается через /etc/init.d/vsftpd restart . Перезапустить FTP-сервер через консоль в Linux
    Читайте также:  Linux запретить чтение файла

    Теперь вы можете производить все необходимые действия на FTP-сервере от лица нового юзера, который обладает расширенными правами доступа.

    Шаг 4: Настройка Firewall (Только для Ubuntu)

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

    1. В консоли поочередно активируйте команды sudo ufw disable и sudo ufw enable , чтобы перезапустить Firewall. Перезапустить Firewall в операционной системе Ubuntu
    2. Добавьте правила входящих соединений, используя sudo ufw allow 20/tcp и sudo ufw allow 21/tcp . Добавить новые правила в Firewall в операционной системе Ubuntu
    3. Проверьте, были ли применены введенные правила, просмотрев статус фаервола sudo ufw status . Проверить статус Firewall в операционной системе Ubuntu

    Отдельно хочется отметить несколько полезных команд:

    Команды Описание
    /etc/init.d/vsftpd start Анализ конфигурационного файла
    service vsftpd start
    netstat -tanp | grep LISTEN Проверка корректности установки FTP-сервера
    man vsftpd Вызов официальной документации VSftpd для поиска необходимой информации касаемо работы утилиты
    service vsftpd restart Перезагрузка сервера
    /etc/init.d/vsftpd restart

    Что касается получения доступа к FTP-серверу и дальнейшей работе с ним, обращайтесь за получением этих данных к представителям своего хостинга. У них же вы сможете уточнить информацию по поводу тонкостей настройки и возникновению различного рода ошибок.

    На этом статья подходит к концу. Сегодня мы разобрали процедуру установки сервера VSftpd без привязки к какому-либо хостингу, поэтому учтите это при выполнении наших инструкций и сравнивайте их с теми, что предоставляет компания, содержащая ваш виртуальный сервер. Кроме всего, советуем ознакомиться с другим нашим материалом, в котором разбирается тема установки компонентов LAMP.

    Источник

    Оцените статью
    Adblock
    detector