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

person access_time16-10-2019, 06:17 visibility2 868 chat_bubble_outline0


Что такое FTP и vsFTPd

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

vsFTPd — это дополнительный инструмент, который расширяет возможности FTP-протокола. По сути, он является полноценным сервером, который используется в Linux по умолчанию, славится высокой надежностью и большим количество функций.
vsFTPd работает с виртуальными пользователями и IP-адресами. В нем есть возможность настраивать отдельные правила для пользователей. Продукт активно поддерживается сообществом. В vsFTPd есть возможность подключить SSL-шифрование данных и так далее.

Устанавливаем vsFTPd

vsFTPd есть во всех популярных репозиториях, поэтому его легко загрузить в любой дистрибутив. Вот как это делается в Ubuntu и ей подобных системах (Linux Mint, Debian, Elementary OS).
  • Открываем терминал. Это можно сделать, одновременно нажав клавиши CtrlAltT.
  • Вводим туда команду sudo apt-get install vsftpd и нажимаем клавишу «Ввод» (Enter).
Команда установки утилиты vsFTPd

Устанавливаем vsFTPd с помощью стандартного менеджера пакетов.
  • Затем вводим пароль администратора, чтобы продолжить установку.
Возможно, придется подтвердить установку клиента, нажав на клавишу «Д» (или Y в английской версии системы).

Запрос на ввод пароля в терминале

Учтите, что во время набора пароля, вводимые символы никак не отображаются в терминале. Придется набирать вслепую
На этом все.
Для тестирования соединения можно установить стандартный FTP-сервер. Чтобы это сделать, открываем терминал и вводим в него команду sudo apt-get install ftp.

Команда установки стандартного FTP-сервера

Это необязательно.

Установка vsFTPd в другие операционные системы

В разных дистрибутивах используются разные менеджеры пакетов, поэтому придется скорректировать команду под свой вариант Linux. Например:
Для Fedora — sudo dnf install vsftpd, openSUSE — sudo zypper install vsftpd, CentOS — sudo yum install vsftpd, Arch Linux — pacman -S vsftpd, Gentoo — emege vsftpd.
Чтобы установить vsFTPd в дистрибутив, не указанный в списке, нужно выяснить, какой менеджер пакетов там используется и подставить его в команду sudo название менеджера пакетов install vsftpd. Либо найти исходный код утилиты и собрать его вручную локально.

Настраиваем FTP-сервер

Перед тем как начать настройку, можно ознакомиться с файлом-инструкцией. В vsFTPd встроено большое удобное руководство по базовой настройке и запуску сервера. Оно открывается командой man vsftpd.conf Это на тот случай, если вы дружите с английским и хотите провести более тонкую настройку под свои нужды. В ином случае продолжайте читать дальше…

Все параметры FTP-сервера хранятся в одном конфигурационном файле. Он называется vsftpd.conf и в зависимости от системы может храниться либо в папке /etc/vsftpd/, либо просто в /etc/.
Например, чтобы получить доступ к настройкам в CentOS, введем в терминале sudoedit /etc/vsftpd/vsftpd.conf. А в Debian и Ubuntu — sudoedit /etc/vsftpd.conf.

sudoedit — это запуск стандартного текстового редактора от имени администратора. При желании вы можете указать любой другой инструмент. Например, vi.

Содержимое руководства vsftpd.conf

Это инструкция к vsFTPd.

Запуск FTP-сервера

Вообще, vsFTPd запускается автоматически, и его работоспособность легко проверить. Просто открываем браузер и переходим по ссылке ftp://192.0.0.1. Это локальный адрес, на котором работает ваш сервер.

Главная страница локального FTP

Вот как выглядит наш FTP-сервер в браузере.
Чтобы запустить vsFTPd, нужно ввести в терминал команду systemctl start vsftpd.

Настройка анонимного доступа

Режим анонимного доступа позволяет подключаться к FTP-серверу без авторизации. Правда, подключиться к нему можно только от лица единственного пользователя (по умолчанию речь идет о пользователе ftp).
При этом автоматически устанавливается и папка, доступ к которой будет открыт через FTP-сервер. По умолчанию vsFTPd открывает доступ к директории /srv/ftp. Выбор падает именно на эту папку, потому что это домашняя директория пользователя ftp. Если ее изменить, то и данные на сервере тоже изменятся.
Чтобы включить анонимный доступ в vsFTPd, надо открыть конфигурационный файл, найти там директиву anonymous_enable=NO и заменить NO на YES.
Теперь вы можете сами подключиться к своему FTP-серверу и проверить, что он работает без авторизации.

Конфигурационный файл FTP с отключенным анонимным режимом

Настройки FTP.

Настройка авторизованного доступа

