Как установить и настроить FTP Linux.

Введение.

Сегодня сервер FTP1 становится обязательной частью любого офиса. Без его работы не обходится ни одна серьёзная компания. Узел на базе FTP входит в пятёрку основных серверов, составляющих ядро ИТ компании. Основная задача сервера FTP — передача файлов больших размеров между пользователями. Ранние уже говорилось о Web сервере, сервере Баз данных, Портале и сервере NFS. Сейчас поговорим о сервере FTP (vsftpd). Одним из популярных Linux серверов поддерживающих FTP протокол, является vsftpd2 сервер.

Сервер vsftpd распространяется под лицензией GPL. Обеспечивает обмен данными в каналах разной пропускной способности.

  • Позволяет:
    • изменять конфигурацию виртуальных IP-адресов
    • создавать виртуальных пользователей
    • работать автономно или как служба inetd3
    • использовать гибкую конфигурацию
    • регулировать полосу пропускания
    • настраивать IP-адресс источника
    • поддержка IPv6
    • использовать SSL шифрование
    • выполнять управление в консольном или GUI режиме
  • Стенд:
    • ALT Linux сервер, имя lin-ftp; ip-10.0.2.36;

Подготовка vsftpd.

Прежде чем перейти к развёртыванию узла vsftpd, как приложения, нам понадобится базовый сервер Linux минимальной конфигурации. Серверная часть FTP должна работать, как отдельный узел, обслуживая только FTP соединения, этим повышается надёжность, безопасность и простота в обслуживании. Найти» железо» для сервера FTP несложно, для этого можно использовать и облачную технологию Azure, Hyper-V, KVM

Не используйте старое, на выброс, оборудование в качестве FTP сервера.

Развёртывание сервера FTP возможно из консольного режима и с помощью графики GUI4.

Установка vsftpd консольная.

  • Требования:
    • скачать последние пакеты обновления
    • выделить статический IP адрес
    • включить в DNS5 имя сервера, стендовое lin-ftp

Установка.

# apt-get update
# apt-get install vsftpd

Редактируем файл конфигурации службы xinetd6 управляющей FTP процессом.

# vim /etc/xinetd.d/vsftpd
# default: off
# description: The vsftpd FTP server.
service ftp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
nice = 10
rlimit_as = 200M
server = /usr/sbin/vsftpd
# server_args =
only_from = 0/0
}

Перезапускаем xinetd, работает автоматически или в ручную.

# systemctl restart xinetd
  • В дереве /etc создаётся папка vsftpd и:
    • файл конфигурации — conf
    • файл предупреждений — banner_fail
    • каталог профилей пользователей — user_conf

Графический клиент FTP.

Остаётся проверить работу сервера FTP. Отметим только, что установка из «коробки«, допускает подключение пользователя anonymous7 для чтения каталога FTP. Это означает — любой пользователь, зная имя или IP адрес сервера FTP может просматривать каталоги и скачивать файлы.

Для проверки, с помощью mcedit8 редактора, создадим тестовый файл test-ftp и скопируем его в каталог /srv/public, который просматривает служба сервера FTP.

mc — GNU Midnight Commander — файловый менеджер

С помощью mc создадим сессию FTP и убедимся, что всё работает.

Подключение к FTP серверу.
Подключение к FTP серверу.

В роли графического9 клиента может выступать любой браузер, если в его адресной строке ввести ftp://ctu-lin.

Проблемы при FTP соединении.

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

Консольный клиент FTP.

К преимуществам консольного соединения с сервером FTP относится скорость, простота использования и вывод статистики работы.

Установка консольного клиента.

# apt-get update
# apt-get install ftp

Подключение к серверу.

# ftp lin-ftp
Connected to lin-ftp (10.0.2.15).
220 (vsFTPd 3.0.3)
Name (localhost:user): anonymous
331 Please specify the password.
Password: anonymous
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (10.0.2.15,202,225).
150 Here comes the directory listing.
-rw-r--r-- 1 ftp ftp 0 Dec 31 00:00 test-ftp
226 Directory send OK.
ftp> exit

Установка vsftpd графическая.

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

# apt-get update
# apt-get install vsftpd
# apt-get install alterator-vsftp

Регистрируемся в ЦУС10 сервера FTP, как показано ниже и переходим в секцию настроек.

Устанавливаем режим эксперта в настройках ЦУС.

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

Если флажок установлен «Разрешить закачку файлов» 11

Расширение сервера.

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

Сценарий mapftp хранится в каталоге /usr/local/bin.

#!/bin/bash
# файл mapftp
# монтировать диск ftp к серверу lin-ftp
mount lin-ftp /srv/public

Для автозагрузки mapftp воспользуемся командой crontab12.

# crontab -e
#| minute (0-59),
#| hour (0-23),
#| | day of the month (1-31),
#| | | month of the year (1-12),
#| | | | day of the week (0-6 with 0=Sunday).
#| | | | | commands
@reboot mapftp

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

Каталоги FTP сервера.

  • В работе vsftpd участвуют:
    • /etc/xinetd.d/vsftpd — файл настроек службы
    • /etc/vsftpd — каталог конфигурационных файлов
    • /var/~ftp — ссылка на рабочий каталог
    • /usr/sbin/vsftpd — путь к команде запуска vsftpd
    • /usr/share/man/man8/vsftpd.8.xz — путь к man
    • /srv/public — рабочий каталог, права 755

Заключение.

Закончив установку базового сервера минимальной конфигурации и сервера FTP переходим к тонким настройкам. Прежде всего необходимо определить политику доступа и нагрузку. Пользовательский доступ зависит от регламента использования FTP в организации. Нагрузка определяется скоростью ЦПУ, размером ОЗУ и дискового пространства сервера. Здесь можно предложить следующий вариант. Системный раздел располагается на отдельном диске ~ 10Гб. Пространство под FTP каталог рассчитывается из максимального размера «прокачиваемой» информации.

Полезные ссылки.

Официальный сайт vsftpd
Русифицированный сайт vsftpd
Файл конфигурации vsftpd.conf
Файл конфигурации vsftpd.conf5

Сноски

  1. FTP (File Transfer Protocol) для передачи файлов через Интернет или локальную сеть ↩︎
  2. vsftpd — very Secure FTP Daemon очень безопасный FTP-демон ↩︎
  3. inetd демон, запускает по необходимости другие сетевые серверные процессы ↩︎
  4. graphical user interface — графический пользовательский интерфейс ↩︎
  5. Domain Name System «система доменных имён») ↩︎
  6. xinetd — the eXtended InterNET services Daemon — расширенная служба (демон) управления сетевыми соединениями. ↩︎
  7. «безымянный» ↩︎
  8. Midnight Commander (полуночный командир) ↩︎
  9. некоторые графические клиенты: WinSCP, Core FTP LE, CuteFTP, Cyberduck, FileZilla … ↩︎
  10. центр управления системой ALT Linux ↩︎
  11. в /srv/public создаётся папка incoming ↩︎
  12. crontab – это таблица с расписанием запуска скриптов и программ ↩︎
Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты