- Как установить FTP-сервер на Ubuntu
- Установка FTP-сервера vsftpd
- Настройка FTP-сервера на Ubuntu
- Устанавливаем и настраиваем FTP-сервер в Linux
- Устанавливаем vsFTPd
- Установка vsFTPd в другие операционные системы
- Настраиваем FTP-сервер
- Запуск FTP-сервера
- Настройка анонимного доступа
- Настройка авторизованного доступа
- Дополнительные настройки и возможности
- Управление FTP-сервером
- Настройки шифрования
- Настройка Firewall
Как установить FTP-сервер на Ubuntu
Попробуйте настроить FTP-сервер по нашей инструкции — мы расскажем, как установить FTP-сервер на Ubuntu 20.04, настроить сервер vsftpd и подключить защищённое FTP-соединение простым способом. Инструкция также подойдет для дистрибутива Ubuntu версий 18.04 и 16.04.
С FTP-сервером можно работать благодаря одному из базовых протоколов интернета — FTP. В операционной системе Ubuntu можно подключить такие популярные FTP-серверы, как: proftpd, wu-ftpd, pureftpd и vsftpd. Мы рассмотрим, как установить vsftpd Ubuntu — один из самых быстрых и безопасных серверов.
Чтобы начать работу с FTP-сервером vsftpd, установите и настройте его. Затем подключите защищённое соединение SSL/TLS, назначьте доступ FTP-пользователям и настройте брандмауэр. В инструкции ниже мы подробно описали каждый из этих этапов.
Установка FTP-сервера vsftpd
Чтобы установить на Ubuntu server vsftpd:
sudo systemctl status vsftpd
Если сервер активен, в выводе появится надпись active: FTP server Ubuntu
sudo systemctl enable vsftpd
Готово, вы установили FTP-сервер vsftpd.
Настройка FTP-сервера на Ubuntu
Настройте сервер vsftpd через файл конфигурации — /etc/vsftpd.conf. Для этого:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
Устанавливаем и настраиваем FTP-сервер в Linux
File Transfer Protocol — это технология передачи данных по сети. 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 с помощью стандартного менеджера пакетов
Возможно, придется подтвердить установку клиента, нажав на клавишу «Д» (или Y в английской версии системы).
Учтите, что во время набора пароля, вводимые символы никак не отображаются в терминале. Придется набирать вслепую
Для тестирования соединения можно установить стандартный FTP-сервер. Чтобы это сделать, открываем терминал и вводим в него команду sudo apt-get install 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.
Запуск FTP-сервера
Вообще, vsFTPd запускается автоматически, и его работоспособность легко проверить. Просто открываем браузер и переходим по ссылке ftp://192.0.0.1. Это локальный адрес, на котором работает ваш сервер.
Вот как выглядит наш FTP-сервер в браузере
Чтобы запустить vsFTPd, нужно ввести в терминал команду systemctl start vsftpd.
Настройка анонимного доступа
Режим анонимного доступа позволяет подключаться к FTP-серверу без авторизации. Правда, подключиться к нему можно только от лица единственного пользователя (по умолчанию речь идет о пользователе ftp).
При этом автоматически устанавливается и папка, доступ к которой будет открыт через FTP-сервер. По умолчанию vsFTPd открывает доступ к директории /srv/ftp. Выбор падает именно на эту папку, потому что это домашняя директория пользователя ftp. Если ее изменить, то и данные на сервере тоже изменятся.
Чтобы включить анонимный доступ в vsFTPd, надо открыть конфигурационный файл, найти там директиву anonymous_enable=NO и заменить NO на YES.
Теперь вы можете сами подключиться к своему FTP-серверу и проверить, что он работает без авторизации.
Настройка авторизованного доступа
Режим авторизованного доступа дает больше возможностей. Пока он включен, к FTP-серверу может подключиться любой пользователь, который может войти в систему. Проще говоря, если удаленным компьютером на базе Linux пользуется группа людей, то все они смогут подключаться к FTP-серверу от своего имени, а не от имени ftp.
Включается этот режим довольно просто.
- Открываем конфигурационный файл.
- Ищем внутри директиву local_enable=NO_ и меняем NO на YES.
- Потом то же самое делаем с директивой write_enable=NO (это чтобы люди могли не только скачивать файлы, но и загружать).
Теперь при попытке войти на FTP-сервер пользователи натолкнутся на окошко, запрашивающее логин и пароль. Собственно, логин — имя пользователя, а пароль — тот пароль, что используется для входа в систему.
Важно отметить, что любые изменения в файле 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 не сложно. Просто:
- Открываем конфигурационный файл командой sudoedit /etc/vsftpd/vsftpd.conf.
- Ищем внутри директиву ssl_enable=NO_.
- Заменяем NO на YES.
Сложность заключается в том, что нужно сгенерировать SSL-ключи и сертификаты для конкретного сервера и разместить их в директориях, которые указаны в параметрах vsFTPd (либо указать путь к другим сертификатам и ключу). Речь идет о строках:
Настройка Firewall
В некоторых дистрибутивах (в частности, серверных) работает Firewall. Это механизм защиты от несанкционированных входящих и исходящих подключений. Он обычно блокирует некоторые порты, по которым программы подключаются к удаленному ресурсу, чтобы избежать утечки данных.
В Ubuntu, к примеру, используется Firewall ufw, который по умолчанию блокирует подключение к портам 21 и 20. А без них FTP-сервер запустить не получится. Так что придется их сначала разрешить. Для этого:
- Открываем терминал.
- Вводим в него команду sudo ufw disable, чтобы выключить Firewall.
- Затем снова включаем его командой sudo ufw enable.
Перезагрузимся перед настройкой
- Потом добавляем в список исключений подключение по порту 20. Для этого введем в командную строку sudo ufw allow 20/tcp.
Потом снова перезагружаем Firewall и FTP-сервер.