Перейти к основному содержимому

Як встановити FTP-сервер?

В цій статті ми розберемо, як встановити та створити FTP-користувача без використання панелі керування. Є багато різних способів як це зробити, але ми вибрали саме цей, бо він самий простіший і більш доступний.

Підготовка системи

Перед встановленням, нам потрібно підготувати сервер, а саме - оновити пакети та зробити оновлення системи. Виконуємо наступні команди:

Debian/Ubuntu

apt update — Оновити всі пакети
apt upgrade — Оновити систему

apt update && apt upgrade — Можна ще так написати

CentOS

yum update — Оновити всі пакети
yum upgrade — Оновити систему

Встановлення ProFTPD

Після оновлення системи, можемо приступати до встановлення сервісу FTP - ProFTPD, виконуємо наступну команду (змінюя команду, яка потрібна для нашої системи)

Debian/Ubuntu

apt-get install proftpd

CentOS

yum install epel-release
yum install proftpd

Якщо сервер не запустився автоматично, використовуйте команду для запуску вручну:

service proftpd start

Обмеження FTP-користувачів межами домашнього каталогу.

Ця стаття має на увазі роботу конфігурацією ProFTPD “за замовчуванням”, а в цьому разі користувач може виходити за межі свого домашнього каталогу, хоча прав на роботу з іншими папками в нього найімовірніше немає, але в разі недостатньо суворої конфігурації сервера це може бути загрозою безпеці. Відкрити це й файл можна командою nano:

nano /etc/proftpd/proftpd.conf

Далі додаємо у кінець файла proftpd.conf строчку та зберігаємо:

DefaultRoot ~

Після того, як додали та зберегли і вийшли з режиму редагування прописуємо команду для перезапуску FTP-серверу:

service proftpd restart

Розташування proftpd.conf:

Файл налаштувань proftpd.conf може розташовуватися в різних місцях, залежно від Вашої версії ОС:

Ubuntu

nano /etc/proftpd.conf

Debian

nano /etc/proftpd/proftpd.conf

CentOS

nano /etc/proftpd.conf

Створення нового FTP-користувача:

Простим FTP-користувачам немає необхідності мати доступ до командної оболонки. Перед тим, як приступите до створення нових користувачів, виконайте команду:

echo '/bin/false' >> /etc/shells

Створення нового користувача:

Для цього пропишемо команду useradd та виконаємо команду passwd, щоб встановити пароль для нашого користувача

useradd ім'я_користувача -d /home/назва_папки -m -s /bin/false
passwd ім'я_користувача

Командами вище ми створили користувача (ім’я_користувача потрібно замінити на незайняте ім’я) і відповідну групу, призначили та створили (ключ -m можна опустити, якщо каталог уже існує) домашній каталог /home/ім’я_папки, а також обрали /bin/false командною оболонкою користувача, у такий спосіб відключивши її з метою безпеки. Командою passwd ми створили користувачеві необхідний пароль.

подсказка

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

Додаткова інформація:

Доступ до командної оболонки (shell)

Якщо Ви все-таки хочете надавати користувачеві доступ до командної оболонки, то необхідно вказати шлях до будь-якої діючої оболонки, замість /bin/false, наприклад:

/bin/sh
/bin/bash

Користувачам звичайного протоколу FTP не потрібен доступ до shell, тому безпечніше його не надавати.

Обмеження прав FTP-користувача:

За необхідності Ви можете закрити права на запис для користувача, наприклад, у домашню директорію, і залишити їх тільки для якої-небудь внутрішньої папки, наприклад upload.

chmod 555 /home/назва_папки
mkdir /home/назва_папки/upload
chown ім'я_користувача:ім'я_користувача /home/назва_папки/upload

У цьому випадку друге ім’я_користувача є ім’ям групи, яке за замовчуванням збігається зі створеним Вами ім’ям користувача.

Таким чином, за короткий час і невелику кількість дій, Ви можете створити безпечного базового FTP-користувача і почати роботу з FTP на сервері.