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

Сервер TFTP на Ubuntu

Простой Протокол Передачи Файлов используется в основном для загрузки компьютеров внутри сети. Он не поддерживает аутентификации с использованием ключа. Но есть возможность включить фильтрацию по IP-адресам. TFTP-сервер в Ubuntu достаточно уязвим с точки зрения сетевой безопасности. Однако есть сферы применения, где он будет незаменим.

Сначала нужно установить программу Aptitude и все нужные пакеты:

Теперь — внести изменения в файл «sudo nano /etc/default/atftpd», заменив в строке значение «USE_INETD=true» на «USE_INETD=false».

После этого нужно отредактировать файл «sudo nano /etc/default/tftpd-hpa». В него вписывается директория для настройки FTP-сервера на Ubuntu: после «OPTION» — «TFTP_DIRECTORY=»/srv/tftp»».

И запускаем демон Atftpd:

Далее, нужно сконфигурировать Apache.

Это ссылка на каталоги TFTP-сервера.

Очень важен настроенный DHCP:

В него нужно записать следующее:

Теперь осталось только перезагрузить DHCP-сервер:

Как видите, настройка FTP-сервера Ubuntu не требует особых технических навыков. Кроме того, она довольно проста в исполнении для каждого, кто работал в Linux.

Основные примеры команды FTP

Установление подключения к FTP

к открыть ftp-соединение с удаленной системой, за командой ftp должен следовать IP-адрес или доменное имя удаленного сервера. Открываем терминал (Ctrl + Alt + T) и пишем:

ftp 192.168.0.101

Нас попросят ввести имя пользователя FTP. В этом примере имя пользователя FTP: сапоглин:

Вы можете увидеть другое подтверждающее сообщение в зависимости от службы FTP, запущенной на удаленном сервере.

Как только мы напишем имя пользователя, нам придется напишите наш пароль:

Если пароль правильный, удаленный сервер отобразит сообщение с подтверждением и приглашение ftp>.

Если FTP-сервер, к которому мы обращаемся, принимает анонимные ftp-аккаунты и вы хотите войти в систему как анонимный пользователь, используйте анонимный как имя пользователя и вы адрес электронной почты как пароль.

Наиболее распространенные команды ftp

Многие команды FTP похожи или идентичны командам, которые мы используем в командной строке в системе Gnu / Linux.

Ниже приведены некоторые из наиболее распространенных команд FTP что мы можем использовать:

  • помощь или? – Список всех доступные команды FTP.
  • cd – сменить каталог на удаленной машине.
  • lcd – сменить каталог на локальном компьютере.
  • ls – просмотр имен файлов и каталогов в текущем удаленном каталоге.
  • mkdir – создает новый каталог в удаленном каталоге.
  • pwd – распечатать текущий рабочий каталог на удаленном компьютере.
  • delete – удалить файл в текущем удаленном каталоге.
  • rmdir – удалить каталог в текущем удаленном каталоге.
  • get – копирует файл с удаленного сервера на локальный компьютер.
  • mget – позволяет копировать несколько файлов с удаленного сервера на локальный компьютер.
  • put – копирует файл с локального компьютера на удаленный.
  • mput – копирует файл с локального компьютера на удаленный.

Скачивание файлов с помощью команд FTP

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

Если мы хотим загрузить файлы в другой локальный каталог, перейдите в него с помощью ЖК-команда. Допустим, мы хотим загрузить файлы в каталог ~ / Документы:

lcd ~/Documentos

к скачать один файл с удаленного сервера, мы будем использовать получить команду. Например, чтобы загрузить файл с именем backup.zip, воспользуемся следующей командой:

get backup.zip

к скачивать сразу несколько файлов, мы будем использовать команда mget. Мы можем предоставить список отдельных имен файлов или использовать подстановочные знаки.

mget backup1.zip backup2.zip

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

После завершения загрузки файлов с удаленного FTP-сервера, закрыть соединение до свидания или выйти.

quit

Загрузка файлов с помощью команд FTP

Чтобы загрузить файл из локального каталога на удаленный FTP-сервер, нам сначала нужно открыть сеанс с помощью команды FTP. После запуска мы можем использовать поставить команду:

put image.png

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

к загрузить несколько файлов из локального каталога на удаленный FTP-сервер, мы будем использовать команда mput:

mput image1.png image2.png

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

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

Как видите, в этом посте мы увидели, как использовать команду ftp для загрузки и выгрузки файлов на удаленный FTP-сервер. Если кто хочет узнать больше вариантов просто прочтите руководство по командам:

man ftp

Настройка vsFTPd

Конфигурационным файлом для настройки vsFTPd является файл vsftpd.conf, который обычно находится в каталоге etc/. Ознакомиться с его одержимым можно командой cat:

$ cat /etc/vsftpd/vsftpd.conf

На всякий случай полезно перед редактированием оригинального файла настроек сделать его резервную копию:

$ sudo cp /etc/vsftpd.conf vsftpd.conf.backup

FTP-сервер vsFTPd предусматривает два основных варианта работы: с анонимными и авторизованными пользователями. Первый вариант считается «более безопасным», но только потому, что для обеспечения надёжной защиты практически ничего настраивать и не нужно. Но при грамотной организации авторизованного доступа, предполагающего работу с FTP локальных пользователей системы, можно обеспечить безопасность ничуть не хуже, чем при использовании анонимного доступа.

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

Работа vsFTPd в данном режиме заключается в том, что действия с файлами на удалённом сервере производятся одним определённым по умолчанию пользователем, например, пользователем с именем «ftp» или «anonymous», при этом в качестве пароля используется .

Чтобы включить анонимный доступ по FTP нужно в фале vsftpd.conf определить значение «YES» для соответствующей директивы:

anonymous_enable=YES

Теперь для управления файлами будет использоваться определённый каталог (обычно это /srv/ftp) и определённый пользователь — обычно ftp.

Можно определить и другое расположение файлов для анонимного доступа по FTP, т. е. изменить домашнюю директорию пользователя ftp:

$ sudo mkdir /srv//ftp $ sudo usermod -d /srv//ftp ftp

Если нужно, чтобы анонимные пользователи могли ещё и загружать файлы на удалённый сервер, то это позволит сделать директива:

anon_upload_enable=YES

Теперь можно скопировать необходимые для анонимного доступа файлы в домашнюю папку пользователя ftp и перезапустить демон vsftpd:

$ systemctl restart vsftpd

Обычно этого набора настроек достаточно для организации анонимного FTP-доступа. Для проверки соединения можно выполнить команду ftp address_host:

$ ftp 127.0.0.1

или:

$ ftp localhost

что в случае успешного выполнения даст примерно такой вывод:

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

Для авторизованного доступа проще всего включить использование локальных учётных записей на сервере. Для этого нужно указать следующую директиву в файле конфигурации vsftpd.conf:

local_enable=YES

Для задания разрешения локальным авторизованным пользователям загружать файлы на сервер указывается директива:

write_enable=YES

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

Теперь нужно перезапустить vsftpd для активации сделанных изменений:

$ systemctl restart vsftpd

Запуск терминала Linux

В современных Linux вместо консоли используется терминал. Чтобы в него зайти:

  1. Откройте «Приложения».
  2. Нажмите «Стандартные».
  3. Там будет «Терминал».

Терминал в Linux

В него можно вводить команды так же, как в Ubuntu Server.

  • Чтобы установить компоненты LAMP (если их ещё нет), надо последовательно ввести команды «sudo apt-get update», «sudo apt-get install tasksel» и «sudo tasksel install lamp-server». После каждой нажимайте Enter.
  • Чтобы загрузить Open SSh, введите «sudo apt-get install openssh-server».
  • Чтобы поставить Samba file server, напишите «sudo apt-get install samba».

При установке MySQL из пакета LAMP нужно будет задать пароль администратора, для SQL.

Установка и настройка

Устанавливаем VSFTPD из репозиториев:

1 sudo apt-get install vsftpd

Настройка FTP-сервера производится через конфигурационный файл /etc/vsftpd.conf. Конфигурация FTP-сервера, для работы с анонимными пользователями:

1
2
3
4
5
6
7
8
9
10

listen=YES

anonymous_enable=YES

anon_root=srvftp

use_localtime=YES

connect_from_port_20=YES

dirmessage_enable=YES

secure_chroot_dir=varrunvsftpdempty

pam_service_name=vsftpd

xferlog_enable=YES

xferlog_file=varlogvsftpd.log

Перезапускаем FTP-сервер:

1 <span class=”hljs-attribute”>sudo<span>etcinit.dvsftpd restart

Подробное описание всех параметров файла конфигурации vsftpd.conf

Настройка FTP Ubuntu

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

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Затем откройте файл в редакторе:

sudo vi /etc/vsftpd.conf

Затем добавьте такие настройки. Вам нужно будет найти и изменить значения указанных строк, добавлять новые, если они уже есть, не стоит. Сначала отключаем анонимный вход:

anonymous_enable = NO

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

local_enable = YES

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

write_enable = YES

Установим значение umask для новых файлов, создаваемых по FTP:

local_umask = 022

Включаем сообщение о необходимости выбрать каталог после регистрации:

dirmessage_enable = YES

Записывать в лог файл все транзакции по передаче файлов и использовать стандартный формат лога:

xferable = YES

xferlog_std_format=YES

Использовать порт 20 для передачи данных вместо случайного, это нужно для нормальной работы фаервола:

connect_from_port_20 = YES

Указываем, что нужно ожидать входящих соединений:

listen=YES

Использовать PAM-библиотеки:

pam_service_name=vsftpd

На завершение разрешим аутентификацию только пользователей, перечисленных в файле userlist:

userlist_enable = YES

Указываем файл с нашими виртуальными пользователями:

userlist_file=/etc/vsftpd.userlist

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

userlist_deny=NO

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

chroot_local_user = YES

allow_writeable_chroot = YES

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

sudo systemctl restart vsftpd

Настройте сервер NFS

Начнем с установки и настройки сервера NFS.

Установка сервера NFS

Обновите индекс пакетов и установите пакет сервера NFS:

После завершения установки службы NFS запустятся автоматически.

По умолчанию в Ubuntu 18.04 NFS версии 2 отключена. Версии 3 и 4 включены. Вы можете убедиться в этом, выполнив следующую команду :

NFSv2 сейчас довольно старый, и нет причин для его включения.

Параметры конфигурации сервера NFS задаются в и . В нашем случае достаточно настроек по умолчанию.

Создание файловых систем

При настройке сервера NFSv4 рекомендуется использовать глобальный корневой каталог NFS и привязать монтирование фактических каталогов к точке монтирования общего ресурса. В этом примере мы будем использовать директор качестве корня NFS.

Мы собираемся поделиться двумя каталогами ( и ) с разными параметрами конфигурации, чтобы лучше объяснить, как можно настроить монтирование NFS.

принадлежит пользователю, а группа и принадлежит пользователю .

Создайте файловую систему экспорта с помощью команды :

Смонтируйте актуальные каталоги:

Чтобы сделать монтирование привязки постоянным, откройте файл :

и добавьте следующие строки:

/etc/fstab

Экспорт файловых систем

Следующим шагом является определение файловых систем, которые будут экспортированы сервером NFS, параметров общих ресурсов и клиентов, которым разрешен доступ к этим файловым системам. Для этого откройте файл :

Файл также содержит комментарии, описывающие, как экспортировать каталог.

В нашем случае нам нужно экспортировать каталоги и и разрешить доступ только для клиентов в сети :

/etc/exports

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

Во второй строке показано, как указать несколько правил экспорта для одной файловой системы. Он экспортирует и разрешает доступ только для чтения ко всему диапазону а также доступ для чтения и записи к . Параметр указывает NFS записывать изменения на диск перед ответом.

Последняя строка не требует пояснений. Для получения дополнительной информации обо всех доступных параметрах введите в терминале команду .

Сохраните файл и экспортируйте акции:

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

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

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

В Ubuntu включен по умолчанию. Это один из наиболее важных параметров безопасности NFS. Это не позволяет пользователям root, подключенным с клиентов, иметь привилегии root на подключенных общих ресурсах. Он будет отображать корень и , чтобы / / .

Чтобы пользователи на клиентских машинах имели доступ, NFS ожидает, что идентификаторы пользователя и группы клиента совпадают с идентификаторами на сервере. Другой вариант — использовать функцию отображения идентификаторов NFSv4, которая преобразует идентификаторы пользователей и групп в имена и наоборот.

Вот и все. На этом этапе вы настроили сервер NFS на своем сервере Ubuntu. Теперь вы можете перейти к следующему шагу и настроить клиентов и подключиться к серверу NFS.

Конфигурация межсетевого экрана

Если вы используете брандмауэр в своей сети, вам нужно будет добавить правило, которое будет разрешать трафик через порт NFS.

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

Чтобы проверить запуск изменений:

Вывод должен показать, что трафик через порт разрешен:

Настройка Vsftpd

Есть много вариантов, которые вы можете настроить для vsftpd, но в этой инструкции мы рассмотрим только основы. Откройте файл конфигурации vsftpd с помощью следующей команды.

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

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

По умолчанию анонимный FTP отключен. Мы рекомендуем оставить этот параметр по умолчанию как есть. Однако если по какой-либо причине вы хотите включить анонимный FTP-доступ, например для тестирования, измените значение параметра anonymous_enable с » NO» На «YES«.

А пока оставь все как есть.


Настройка анонимного FTP-доступа для vsftpd

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

По умолчанию локальным пользователям разрешен вход в систему. Если вы хотите запретить локальным пользователям входить на сервер Vsftpd, измените значение local_enable с YES на NO.


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

Вы также можете разрешить только определенным локальным пользователям входить на сервер Vsftpd. Для этого убедитесь, что local_enable имеет значение YES.

После этого добавьте следующие строки внизу.

Сохраните и закройте файл vsftpd.conf.

Далее создайте файл userlist со следующей командой и введите разрешенных пользователей по одному на строку.

Сохраните и закройте файл userlist.

Перезагрузите vsftpd с помощью:

Включить команду записи FTP

Чтобы разрешить пользователям FTP создавать, удалять, переименовывать и сохранять файлы, раскомментируйте параметр write_enable и убедитесь, что он установлен в значение YES.


Vsftpd Включить команду записи и чтения FTP

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

Вход на сервер Vsftpd

Для этого создадим тестового пользователя и назначим пароль следующим образом.

Теперь запустите FTP-клиент с поддержкой SSL, такой как FileZilla, а затем войдите в систему с помощью вновь созданного тестового пользователя.

В моем случае FileZilla уведомила, что сервер небезопасен, так как он не поддерживает FTP через TLS.


Уведомление о небезопасном FTP — сервере

Отмените соединение. Давайте исправим это в следующем разделе.

Включите SSL/TLS для безопасной передачи файлов

Чтобы включить безопасную передачу файлов по протоколу TLS, выполните следующие действия.

Во-первых, откройте конфигурационный файл vsftpd с помощью приведенной ниже команды.

Затем найдите параметры rsa_cert_file и rsa_private_key_file и обновите значения, как показано ниже.

Кроме того, найдите строку ssl_enable и измените значение на YES.


Включить TLS/SSL для Vsftpd

Сохраните и закройте файл конфигурации vsftpd.

Создать закрытый ключ и сертификат

Теперь вам нужно будет создать закрытый ключ и сгенерировать сертификат TLS/SSL с помощью openssl. Вы можете использовать бесплатный SSL-сертификат Let’s Encrypt, если у вас есть домен, указывающий на FTP-сервер.

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

Затем сгенерируйте запрос на подпись сертификата с помощью приведенной ниже команды. Вам будет предложено предоставить некоторую информацию, такую как ваша страна, город, адрес электронной почты и т. д. Пожалуйста, внимательно прочтите инструкцию.

Теперь создайте и подпишите сертификат, который будет действителен в течение 365 дней следующим образом.

Перезагрузите vsftpd с помощью:

Попробуйте снова подключиться к серверу Vsftpd.


Безопасное FTP соединение по протоколу TLS