Режим авторизованного доступа дает больше возможностей. Пока он включен, к FTP-серверу может подключиться любой пользователь, который может войти в систему. Проще говоря, если удаленным компьютером на базе Linux пользуется группа людей, то все они смогут подключаться к FTP-серверу от своего имени, а не от имени ftp.
Включается этот режим довольно просто.
  • Открываем конфигурационный файл.
  • Ищем внутри директиву local_enable=NO_ и меняем NO на YES.
  • Потом то же самое делаем с директивой write_enable=NO (это чтобы люди могли не только скачивать файлы, но и загружать).
Теперь при попытке войти на FTP-сервер пользователи натолкнутся на окошко, запрашивающее логин и пароль. Собственно, логин — имя пользователя, а пароль — тот пароль, что используется для входа в систему.

Файл vsftpd.conf в nano

Еще настройки.

Важно отметить, что любые изменения в файле vsftpd.conf вступают в силу только после перезагрузки сервера. Поэтому не забывайте после внесения корректировок перезагружать vsFTPd командой systemctl restart vsftpd. Для этого нужны будут права администратора, запустившего FTP-сервер или права суперпользователя.

Дополнительные настройки и возможности

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

Управление FTP-сервером

Вообще для работы с vsFTPd достаточно пары команды:
  • Чтобы проверить статус FTP-сервера (включен ли он и как работает), используем команду systemctl status vsftpd (или service vsftpd status)
Информация о сервере

Вот что выдается по запросу systemctl status vsftpd
  • Для запуска команду systemctl start vsftpd (или service vsftpd start).
  • Для перезапуска — systemctl restart vsftpd (или service vsftpd restart).
  • Чтобы выключить сервер, используем systemctl stop vsftpd (или __ service vsftpd stop). Чтобы добавить vsFTPd в автозагрузку (то есть заставить FTP-сервер запускаться вместе с системой), вводим в терминал команду systemctl enable vsftpd__ (или service vsftpd enable).
Команда для включения vsftpd в автозагрузку

Вот как это выглядит на практике.
Все действия с vsFTPd нужно подтверждать паролем суперпользователя или администратора.

Запрос на ввод пароля в графической оболочке

Вот такой запрос будет появляться при попытке взаимодействовать с vsFTPd.

Настройки шифрования

Включить шифрование данных в vsFTPd не сложно. Просто:
  • Открываем конфигурационный файл командой sudoedit /etc/vsftpd/vsftpd.conf.
  • Ищем внутри директиву ssl_enable=NO_.
  • Заменяем NO на YES.
Вот и все.
Сложность заключается в том, что нужно сгенерировать SSL-ключи и сертификаты для конкретного сервера и разместить их в директориях, которые указаны в параметрах vsFTPd (либо указать путь к другим сертификатам и ключу). Речь идет о строках:
rsa_cert_file=/etc/ssl/certs/ssl-cert.pem rsa_private_key_file=/etc/ssl/private/ssl-cert.key

Настройка Firewall

В некоторых дистрибутивах (в частности, серверных) работает Firewall. Это механизм защиты от несанкционированных входящих и исходящих подключений. Он обычно блокирует некоторые порты, по которым программы подключаются к удаленному ресурсу, чтобы избежать утечки данных.
В Ubuntu, к примеру, используется Firewall ufw, который по умолчанию блокирует подключение к портам 21 и 20. А без них FTP-сервер запустить не получится. Так что придется их сначала разрешить. Для этого:
  • Открываем терминал.
  • Вводим в него команду sudo ufw disable, чтобы выключить Firewall.
  • Затем снова включаем его командой sudo ufw enable.
Команды перезагрузки Firewall

Перезагрузимся перед настройкой.
  • Потом добавляем в список исключений подключение по порту 20. Для этого введем в командную строку sudo ufw allow 20/tcp.
Команда добавления порта 20 в исключения

Добавили первый…
  • И то же самое проделываем с портом 21. Команда sudo ufw allow 21/tcp.
Команда добавления порта 21 в исключения

…и второй.
Потом снова перезагружаем Firewall и FTP-сервер.

Источник: httрs://tеhnichка.рrо/install-ftp-server-linux/ 
tagsКлючевые слова
Ctrl
Enter
Заметили ошЫбку
Выделите и нажмите Ctrl+Enter

Другие статьи

Исправляем ошибку установки обновлений Windows 10

Исправляем ошибку установки обновлений Windows 10

persons_moryachok access_time01-мар-2024

Windows 10 — это уже не самая новая операционная система от Microsoft, но иногда пользователи

Сброс сетевых настроек Windows - командная строка

Сброс сетевых настроек Windows - командная строка

persons_moryachok access_time01-мар-2024

Сетевые проблемы могут быть очень раздражающими и влиять на нашу работу и повседневную жизнь. В

Добавить комментарий

Комментарии (0)