Установка, настройка и удаление FTP-сервера в популярных дистрибутивах Linux

FTP-сервер — это классический инструмент для передачи файлов по сети. Несмотря на появление более современных протоколов (SFTP, SCP), FTP остаётся востребованным благодаря своей простоте и широкой поддержке. В этой статье мы подробно разберём, как установить, настроить и удалить FTP-сервер на базе популярного и безопасного демона vsftpd (Very Secure FTP Daemon) в трёх основных дистрибутивах Linux: Ubuntu/Debian, Fedora/RHEL и Arch Linux/Manjaro.

Почему vsftpd?

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

Часть 1: Установка vsftpd

Для дистрибутивов на основе Debian/Ubuntu (Ubuntu, Linux Mint, Debian)

sudo apt update

sudo apt install vsftpd -y

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

Для дистрибутивов на основе Fedora/RHEL (Fedora, CentOS, AlmaLinux)

sudo dnf install vsftpd -y

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

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

sudo firewall-cmd —permanent —add-service=ftp

sudo firewall-cmd —reload

Для дистрибутивов на основе Arch (Arch Linux, Manjaro)

sudo pacman -Syu vsftpd —noconfirm

sudo systemctl enable vsftpd

sudo systemctl start vsftpd

Установка FTP-сервера vsftpd в терминале Ubuntu Linux командой sudo apt install
Процесс установки vsftpd в дистрибутивах на основе Debian/Ubuntu

Часть 2: Базовая настройка vsftpd

Основной конфигурационный файл vsftpd находится по пути /etc/vsftpd.conf. Перед редактированием создайте резервную копию.

Основные параметры для безопасной настройки

Откройте файл в текстовом редакторе (например, sudo nano /etc/vsftpd.conf) и настройте следующие параметры:

# Запретить анонимный доступ (рекомендуется)

anonymous_enable=NO

# Разрешить локальным пользователям доступ

local_enable=YES

# Разрешить запись файлов

write_enable=YES

# Локализация для имён файлов (для кириллицы)

utf8_filesystem=YES

# Включить ведение логов

xferlog_enable=YES

# Ограничить пользователей их домашними директориями (важно для безопасности!) chroot_local_user=YES allow_writeable_chroot=YES

# Настройка пассивного режима (необходимо для работы за NAT/фаерволом)

pasv_enable=YES pasv_min_port=40000 pasv_max_port=50000

# Укажите ваш внешний IP, если сервер за NAT

# pasv_address=ваш_публичный_ip

После внесения изменений перезапустите службу:

sudo systemctl restart vsftpd
Пример конфигурационного файла /etc/vsftpd.conf с базовыми настройками безопасности
Ключевые параметры в файле конфигурации vsftpd.conf для безопасной работы

Часть 3: Создание пользователей и тестирование

Создание отдельного пользователя для FTP (рекомендуется)

sudo adduser ftpuser

sudo mkdir -p /home/ftpuser/files

sudo chown ftpuser:ftpuser /home/ftpuser/files

Тестирование подключения

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

Графический клиент (FileZilla, WinSCP)

Командную строку:

ftp localhost

# Ввести имя пользователя и пароль

В графическом клиенте укажите:

  • Хост: IP-адрес вашего сервера

  • Пользователь: ftpuser (или ваше системное имя)

  • Пароль: пароль пользователя

  • Порт: 21

  • Тип входа: Обычный (Normal)

Часть 4: Настройка брандмауэра и работы за NAT

Для корректной работы FTP необходимо правильно настроить сеть:

Настройка брандмауэра (на примере ufw для Ubuntu)

sudo ufw allow 20/tcp # Порт данных активного режима

sudo ufw allow 21/tcp # Порт управления

sudo ufw allow 40000:50000/tcp # Диапазон портов пассивного режима

Проброс портов на роутере (если сервер за NAT)

На вашем маршрутизаторе необходимо пробросить:

  • Порт 21 (TCP) — для команд

  • Порты 40000-50000 (TCP) — для пассивного режима данных

Часть 5: Удаление vsftpd и очистка системы

Если FTP-сервер больше не нужен, выполните полное удаление.

Для дистрибутивов на основе Debian/Ubuntu

sudo systemctl stop vsftpd

sudo systemctl disable vsftpd

sudo apt purge vsftpd -y

sudo apt autoremove -y

sudo rm -rf /etc/vsftpd.conf /etc/vsftpd

Для дистрибутивов на основе Fedora/RHEL

sudo systemctl stop vsftpd

sudo systemctl disable vsftpd

sudo dnf remove vsftpd -y

sudo firewall-cmd —permanent —remove-service=ftp

sudo firewall-cmd —reload

Для дистрибутивов на основе Arch

sudo systemctl stop vsftpd

sudo systemctl disable vsftpd

sudo pacman -Rns vsftpd —noconfirm

Успешное подключение к FTP-серверу vsftpd через клиент FileZilla в Linux
Тестирование работы FTP-сервера через графический клиент FileZilla

Часть 6: Альтернативы vsftpd и рекомендации по безопасности

Альтернативные FTP-серверы

  • proftpd — более функциональный, с модульной архитектурой

  • pure-ftpd — простая настройка, хорошая безопасность

  • sftp (часть SSH) — рекомендуемая альтернатива, использующая зашифрованное соединение

Рекомендации по безопасности

  1. Используйте SFTP вместо FTP для передачи конфиденциальных данных

  2. Ограничивайте доступ по IP-адресам в настройках vsftpd

  3. Регулярно обновляйте vsftpd для получения исправлений уязвимостей

  4. Не используйте root для FTP-доступа

  5. Настройте fail2ban для защиты от подбора паролей

Итог

Вы успешно установили, настроили и научились удалять FTP-сервер vsftpd в популярных дистрибутивах Linux. Ключевые моменты:

  1. Установка выполняется одной командой в зависимости от дистрибутива

  2. Настройка безопасности в /etc/vsftpd.conf критически важна

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

  4. Тестирование проводится через графические или консольные клиенты

  5. Полное удаление включает остановку службы, удаление пакетов и конфигураций

Теперь ваш FTP-сервер готов к безопасной передаче файлов. Для дополнительной защиты рассмотрите возможность использования SFTP или VPN для доступа к файлам.