Створення FTP-сервера в Linux

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

Створення FTP-сервера в Linux

Сьогодні ми будемо використовувати інструмент під назвою VSftpd. Переваги такого FTP-сервера в тому, що він за замовчуванням працює на багатьох ОС, обслуговує офіційні репозиторії різних дистрибутивів Linux і відносно просто налаштовується для коректного функціонування. До слова, на ядрі Лінукс офіційно застосовується саме цей FTP, і багато хостинги рекомендують ставити vsftpd. Тому давайте звернемо увагу на покроковий процес інсталяції та налаштування необхідних компонентів.

Крок 1: Встановлення VSftpd

За замовчуванням всіх потрібних бібліотек VSftpd в дистрибутивах немає, тому їх потрібно вручну завантажити через консоль. Здійснюється це наступним чином:

  1. Відкрийте &171;Термінал&187; будь-яким зручним методом, наприклад, через меню.
  2. Переход к взаимодействию с консолью в операционной системе Linux
  3. Власникам версій Debian або Ubuntu потрібно прописати команду sudo apt-get install vsftpd . CentOS, Fedora &8212; yum install vsftpd , а для Gentoo & 8212; emerge vsftpd . Після введення натисніть на Enter , щоб запустити процес інсталяції.
  4. Команда для установки VSftpd в операционной системе Linux
  5. Підтвердьте наявність прав у свого облікового запису, вказавши відповідний пароль.
  6. Ввод пароля для установки VSftpd в операционной системе Linux
  7. Очікуйте завершення додавання нових файлів до системи.
  8. Процедура добавления файлов VSftpd в операционной системе Linux

Звертаємо увагу власників CentOS, які задіють виділений віртуальний сервер від будь-якого хостингу. Вам буде потрібно провести оновлення модуля ядра ОС, оскільки без цієї процедури під час інсталяції відобразиться критична помилка. Послідовно вводите такі команди:

Yum update
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
yum install kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install perf-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum --enablerepo=elrepo-kernel install kernel-ml

Після закінчення всієї цієї процедури запустіть будь-яким зручним чином конфігураційний файл /boot/grub/grub.conf . Змініть його вміст таким чином, щоб в результаті наступні параметри мали відповідні значення:

Default=0
timeout=5
title vmlinuz-4.0.4-1.el7.elrepo.x86_64
root (hd0,0)
kernel /boot/vmlinuz-4.0.4-1.el7.elrepo.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro
initrd /boot/initramfs-4.0.4-1.el7.elrepo.x86_64.img

Далі вам залишиться тільки перезавантажити виділений сервер і переходити до безпосередньої інсталяції FTP-сервера на комп'ютер.

Крок 2: початкове налаштування FTP-сервера

Разом з програмою на комп'ютер був завантажений її конфігураційний файл, відштовхуючись від якого і відбуватися функціонування FTP-сервера. Всі налаштування виконуються суто індивідуально за рекомендаціями хостингу або власними уподобаннями. Ми лише можемо показати, як відкривається цей файл і яким параметрам обов'язково слід приділити увагу.

  1. В операційних системах Debian або Ubuntu конфігураційний файл запускається так: sudo nano /etc/vsftpd.conf . У CentOS та Fedora це на шляху /etc/vsftpd/vsftpd.conf , а в Gentoo & 8212; /etc/vsftpd/vsftpd.conf.example .
  2. Запустить конфигурационный файл VSftpd в операционной системе Linux
  3. У консолі або текстовому редакторі відобразиться сам файл. Тут зверніть увагу на зазначені нижче пункти. У вашому файлі конфігурації вони повинні мати однакові значення.

    Anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES

  4. Інше редагування здійснюйте самі, а після не забудьте зберегти зміни.
  5. Сохранить конфигурационный файл VSftpd в операционной системе Linux

Крок 3: Додавання користувача з розширеними правами

Якщо ви збираєтеся працювати з FTP-сервером не через свою основну обліковий запис або хочете надати доступ іншим користувачам, створені профілі обов'язково повинні мати права суперкористувача, щоб при зверненні до утиліти VSftpd не виникало помилок з відмовою в доступі.

  1. Запустіть &171; Термінал & 187; і введіть команду sudo adduser user1 , де user1 &8212; ім'я нового облікового запису.
  2. Создать нового пользователя через терминал в Linux
  3. Задайте для нього пароль, після чого підтвердіть його. Крім цього, настійно рекомендуємо запам'ятати домашній каталог облікового запису, в подальшому може знадобитися звернення до нього через консоль.
  4. Ввести пароль для нового пользователя в операционной системе Linux
  5. Заповніть основну інформацію &8212; повне ім'я, номер кімнати, номери телефонів та іншу інформацію, якщо потрібно.
  6. Дополнительные данные нового пользователя в Linux
  7. Після цього надайте користувачеві розширені права, ввівши команду sudo adduser user1 sudo .
  8. Предоставить новому пользователю расширенные права Linux
  9. Створіть для користувача окрему директорію під зберігання його файлів через sudo mkdir /home/user1/files .
  10. Создать для пользователя главную папку в Linux
  11. Далі перейдіть до домашньої папки через cd /home і там зробіть нового користувача власником своєї директорії, ввівши chown root:root /home/user1 .
  12. Задать владение для папки нового пользователя в Linux
  13. Перезапустіть сервер після здійснення всіх змін sudo service vsftpd restart . Тільки в дистрибутиві Gentoo утиліта перезавантажується через /etc/init.d/vsftpd restart .
  14. Перезапустить FTP-сервер через консоль в Linux

Тепер ви можете виробляти всі необхідні дії на FTP-сервері від імені нового користувача, який володіє розширеними правами доступу.

Крок 4: налаштування брандмауера (лише для Ubuntu)

Користувачі інших дистрибутивів можуть сміливо пропустити цей крок, оскільки налаштування портів більше ніде не потрібно, лише в Ubuntu. За замовчуванням Firewall налаштований таким чином, що не пропустить вхідний трафік з потрібних нам адрес, тому буде потрібно дозволити його проходження вручну.

  1. У консолі по черзі активуйте команди sudo ufw disable і sudo ufw enable , щоб перезапустити Firewall.
  2. Перезапустить Firewall в операционной системе Ubuntu
  3. Додайте правила вхідних з'єднань за допомогою sudo ufw allow 20/tcp і sudo ufw allow 21/tcp .
  4. Добавить новые правила в Firewall в операционной системе Ubuntu
  5. Перевірте, чи були застосовані введені правила, переглянувши статус фаєрвола sudo ufw status .
  6. Проверить статус Firewall в операционной системе Ubuntu

Окремо хочеться відзначити кілька корисних команд:

команди опис
/etc/init.d/vsftpd start аналіз конфігураційного файлу
service vsftpd start
netstat -tanp | grep LISTEN перевірка коректності установки FTP-сервера
man vsftpd виклик офіційної документації VSftpd для пошуку необхідної інформації стосовно роботи утиліти
service vsftpd restart перезавантаження сервера
/etc/init.d/vsftpd restart

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

На цьому стаття добігає кінця. Сьогодні ми розібрали процедуру установки сервера VSftpd без прив'язки до будь-якого хостингу, тому врахуйте це при виконанні наших інструкцій і порівнюйте їх з тими, що надає компанія, що містить Ваш віртуальний сервер. Крім усього, радимо ознайомитися з іншим нашим матеріалом, в якому розбирається тема установки компонентів lamp.

Читайте також: встановлення набору програм LAMP в Ubuntu

більше статей на цю тему: