Протокол передачі файлів (FTP) є класичним загальноприйнятим способом, що дозволяє налагодити обмін файлами між мережевими пристроями. File Transfer Protocol надзвичайно ефективний у процесі взаємодії з великими обсягами даних, оскільки забезпечує відмінний обмін інформацією на серверах. Користувачі отримують можливість безпроблемно обмінюватися документами, передавати їх між локальним комп'ютером і віддаленим сервером, що робить FTP незамінним інструментом для розробників, системних адміністраторів та багатьох інших спеціалістів. Використання FTP дозволяє швидко і зручно керувати файлами, завантажуючи їх на сайт або завантажуючи необхідні матеріали.
Крім того, FTP підтримує безліч можливостей, таких як управління правами доступу, що дає можливість контролювати, хто може бачити і редагувати вміст. Це робить його цінним рішенням для організацій, які потребують надійної та безпечної передачі даних.
File Transfer Protocol: переваги використання
Будучи універсальним методом обміну інформацією, протокол FTP дозволяє виконувати різні цілі. Наприклад, його часто використовують для:
-
Контент-менеджмент: FTP дозволяє розробникам змінювати і передавати файли на серверах.
-
Дублювання даних: особливо важливим і корисним інструментом FTP для серверів є можливість створення резервних копій різної інформації.
-
Робота з файлами на віддаленому сервері: при роботі з сервером надається можливість керувати і редагувати документи.
Покрокове керівництво з конфігурації сервера FTP
Для конфігурації FTP-сервера звернемо увагу на широко використовуваний сервер FTP, який називається Very Secure FTP Daemon, він же vsftpd, славиться своєю надійністю і захищеністю. Цей приклад підійде платформам Ubuntu і CentOS на базі Linux.
Етап 1: Інсталяція FTP
-
Пакетна актуалізація: перед початком установки потрібно перевірити актуальність оновлень всіх пакетів. У разі необхідності провести актуалізацію.
sudo apt update -
Інсталяція vsftpd:
sudo apt install vsftpd -y
Крок 2: Налаштування конфігурації
Завершивши процес інсталяції, вам потрібно перейти до файлу налаштування vsftpd для внесення необхідних змін:
sudo nano /etc/vsftpd.conf
Нижче наведені ключові параметри, які потребують конфігурації:
Вимкнення режиму інкогніто:
anonymous_enable=NO
Це підвищує безпеку, надаючи вхід виключно зареєстрованим користувачам.
Надання доступу до системи локальним користувачам:
local_enable=YES
Надає доступ локальним користувачам, які мають особистий серверний профіль.
Доступ до запису:
write_enable=YES
Дає можливість взаємодіяти з сервером шляхом редагування і завантаження документів.
Перезапустіть vsftpd після внесених змін у конфігурацію:
sudo systemctl restart vsftpd
Крок 3: Створення користувача FTP
Щоб коректно провести цю процедуру, необхідно ввести:
sudo adduser ftpuser
Надайте дозвіл на роботу з необхідними директоріями.
Крок 4: Отримання доступу до портів
Для коректного функціонування FTP-сервера може знадобитися використання портів 20 і 21. Щоб забезпечити їх доступність, необхідно створити відповідне правило в брандмауері:
sudo ufw allow 20:21/tcp
sudo ufw reload
Експлуатація клієнтів FTP
Використання FTP-клієнтів дає можливість комфортної роботи з документами через FTP. Нижче наведені кілька широко затребуваних клієнтів, які мають різний дизайн оболонки і функціональний набір.
FileZilla
FileZilla є безкоштовним клієнтом, що підтримує не тільки FTP-з'єднання, але й SFTP/FTPS. FileZilla має відкритий вихідний код, що дозволяє використовувати клієнт на найрізноманітніших платформах Windows, macOS і Linux.
-
Інсталяція: спочатку необхідно завантажити клієнт, який можна знайти на офіційному сайті.
-
Налаштування з'єднання: відкрийте FileZilla і заповніть всі необхідні дані (логін, пароль і IP-адресу сервера) для встановлення з'єднання.
-
Файловий обмін: скористайтеся опцією "перетягування" для відправки і отримання файлів.
Cyberduck
Cyberduck — це FTP-клієнт, який доступний для операційних систем macOS і Windows. Він сумісний з такими протоколами, як FTP, SFTP і WebDAV, а також іншими різновидами. Відрізняється простотою інтерфейсу і можливістю роботи з хмарними сховищами.
-
Установка Cyberduck: скачайте програму з офіційного сайту.
-
Підключення до сервера: виберіть протокол, введіть IP, ім'я користувача і пароль для підключення.
WinSCP
WinSCP — це безкоштовний FTP і SFTP-клієнт для Windows. Він має інтеграцію з Windows і дозволяє запускати віддалені скрипти і синхронізувати папки.
-
Установка WinSCP: завантажте його з офіційного сайту.
-
Налаштування з'єднання: відкрийте WinSCP, виберіть тип підключення (FTP або SFTP), вкажіть дані для з'єднання.
Робота з FTP через командний рядок
Робота з FTP через командний рядок — ефективний спосіб завантажувати і скачувати файли, особливо коли немає доступу до графічного інтерфейсу або необхідно автоматизувати завдання. Цей метод дозволяє використовувати вбудовані команди FTP для виконання операцій, таких як передача файлів, навігація по каталогах і налаштування з'єднань.
Підключення за допомогою консолі до сервера FTP
Для початку роботи введіть у командному рядку команду ftp, вказавши адресу FTP-сервера.
Щоб підключитися до сервера FTP введіть:
ftp yourserver.com
Після введення команди буде запропоновано ввести ім'я користувача і пароль.
Основні FTP-команди для консолі
Використання команд, що дозволяють працювати з різними каталогами і документами, стане можливим в результаті успішного підключення.
Основні команди для навігації
ls — демонструє в поточному серверному каталозі список директорій і документів.
-
cd <directory_name> — дозволяє змінити діючу серверну директорію.
cd uploads -
pwd — дозволяє відобразити діючу серверну директорію.
pwd
Передача файлів
Використання команд put і get дозволяє передавати файли між сервером і локальним ПК, завантажуючи і скачуючи їх.
-
put <file_name> — завантажує файл з локального комп'ютера на сервер у поточну директорію.
put localfile.txt -
mput <file_pattern> — завантажує кілька відповідних шаблону документів.
mput *.txt -
get <file_name> — завантажує на локальний ПК з сервера конкретний файл.
get remotefile.txt -
mget <file_pattern> — завантажує кілька відповідних шаблону документів.
mget *.log
Адміністрування серверної файлової системи
-
mkdir <directory_name> — дозволяє створити на сервері новий каталог.
mkdir newfolder -
rmdir <directory_name> — видаляє порожній серверний каталог.
rmdir oldfolder -
delete <file_name> — видаляє певний документ на сервері.
delete oldfile.txt
Додаткові команди для управління сесією
-
ascii і binary — встановлюють режим передачі даних.
-
ascii — використовується для текстових файлів.
-
binary — застосовується для двійкових файлів (зображення, архіви), щоб уникнути помилок.
binary
-
-
bye або quit — завершує сесію FTP.
bye
Сценарій автоматичної завантаження файлів
Для автоматичного скачування або завантаження файлів є можливість розробити скрипт, який буде регулярно з'єднуватися з сервером FTP і виконувати необхідні операції. Приклад bash-скрипта для автоматичної завантаження файлів:
-
#!/bin/bash
-
HOST='yourserver.com'
-
USER='ftpuser'
-
PASS='password'
-
ftp -inv $HOST <<EOF
-
user $USER $PASS
-
cd uploads
-
put localfile.txt
-
bye
-
EOF
У цьому скрипті:
-
ftp -inv $HOST запускає FTP-сесію в неінтерактивному режимі.
-
user $USER $PASS логіниться.
-
cd uploads переходить у потрібну директорію.
-
put localfile.txt завантажує файл.
Рекомендації щодо використання FTP через консоль
-
Використовуйте режим binary для завантаження двійкових файлів, щоб уникнути їх пошкодження.
-
Перевіряйте з'єднання перед початком передачі, оскільки обриви можуть викликати помилки.
-
Для захисту даних рекомендується використовувати SFTP або FTPS.
Висновок
FTP — це потужний інструмент для управління файлами на сервері, особливо в поєднанні з клієнтами, такими як FileZilla і Cyberduck. Однак для передачі конфіденційних даних рекомендується використовувати захищені варіанти протоколу, такі як SFTP.