Установка и базовая настройка FTP-сервера ProFTPD

7 мин чтенияОбновлено 6 декабря 2025

Установка и создание FTP-пользователя без использования панели управления.

#Загрузка ProFTPD:

Системы Debian/Ubuntu:

bash
apt-get install proftpd

CentOS:

bash
yum install epel-release yum install proftpd

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

bash
service proftpd start

#Ограничение FTP-пользователей пределами домашнего каталога.

Данная статья подразумевает работу конфигурацией ProFTPD "по умолчанию", а в этом случае пользователь может выходить за пределы своего домашнего каталога и, хотя прав на работу с другими папками у него, скорее всего, нет, но при недостаточно строгой конфигурации сервера это может быть угрозой безопасности. Решить эту проблему можно добавив одну строку в файл proftpd.conf:

apache
DefaultRoot ~

Добавить ее можно в конец файла. После сохранения перезапустите FTP-сервер:

bash
service proftpd restart

#Расположение proftpd.conf:

Файл настроек proftpd.conf может располагаться в разных местах, в зависимости от Вашей версии ОС:

Ubuntu: /etc/proftpd.conf
Debian: /etc/proftpd/proftpd.conf
CentOS: /etc/proftpd.conf

#Создание нового FTP-пользователя:

Простым FTP-пользователям нет необходимости иметь доступ к командной оболочке. Перед тем, как приступите к созданию новых пользователей, выполните команду:

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

Создайте нового пользователя:

bash
useradd имя_пользователя -d /home/имя_папки -m -s /bin/false passwd имя_пользователя

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

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

#Дополнительная информация:

Доступ к командной оболочке (shell)

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

bash
/bin/sh

или же:

bash
/bin/bash

Пользователям обычного протокола FTP не нужен доступ к shell, поэтому, будет безопаснее его не предоставлять.

Ограничение прав FTP-пользователя:

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

От имени суперпользователя измените права:

bash
chmod 555 /home/имя_папки mkdir /home/имя_папки/upload chown имя_пользователя:имя_пользователя /home/имя_папки/upload

В данном случае второе имя_пользователя является именем группы, которое по умолчанию совпадает с созданным Вами именем пользователя.

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

Не нашли ответ? Мы на связи 24/7.Написать в поддержку