Задать вопрос
Все статьи / VDS / Установка и настройка ПО / Ubuntu / Как установить FTP-сервер на Ubuntu
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Как установить FTP-сервер на Ubuntu

Что такое FTP-сервер

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

Далее в руководстве мы сосредоточимся на его разновидности – vsftpd

vsftpd (Very Secure FTP Daemon) – это FTP-сервер для UNIX-подобных систем, а также одно из наиболее популярных решений для настройки FTP-сервера из-за его простоты, безопасности и производительности. 

Основные особенности vsftpd:

  • vsftpd менее подвержен уязвимостям благодаря своей архитектуре и ограниченному количеству опций, что снижает риск неправильной настройки. Сервер использует изолированные процессы и chroot-среды для увеличения уровня безопасности.
  • vsftpd известен своей высокой скоростью передачи данных и масштабируемостью. Он может обрабатывать большое количество соединений эффективно и стабильно.
  • vsftpd позволяет использовать виртуальные аккаунты, что удобно для управления множеством пользователей без создания реальных учетных записей на сервере.
  • vsftpd предлагает широкие возможности настройки через файл конфигурации, позволяя администраторам точно настроить работу сервера под свои нужды.
  • vsftpd поддерживает шифрование сессий через SSL/TLS, обеспечивая безопасную передачу данных и защиту от различных видов атак.

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

  1. Откройте терминал на вашем сервере Ubuntu и выполните следующую команду для установки vsftpd:
sudo apt update 
sudo apt install vsftpd

  1. После установки FTP-сервер начнёт работу. Чтобы проверить, что сервер действительно запущен, можно воспользоваться следующей командой для проверки статуса сервиса:
sudo systemctl status vsftpd 

  1. Чтобы сервер автоматически запускался при старте системы, его нужно добавить в список автозагрузки:
sudo systemctl enable vsftpd

Настройка FTP-сервера на Ubuntu

Откройте основной конфигурационный файл vsftpd для редактирования:

sudo nano /etc/vsftpd.conf 

В этом файле вы найдете множество параметров, которые можно настроить в зависимости от ваших нужд. Например, вы можете:

  1. Настроить работу сервера по IPv4:
listen=YES
listen_ipv6=NO

  1. Запретить доступ анонимным пользователям:
anonymous_enable=NO

  1. Разрешить доступ локальным пользователям:
local_enable=YES

  1. Разрешить пользователям работать с файлами:
write_enable=YES

  1. Настроить права для новых файлов:
local_umask=022

  1. Включить сообщения при входе в директорию:
dirmessage_enable=YES

  1. Настроить использование локального времени на сервере:
use_localtime=YES

  1. Подключить логирование операций:
xferlog_enable=YES

  1. Настроить передачу данных по 20 порту:
connect_from_port_20=YES

  1. Указать директорию для хранения логов:
xferlog_file=/var/log/vsftpd.log

  1. Задать стандартный формат логов:
xferlog_std_format=YES

  1. Ограничить доступ пользователей к их домашним каталогам:
chroot_local_user=YES
allow_writeable_chroot=YES

  1. Включить поддержку авторизации PAM:
pam_service_name=vsftpd

  1. Разрешить вход только пользователям из списка:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

После внесения всех необходимых изменений сохраните файл и закройте редактор.

Чтобы применить изменения, перезапустите сервис vsftpd:

sudo systemctl restart vsftpd

Убедитесь, что сервер работает с новыми настройками, проверив его статус:

sudo systemctl status vsftpd

Подключение защищённого соединения SSL/TLS

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

Выполните следующую команду в терминале:

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

Эта команда создаст RSA ключ и сертификат с сроком действия один год. Вам предложат ввести информацию о сертификате. 

  1. Откройте файл конфигурации vsftpd для внесения изменений, связанных с SSL:
sudo nano /etc/vsftpd.conf 

  1. В файле конфигурации найдите или добавьте следующие строки, указывающие на местоположение вашего сертификата и приватного ключа:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem 

  1. Для активации SSL-шифрования добавьте или измените следующую строку в файле конфигурации:
ssl_enable=YES 

  1. Сохраните изменения в файле конфигурации, используя комбинацию клавиш CTRL+S
  2. Затем закройте редактор CTRL+X.
  3. Чтобы изменения вступили в силу, необходимо перезапустить FTP-сервер. Выполните следующую команду:
sudo systemctl restart vsftpd 

Теперь ваш FTP-сервер настроен на использование защищенного SSL/TLS соединения, что значительно повышает безопасность передачи данных между сервером и клиентами.

Создание FTP-пользователей и выдача доступа

Создание и добавление новых пользователей к FTP-серверу

Если вам нужно создать новых пользователей и предоставить им доступ к FTP, выполните следующие действия:

  1. Для начала создайте нового пользователя на сервере, используя следующую команду. 
sudo useradd -m username 

Где «username» замените на выбранное имя пользователя.

Ключ -m гарантирует создание домашнего каталога для нового пользователя.

  1. Установите пароль для нового пользователя с помощью следующей команды:
sudo passwd username 

Где «username» замените на выбранное имя пользователя.

  1. Введите и подтвердите пароль.
  2. Добавьте пользователя в /etc/vsftpd.userlist, чтобы разрешить ему доступ к FTP:
echo "username" | sudo tee -a /etc/vsftpd.userlist

Добавление существующих пользователей к FTP-серверу

Если у вас уже есть пользователи на сервере, которым вы хотите предоставить доступ к FTP, выполните следующие шаги:

  1. Откройте файл /etc/vsftpd.userlist, где будут перечислены пользователи с доступом к FTP.
sudo nano /etc/vsftpd.userlist 

  1. Введите имя каждого пользователя, которому вы хотите разрешить доступ, по одному имени на строку.
  2. Сохраните изменения, нажав CTRL+S. 
  3. Закройте редактор с помощью сочетания клавиш CTRL+X.

Теперь у всех указанных в файле пользователей есть доступ к FTP.

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

Для работы FTP-сервера и связанных с ним сервисов вам потребуется открыть следующие порты:

  1. Порт 20 (FTP-DATA):
sudo ufw allow 20/tcp 

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

  1. Порт 21 (FTP):
sudo ufw allow 21/tcp 

Стандартный порт для подключения к FTP-серверу.

  1. Порт 22 (SSH):
sudo ufw allow OpenSSH 

SSH используется для безопасного доступа к серверу, включая SFTP.

  1. Порт 990 (FTPS):
sudo ufw allow 990/tcp 

Порт для FTP через SSL, известный как FTPS.

  1. Диапазон портов 40000-50000:
sudo ufw allow 40000:50000/tcp 

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

Чтобы применить изменения и перезагрузить правила брандмауэра, выполните следующие команды:

sudo ufw disable sudo ufw enable 

Это временно отключит брандмауэр и снова включит его, чтобы все внесённые изменения применились.

После перезагрузки проверьте статус UFW, чтобы убедиться, что все необходимые порты открыты:

sudo ufw status 

Эта команда отобразит список всех активных правил UFW, включая разрешенные порты и протоколы, обеспечивая ясность в отношении текущей конфигурации безопасности вашего сервера.

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

Предыдущая статья
Как установить Docker на Ubuntu 22.04: инструкция
Следующая статья
Автоматизация задач с помощью cron в Ubuntu 18.04