Як встановити 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 на сервері.