Конечно, на этот раз FileZilla смогла безопасно подключиться через TLS. Вы можете смело выбрать вариант, чтобы всегда доверять этому сертификату в будущих сеансах. Затем нажмите кнопку ОК, чтобы продолжить подключение.


Доверительный самозаверяющий сертификат

Если вы попытаетесь подключиться к FTP-серверу через командную строку, которая не поддерживает FTP через TLS, вы получите сообщение об ошибке. Например:


Ошибка FTP без TLS

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

Step 3 — Preparing the User Directory

For this tutorial, we’re going to create a user, but you may already have a user in need of FTP access. We’ll take care to preserve an existing user’s access to their data in the instructions that follow. Even so, we recommend you start with a new user until you’ve configured and tested your setup.

First, we’ll add a test user:

Assign a password when prompted and feel free to press “ENTER” through the other prompts.

FTP is generally more secure when users are restricted to a specific directory. accomplishes this with jails. When is enabled for local users, they are restricted to their home directory by default. However, because of the way secures the directory, it must not be writable by the user. This is fine for a new user who should only connect via FTP, but an existing user may need to write to their home folder if they also shell access.

In this example, rather than removing write privileges from the home directory, we’re will create an directory to serve as the and a writable directory to hold the actual files.

Create the folder, set its ownership, and be sure to remove write permissions with the following commands:

Let’s verify the permissions:

Next, we’ll create the directory where files can be uploaded and assign ownership to the user:

A permissions check on the directory should return the following:

Finally, we’ll add a file to use when we test later on:

Now that we’ve secured the directory and allowed the user access to the directory, we’ll turn our attention to configuration.

Локальные пользователи

Настройка доступа на FTP-сервер, только для локальных пользователей (чтение/запись):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

chroot_local_user=YES

allow_writeable_chroot=YES

dirmessage_enable=YES

connect_from_port_20=YES

ls_recurse_enable=YES

secure_chroot_dir=varrunvsftpd

pam_service_name=vsftpd

rsa_cert_file=etcsslcertsssl-cert-snakeoil.pem

rsa_private_key_file=etcsslprivatessl-cert-snakeoil.key

xferlog_enable=YES

xferlog_file=varlogvsftpd.log

Настройка доступа локальных пользователей

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

1
2
3

userlist_enable=YES

userlist_file=etcvsftpd.user_list

userlist_deny=YES

Создаем файл и вносим в него пользователей, кому необходим доступ:

1 sudo touchetcvsftpd.user_list

Информация: чтобы использовать список пользователей для запрета доступа к FTP-серверу, в директиве userlist_deny указываем NO.

Так же можно запретить доступ пользователям используя файл /etc/ftpusers, он содержит список пользователей, которым запрещен доступ на FTP-сервер, для запрета добавляем пользователей в файл.

Использование пользовательских настроек

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

  • Jakonda1 — /srv/ftp/jakonda1
  • Jakonda2 — /srv/ftp/jakonda2

Для реализации задачи, воспользуемся пользовательскими настройками, которые перекрывают параметры конфигурационного файла. В конфигурационном файле /etc/vsftpd.conf указываем директиву:

1 user_config_dir=etcvsftpd_user_conf

Создаем директорию, для хранения пользовательских настроек и создаем файлы с именами пользователей:

1
2
3

sudo mkdiretcvsftpd_user_conf

sudo tocuhetcvsftpd_user_confjakonda1

sudo tocuhetcvsftpd_user_confjakonda2

Для пользователя jakonda1 задаем опции:

1
2
3
4

write_enable=YES

local_root=srvftpjakonda1

chroot_local_user=YES

allow_writeable_chroot=YES

Для пользователя jakonda2 задаем опции:

1
2
3
4

write_enable=YES

local_root=srvftpjakonda2

chroot_local_user=YES

allow_writeable_chroot=YES

Теперь при подключении, каждый пользователь будет попадать в свою директорию. Мы разобрали как установить FTP-сервер (VSFTPD) и выполнили базовые настройки и организации доступа.

Понравилась или оказалась полезной статья, поблагодари автора

Защита FTP-сервера

