1. Введення
Практично кожен користувач, хоча б іноді працює в інтернеті, стикався з FTP. У цьому посібнику детально і покроково Відомості про вставлення FTP-сервер в Ubuntu Linux. Ми покажемо, як встановити його в нормальному і автономному режимах, а також як забезпечити його безпеку. Ми будемо використовувати легкий і ефективний FTP-сервер vsFTPd, призначений для роботи на високонавантажених серверах.
2. Угоди
Далі в цій статті ми будемо говорити просто про FTP-сервері, маючи на увазі vsFTPd.
3. Що таке FTP
Для тих, хто не знайомий з FTP, нижче подано короткий опис його можливостей. FTP розшифровується як File Transfer Protocol. Назва має на увазі, що цей протокол використовується для передачі файлів або директорій з одного хоста на інший через мережу - як локальної, так і через інтернет.
Головні можливості vsFTPd: настройки для віртуальних IP, віртуальні користувачі, мережеві або автономні операції, великий спектр налаштувань, регулювання пропускної здатності каналу, настройка лімітів по IP, підтримка IPv6 і шифрування (за допомогою SSL).
4. Установка FTP-сервера в Ubuntu
Як завжди в Ubuntu і системах на її основі, установка FTP-сервера виконується однією командою. Відкрийте термінал і введіть:
Після виконання цієї команди сервер буде встановлений і запущений.
5. Нормальний і автономний режими роботи FTP
5.1. Автономний режим
За замовчуванням vsftpd запускається в автономному режимі, в якому запускається на сервері служба використовує власний стартовий скрипт, званий демоном. У разі vsftpd це /etc/init.d/vsftpd. Даний автономний демон в момент старту служби FTP бере керування нею на себе. Демон vsftpd надає адміністратору кілька команд для управління FTP-сервером vsftpd:
start або stop - використовується для запуску або зупинки ftp-сервера.
status - виводить детальну інформацію про поточний стан вашого FTP-сервера.
restart - це альтернатива послідовності з зупинки і запуску сервера. Якщо сервер вже зупинений, команда restart запустить його.
reload - ця команда дозволяє перезавантажити і застосувати всі нові настройки. Її відмінність від restart полягає в тому, що застосування нових налаштувань проводиться без зупинки сервера.
Для запуску, перезавантаження і застосування нових налаштувань використовується утиліта service:
Такий синтаксис застосовується для виконання всіх команд.
5.2. нормальний режим
Інший підхід до запуску vsftpd - це нормальний режим, в якому за роботу служби відповідає суперсервера xinetd. Для запуску сервера vsftpd в нормальному режимі необхідно спочатку встановити суперсервера xinetd:
Наведена вище команда встановлює і запускає суперсервера xinetd. У разі, якщо він у вас вже встановлений, ця команда не потрібна. Далі, створіть файл vsftpd в директорії /etc/xinetd.d/ наступного змісту:
Далі нам необхідно відредагувати конфігураційний файл FTP-сервера /etc/vsftpd.conf, замінивши рядок
Ця директива дасть команду FTP-сервера не відкривати ніяких портів, повністю передоручивши їх суперсервера xinetd. Перед тим, як запустити сервер в нормальному режимі, переконайтеся, що демон vsftpd відключений:
Тепер можна запустити FTP-сервер в нормальному режимі за допомогою команди:
Щоб переконатися в нормальній роботі FTP-сервера, протестуйте і відкрийте порт 21 за допомогою команди netstat:
6. Створення першого підключення по FTP
Незалежно від того, запустили ви FTP-сервер в автономному, або в нормальному режимі, ви можете створити перше локальне ftp-підключення. За замовчуванням vsftpd дозволяє автономний доступ, тому при створенні нашого першого тестового підключення в якості імені користувача ми будемо використовувати anonymous. Для цього просто введіть команду ftp з аргументом localhost:
Успішне підключення підтверджує, що FTP-сервер в локальній системі налаштований правильно. Але перед тим, як перейти до більш тонким налаштуванням, необхідно протестувати FTP-сервер і з декількох віддалених хостів.
7. Налаштування FTP-сервера
У цьому розділі ми розглянемо деякі базові приклади опцій конфігурації vsftpd.
Примітка: при внесенні будь-яких змін в налаштування FTP-сервера не забудьте скористатися командою restart / reload, щоб активувати їх.
7.1. Налаштування призначеного для користувача доступу
vsftpd дозволяє залишити тільки анонімний доступ, або дозволити користувачам, прописаним в файлі / etc / passwd або у відповідному списку, аутентифицироваться.
7.1.1. Анонімний доступ до FTP
За замовчуванням FTP-сервер vsftpd налаштований тільки для анонімного доступу. Якщо це те, що вам потрібно, ви можете полегшити життя анонімним користувачам, відключивши необхідність введення пароля. Найбільш безпечний варіант для FTP-сервера - не дозволяти користувачам ідентифікуватися з паролем у вигляді простого тексту. Для відключення необхідності введення пароля анонімними користувачами необхідно в файлі конфігурації /etc/vsftpd.conf встановити значення "NO" для директиви no_anon_password:
7.1.2. Доступ локальних користувачів по FTP
7.1.3. Список доступу користувачів
Спочатку створимо список доступу, який використовується сервером vsFTPd. Зазвичай ви можете задати його в директорії / etc /. Створіть файл з довільним ім'ям і перерахуйте в ньому всіх користувачів, яким ви хочете дозволити або заборонити доступ. Наприклад, давайте створимо новий список з єдиним користувачем "lubos":
Далі, визначимо новий список користувачів в конфіграціонном файлі /etc/vsftpd.conf і активуємо директиву userlist_enable:
Таким чином всім користувачам, перерахованим в файлі /etc/vsftpd.userlist, буде відмовлено в доступі до FTP-сервера.
Щоб дозволити доступ усім користувачам, перерахованим в файлі /etc/vsftpd.userlist, встановіть значення "NO" для директиви userlist_deny. При цьому ви відкриваєте доступ тільки користувачам, перерахованим в /etc/vsftpd.userlist. Кожне ім'я користувача в цьому файлі має розташовуватися на окремому рядку.
7.2. Зміна номера порту
За замовчуванням будь FTP-сервер слухає стандартний порт 21 для аутентифікації користувача і порт 20 для передачі даних. vsFTPd не є винятком. Для зміни прослуховується за замовчуванням порту використовується директива listen_port в файлі /etc/vsftpd.conf. Наприклад, для зміни порту на 2121 просто додайте наступну директиву в ваш конфігураційний файл:
Після чого перезапустіть FTP-сервер.
Однак це може бути застосовано до тільки до vsFPTd, що працює в автономному режимі. У разі, якщо ваш FTP-сервер запущений в нормальному режимі з з використанням суперсервера xinetd, і ви хочете змінити порт за замовчуванням на 2121, знайдіть в файлі / etc / services рядок FTP і замініть 21 на 2121, після чого перезапустіть xinetd.
Тепер, як ви можете переконатися, FTP-сервер слухає порт 2 121:
7.3. Інші опції конфігурації
Сервер vsFTPd має безліч опцій настройок, які дозволяють тонко налаштувати його відповідно до своїх потреб. Нижче наведено список найбільш важливих опцій:
8. Висновок
На сьогоднішній день vsFTPd має 125 опцій конфігурації. Це робить його дуже гнучким у налаштуванні і в той же час простим у використанні та адмініструванні. Чи хочете ви використовувати його будинку, в межах корпоративної мережі, або на віддаленому сервері, ви можете бути впевнені, що vsFTPd повністю задовольнить ваші потреби. Крім того, vsFTPd дозволяє активувати sftp, але це питання ми обговоримо в наступний раз.