Протокол передачі файлів

Протокол передачі файлів (англ. File Transfer Protocol, FTP) — дає можливість абоненту обмінюватися двійковими і текстовими файлами з будь-яким комп’ютером мережі, що підтримує протокол FTP. Установивши зв’язок з віддаленим комп’ютером, користувач може скопіювати файл з віддаленого комп’ютера на свій, або скопіювати файл з свого комп’ютера на віддалений.

При розгляді FTP як сервісу Інтернет мають на увазі не просто протокол, а саме сервіс — доступ до файлів, які знаходяться у файлових архівах.

FTP — стандартна програма, яка працює за протоколом TCP, яка завжди поставляється з операційною системою. Її початкове призначення — передача файлів між різними комп’ютерами, які працюють у мережах TCP/IP: на одному з комп’ютерів працює програма-сервер, на іншому — програма-клієнт, запущена користувачем, яка з’єднується з сервером і передає або отримує файли через FTP-сервіс. Все це розглядається з припущенням, що користувач зареєстрований на сервері та використовує логін та пароль на цьому комп’ютері.

Ця риса послужила причиною того, що програми FTP стали частиною окремого сервісу Інтернету. Справа в тому, що доволі часто сервер FTP налаштовується таким чином, що з’єднатися з ним можна не тільки під своїм ім’ям, але й під умовним іменем anonymous — анонім. У такому випадку для користувача стає доступною не вся файлова система комп’ютера, а лише деякий набір файлів на сервері, які складають вміст серверу anonymous FTP — публічного файлового архіву. Отже, якщо користувач хоче надати у вільне користування файли з інформацією, програмами і т. і., то йому достатньо організувати на власному комп’ютері, включеному в Інтернет, сервер anonymous FTP. Створення такого серверу — процес доволі простий, програми-клієнти FTP вельми розповсюджені, — тому сьогодні публічні файлові архіви організовані в основному як сервери anonymous FTP. Перелік інформації, яка міститься на таких серверах, включає всі аспекти життя: від звичайних текстів домультимедіа.

Не зважаючи на розповсюдженість, у FTP є багато недоліків. Програми-клієнти FTP не завжди зручні і прості у користуванні. Користувач не завжди може зрозуміти який файл перед ним, чи той що необхідно, чи ні. Окрім того, не існує простого і універсального засобу для пошуку на серверах anonymous FTP, — хоча для цього і існує спеціальний сервіс archie, але це незалежна програма, вона не універсальна і не завжди її можна ефективно застосовувати. Програми FTP доволі старі і деякі їхні особливості, які були потрібні в часи їхнього створення, не зовсім зрозумілі і потрібні зараз. Наприклад, для передачі файлів існує два режими — двійковий та текстовий, і, якщо користувач неправильно обрав режим передачі, то файл, який необхідно передати, може бути пошкодженим. Опис файлів на сервері видається у форматі операційної системи серверу, а список файлів операційної системи UNIX не завжди з розумінням сприймається користувачами DOS. Сервери FTP нецентралізовані, — звідси випливають ще деякі проблеми. Але незважаючи на все це, сервери anonymous FTP сьогодні — це стандартний шлях організації публічних файлових архівів в Інтернеті.

FTP — сервіс прямого доступу, який вимагає повноцінного підключення до Інтернету, але є можливість доступу і через електронну пошту — існують сервери, які пересилають за допомогою електронної пошти файли з будь-яких серверів anonymous FTP. Проте цей шлях отримання інформації – досить незручний, оскільки такі сервери можуть бути сильно завантажені і запит доволі довго чекатиме своєї черги. Крім того, великі файли при пересилці діляться сервером на частини обмеженого обсягу і, якщо одна з частин загубиться і буде пересланою із пошкодженнями, то весь файл стане непридатним.

Встановлення та налаштування FTP-сервера

1. Встановлюється пакет proftpd за допомогою команди

sudo aptitude install proftpd

Якщо FTP-сервер не використовуватиметься постійно відповісти на питання, що з’явилося, про спосіб запуску, необхідно: “самостійно”.

2. Відкриваю файл /etc/shells командою:

sudo nano/etc/shells

3. Додаю в нього рядок

/bin/false

4. Створюю в /home каталозі папку FTP-shared командою:

sudo mkdir /home/FTP-shared

5. Створюю користувача з ім’ям userftp командою

sudouseradd userftp – p pass – d /home/FTP – shared – s /bin/false

де “pass” — пароль.

6. В папці FTP-shared створюю дві вкладені папки:

sudo mkdir /home/FTP-shared/public

sudo mkdir /home/FTP-shared/upload

7. Присвоюю потрібні права створеним текам командами

sudo chmod 755 /home/FTP-shared

sudo chmod 755 /home/FTP-shared/public

sudo chmod 777 /home/FTP-shared/upload

8. Переіменовую наявний конфігураційний файл proftpd.conf і створюю новий:

sudo mv /etc/proftpd/proftpd.conf

/etc/proftpd/proftpd.conf.old

sudo nano/etc/proftpd/proftpd.conf

9. Якщо треба зробити анонімний доступ, слід закоментувати обидві секції для donet і розкоментувати секцію для аноніма.

10. Cервер вже запущений, але з параметрами за замовчуванням. Його необхідно перезапустити:

sudo /etc/init.d/proftpd restart

11. Для перевірки синтаксису створеного конфіг-файлу можна виконати: sudo proftpd – td5

12. Щоб взнати, хто підключений до фтп-серверу в даний момент використовується команда ftptop (клавіша t міняє відображення, q – вихід) можна також використати команду ftpwho

13. Фтп-сервер з двома папками, одна з них (public) доступна тільки для читання, інша (upload) – для запису. Цікавою може видатися інструкція по встановлення серверу електронної пошти SendMail.