В файле существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить пользователя в «заточение», чтобы он не мог выходить из своего домашнего каталога:

chroot_local_user=YES

Если при попытке подключения возникла ошибка:

Ответ: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

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

local_root=/home

Еще один способ решения проблемы — отменить проверку записи в домашний каталог:

allow_writeable_chroot=YES

Поиск:
chmod • FTP • Linux • Ubuntu • Конфигурация • Настройка • Установка • Сервер • vsFTPd • Пользователь

Заключение

Сервер FTP на Ubuntu -базовый протокол передачи файлов для платформы Линукс. Установка и настройка его требует учета специфических нюансов. Для предотвращения каких-либо поломок нужно обратиться к специалисту.

Как настроить FTP на Ubuntu 20.04 LTS

Как известно, FTP — это протокол, который позволяет передавать файлы по сети от одного узла другом. Это самый старый протокол прикладного уровня, который появился намного раньше HTTP и TCP/IP. С помощью протокола FTP организовываются подключения к удаленным серверам для просмотра и передачи необходимой информации. Для подключения к серверам, либо компьютерам протоколу FTP необходимо использовать специальные приложения, которые именуются FTP-клиентами. Далее расскажем, как настроить FTP на Ubuntu 20.04 LTS.

Для того чтобы развернуть свой FTP-сервер на Ubuntu 20.04 LTS, необходимо:

  1. Установить FTP-сервер с поддержкой SSL для безопасного подключения;
  2. Настроить учетную запись для FTP-пользователя;
  3. Проверить подключение к FTP-серверу.

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

В данной статье, для организации FTP-сервера, за основу выбрана операционная система Ubuntu 20.04 LTS. Обновимся и установим из официального репозитория пакет vsftpd:

$ sudo apt up && apt install vsftpd

Наш сервер уже успешно работает. В этом можно убедиться используя следующую команду:

$ systemctl us vsftpd

После успешной установки, произведем некоторые настройки в конфигурационном файле. Откроем текстовым редактором файл vsftpd.conf:

$ sudo nano /etc/vsftpd.conf

Вот те основные изменения, которые необходимо внести для корректной работы сервера:

listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_local=YES xferable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd allow_writeable_chroot=YES

После внесенных настроек- в конфигурационном файле, сохраняем изменения и перезапускаем сервер:

$ sudo systemctl us vsftpd

На основании сертификатов SSL организуем безопасный, шифрованный режим передачи информации между клиентом и сервером. Команда ниже создает самозаверяющие цифровые сертификаты, подписанные самим сервером. После генерации, используем файлы сертификатов в работе сервера FTP:

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

Внесем некоторые изменения в конфигурационный файл vsftpd.conf. Изменим строки в соответствии с рисунком ниже:

Здесь мы указали путь к созданным файлам сертификатов, которые были созданы ранее.

Настройка учетной записи FTP-пользователя

Создадим учетную запись пользователя, которой будем осуществлять подключение к созданному серверу FTP. Изначально, авторизоваться на сервере можно под локальным пользователем. Но мы для этих целей будем использовать отдельно созданную учётную запись. Создадим пользователя следующей командой:

$ sudo useradd ftpuser -d /home/ftpuser -s /bin/false -m

Таким образом, этой командой мы создали пользователя ftpuser. Его домашняя директория — /home/ftpuser/ и для него запрещен локальный доступ в систему. Добавим в файл разрешенных оболочек следующую строку:

/bin/false

Создадим пароль на вход для пользователя следующей командой:

$ passwd ftpuser

Проверка подключения к FTP-серверу

Проверим правильность настроек и осуществим первое подключение к FTP-сервер. Для соединения с сервером воспользуемся бесплатным FTP-клиентом FileZilla. После запуска программы заполним поля адрес сервера/имя пользователя/ пароль. Для авторизации будем использовать учетную запись ftpuser.

Подключение к серверу успешно, значит произведенные настройки в конфигурационном файле верны. В статусе подключения видно, что в данной сессии инициализирован TLS, значит передача данных между клиентом и сервером шифруются.

Поделитесь в социальных сетях:FacebookXВКонтакте
Напишите комментарий