Налаштуйте FTP-сервер на Linux
Протокол передачі файлів (FTP) — це широко використовуваний мережевий протокол, який використовується для передачі файлів між двома комп’ютерами. Протокол заснований на архітектурі клієнт-сервер. Один із комп’ютерів запускає програму FTP-сервер, а інший комп’ютер — клієнтську програму FTP, яка може завантажувати або завантажувати файли на комп’ютер-сервер на основі дозволів.
Зазвичай користувачам, які мають доступ до FTP-сервера, потрібно пройти автентифікацію за допомогою імені користувача та пароля, однак сервер також можна налаштувати, щоб дозволити доступ анонімним користувачам.
Майже всі популярні операційні системи, такі як Windows, GNU/Linux, Mac OS, мають доступні FTP-сервер і клієнтські програми. У цій статті ми розглянемо, як налаштувати FTP-сервер у системі Ubuntu.
Установка
В Ubuntu програма vsftpd
, що означає Дуже безпечний демон FTP це популярна програма FTP-сервера, яку можна запускати як демон, тобто як фоновий процес, як і більшість серверів.
Ця програма доступна в стандартному репозиторії Ubuntu. Щоб встановити його, запустіть:
sudo apt встановити vsftpd
Примітка: Для версій Ubuntu < 14.04 використовуйте apt-get
замість прих
.
Після установки, vsftpd
демон повинен запуститися автоматично. Щоб перевірити, чи він запущений належним чином, запустіть:
статус служби vsftpd
Якщо статус ні Активний
, тобто він не запущено належним чином, виконайте таку команду, щоб запустити його, і перевірте статус знову після його запуску, щоб перевірити, чи зараз Активний
.
Запуск служби sudo vsftpd
Конфігурація
Конфігураційний файл для vsftpd
є /etc/vsftpd.conf
. Тут доступний ряд варіантів конфігурації. Ми змінимо два параметри, які зазвичай потрібні.
Відкрийте файл за допомогою vim або будь-якого редактора на ваш вибір.
sudo vim /etc/vsftpd.conf
За замовчуванням анонімний доступ до FTP-сервера не дозволяється. Щоб дозволити анонімний доступ, ми змінюємо змінну anonymous_enable
від НЕМАЄ
до ТАК
у файлі.
Для анонімного доступу користувач з іменем ftp
створюється під час установки. Каталог за замовчуванням для доступу до анонімного користувача /srv/ftp
, який насправді є домашнім каталогом користувача ftp
. Сюди потрібно скопіювати будь-які файли, якими буде ділитися анонімним користувачам.
Якщо потрібно змінити каталог для анонімного доступу, нам потрібно змінити домашній каталог користувача ftp
. Для цього запустіть:
sudo usermod -d ftp
Аналогічно, за замовчуванням доступ на запис, тобто доступ до завантаження, на FTP-сервер не дозволяється. Щоб увімкнути його, ми розкоментуємо рядок змінною write_enable=ТАК
.
Збережіть та вийдіть із файлу. Якщо ви використовуєте vim, натисніть Втеча
щоб перейти до командного режиму vim, потім введіть :wq
і натисніть Введіть
щоб зберегти та вийти з файлу.
Нам потрібно перезапустити демон FTP-сервера, щоб ці зміни вступили в силу. Щоб перезапустити його, запустіть:
Перезапуск служби sudo vsftpd
Тестування сервера
Більшість сучасних веб-браузерів мають вбудовану підтримку для доступу до FTP-серверів, тобто вони можуть діяти як інтегровані FTP-клієнти. Вони підтримують лише завантаження файлів із сервера, але не завантаження.
Завантажити тест
Введіть ftp://
в адресному рядку браузера для доступу до FTP-сервера, де це IP-адреса або доменне ім’я сервера FTP. Щоб перевірити локальний FTP-сервер, введіть
ftp:://127.0.0.1
Зауважте, що оскільки анонімний доступ увімкнено, сервер показує нам список каталогів папки, яку ми ввімкнули для анонімного доступу, а саме. /srv/files/ftp
.
Давайте змінимо файл конфігурації, щоб вимкнути анонімний доступ зараз і протестувати доступ з логіном користувача.
sudo vim /etc/vsftpd.conf
Змінити змінну anonymous_enable
до НЕМАЄ
.
Збережіть та вийдіть із файлу. Перезапустіть FTP-сервер, щоб ці зміни відбулися.
Перезапуск служби sudo vsftpd
Відкрийте ту саму URL-адресу ще раз у браузері (ftp://127.0.0.1
).
Як бачимо, зараз сервер просить ввести ім’я користувача та пароль. Введіть облікові дані та натисніть добре
.
Тепер список каталогів — це домашній каталог користувача, який увійшов у систему. В даному випадку це так /home/abhi
.
Завантажити тест
Веб-браузери дозволяють завантажувати файли лише з FTP-серверів. Щоб завантажити файли на FTP-сервер, ми отримуємо доступ до сервера з файлового провідника.
В Ubuntu ми будемо використовувати провідник файлів за замовчуванням, Nautilus. Відкрийте Nautilus, клацнувши піктограму на док-станції, або знайдіть її в Dash і відкрийте.
Натисніть на Інші локації
на самому дні.
У самому низу введіть URL-адресу нашого FTP-сервера (ftp:://127.0.0.1
) у полі введення Підключення до сервера та натисніть кнопку «Підключити».
Поставте прапорець «Зареєстрований користувач» і введіть ім’я користувача та пароль. Ви можете вибрати один із трьох варіантів для запам’ятовування пароля, введеного вище. Нарешті, натисніть кнопку «Підключити» у верхній частині вікна.
Тепер ми можемо легко скопіювати або створити файл на FTP-сервері звичайним способом у файловому провіднику. FTP-сервер відображається зліва, як показано нижче.
Нпримітка: Незважаючи на vsftpd
можна налаштувати для доступу до запису для анонімних користувачів, це є величезним ризиком для системи, і його ніколи не можна використовувати! Завантаження на FTP-сервер має бути ввімкнено лише для користувачів системи.
Висновок
Таким чином ми можемо налаштувати FTP-сервер на Ubuntu. Переконайтеся, що ви спробували отримати доступ до нього з іншої системи у вашій мережі, і в цьому випадку вам потрібно буде ввійти ftp://Ваша_IP-адреса
замість ftp://127.0.0.1
у браузері іншої системи.
Зауважте, що більшість програм FTP-сервера захищені для шифрування переданого вмісту за допомогою SSL/TLS (так званий FTPS) або за допомогою FTP SSH. vsftpd
використовує FTPS у своїй реалізації.