Устанавливаем и настраиваем FTP-сервер в Linux

Инструкция: Как установить и настроить FTP-сервер в Linux

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

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

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

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

vsFTPd доступен во многих широко используемых репозиториях, что упрощает его установку на различные дистрибутивы. В частности, процесс установки на такие системы, как Ubuntu, Linux Mint, Debian и Elementary OS, является довольно простым и стандартным.

  • Открываем терминал. Это можно сделать, одновременно нажав клавиши Ctrl + Alt + T .
  • Вводим туда команду sudo apt-get install vsftpd и нажимаем клавишу «Ввод» (Enter).

Команда установки утилиты vsFTPd

Установка vsFTPd посредством обычного менеджера программных пакетов.

  • Затем вводим пароль администратора, чтобы продолжить установку.

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

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

При вводе пароля в терминале, вводимые символы не отображаются, требуется вводить их без визуальной поддержки.

Для проверки работоспособности соединения рекомендуется установить обычный FTP-сервер. Для этого необходимо запустить терминал и ввести команду sudo apt-get install ftp.

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

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

В разных версиях Linux применяются различные системы управления пакетами, поэтому потребуется адаптировать команду в соответствии с используемой вами версией операционной системы. К примеру:

Для установки 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, заменив «название менеджера пакетов» на фактическое имя. Например: `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, и изменить его на YES.

Вы можете самостоятельно установить соединение с вашим 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 )

Информация о сервере

Вот информация, предоставляемая по запросу о состоянии службы vsftpd через команду systemctl.

  • Для запуска команду 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, или указания альтернативного пути к имеющимся сертификатам и ключу. Речь идет о настройке следующих строк:

Настройка Firewall

В некоторых версиях операционных систем, особенно предназначенных для серверов, функционирует межсетевой экран. Данный инструмент обеспечивает безопасность, предотвращая неавторизованные входящие и исходящие соединения. Как правило, он закрывает определенные порты, через которые приложения устанавливают связь с удаленными ресурсами, тем самым предотвращая утечку информации.

В операционной системе Ubuntu, например, применяется межсетевой экран 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 в исключения

Затем повторно инициализируем брандмауэр и сервер передачи файлов по протоколу FTP.

Оцените статью
GZIP - утилита сжатия и восстановления файлов