> For the complete documentation index, see [llms.txt](https://spacecore.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://spacecore.gitbook.io/wiki/ua/administration-and-backups/install-ftp-server.md).

# Встановлення FTP-сервера

{% hint style="danger" %}

### Дані застаріли

**База знань переїхала →** [**https://wiki.spacecore.pro/**](https://wiki.spacecore.pro/)

Ця вікі більше не оновлюється. Актуальні інструкції та статті — за новою адресою.
{% endhint %}

{% content-ref url="<https://wiki.spacecore.pro/>" %}
<https://wiki.spacecore.pro/>
{% endcontent-ref %}

***

Встановіть і створіть користувача FTP без використання панелі керування.

## Завантаження ProFTPD:

Системи Debian/Ubuntu:

```
apt-get install proftpd
```

CentOS:

```
yum install epel-release
yum install proftpd
```

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

```
service proftpd start
```

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

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

```
DefaultRoot ~
```

Ви можете додати його в кінці файлу. Після збереження перезавантажте FTP-сервер:

```
service proftpd restart
```

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

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

{% hint style="warning" %}
**Ubuntu**: /etc/proftpd.conf

**Debian**: /etc/proftpd/proftpd.conf

**CentOS**: /etc/proftpd.conf
{% endhint %}

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

Простим користувачам FTP не потрібно мати доступ до shell. Перш ніж почати створювати нових користувачів, виконайте таку команду:

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

### Створіть нового користувача:

```
useradd username -d /home/username - m -s /bin/false
passwd user_name
```

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

{% hint style="success" %}
У більшості випадків ви вже можете підключитися до FTP-сервера за замовчуванням на порту 21.
{% endhint %}

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

#### Доступ до Shell (shell)

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

```
/bin/sh
```

Або:

```
/bin/bash
```

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

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

Від імені суперкористувача змініть права:

```
chmod 555 /home/folder_name
mkdir /home/folder_name/upload
chown username:username /home/foldername/upload
```

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

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