После размещения сайта на сервере встаёт вопрос: как организовать доступ по FTP для работы с файлами сайта? Для этой задачи есть несколько решений — в зависимости от того, используете ли вы сервер с панелью управления ISPmanager или без неё.
FTP на сервере с панелью ISPmanager
Чтобы подключение по FTP на сервере с ISPmanager стало доступным, нужно создать FTP-пользователя. Для этого:
-
Авторизуйтесь в панели ISPmanager. Ссылка и данные для входа в неё доступны в Личном кабинете — раздел
Товары
—Виртуальные серверы
— выберите ваш сервер, сверху«Инструкция»
.Список серверов в Личном кабинете В разделе
«ISPmanager — панель управления сервером»
будут указаны данные для входа:Данные для подключения в инструкции -
Откройте раздел
Учётные записи
—FTP-пользователи
и нажмите«Создать»
:Список FTP-пользователей в ISPmanager Панель предложит ввести имя FTP-пользователя, выбрать владельца (пользователя, к сайтам которого вы хотите настроить доступ), задать пароль и домашнюю директорию FTP-пользователя (она настраивается относительно домашней папки пользователя-владельца):
Создание FTP-пользователя в ISPmanager
На этом настройка завершена. Осталось проверить подключение через любой FTP-клиент, например, FileZilla. Для этого вам понадобятся следующие данные:
- IP-адрес сервера;
- имя созданного FTP-пользователя;
- заданный при его создании пароль.
Подключаемся:

В случае успешного подключения мы увидим список каталогов в домашней директории пользователя-владельца (example-user
). Все сайты размещены в подкаталоге www
:

FTP на сервере без панели управления
В этом случае есть два варианта действий. Оба способа позволяют обеспечить возможность FTP-подключения к серверу, в том числе для отдельных пользователей к отдельным папкам:
Настройка подключения через sFTP
По умолчанию sFTP-доступ к серверу уже настроен. Можно сразу подключиться через обычный FTP-клиент, например, FileZilla, использовав IP-адрес сервера, логин и пароль пользователя root
и порт 22
.
Также можно создать дополнительных sFTP-пользователей с доступом только к отдельным папкам на сервере. Тем самым можно организовать доступ к файлам сайтов для нескольких пользователей.
Настройка безопасного протокола sFTP
Установка и настройка FTP-сервера
По умолчанию на серверах без панели управления FTP-сервер не установлен. Тем не менее, можно быстро установить его из штатных репозиториев операционной системы. Есть несколько распространённых FTP-серверов (proftpd
, pure-ftpd
), мы остановимся на одном из наиболее популярных, быстрых и надёжных — vsftpd
.
vsftpd
(Very Secure FTP Daemon) — FTP-сервер с возможностью шифрования передаваемых по протоколу FTP файлов. Благодаря этому повышается уровень безопасности — никто не сможет получить доступ к данным, которые вы загружаете на сервер, если их удастся перехватить.
Установка и настройка vsftpd
vsftpd
доступен для установки из штатных репозиториев во многих операционных системах семейства Linux.
Для начала установки необходимо подключиться к серверу по SSH под пользователем root
. Способ установки может отличаться в зависимости от дистрибутива операционной системы:
Ubuntu и Debian | CentOS |
apt-get update apt-get install vsftpd |
yum install vsftpd |
После завершения установки нужно запустить FTP-сервер и добавить его в автозапуск — чтобы после перезагрузки сервера он включался автоматически:
systemctl start vsftpd systemctl enable vsftpd
После завершения установки в директории /etc
будет доступен конфигурационный файл vsftpd.conf
, с помощью которого мы будем редактировать настройки. Чтобы в случае ошибки при его изменении мы имели возможность быстро восстановить значения по умолчанию, нужно создать его копию:
cp /etc/vsftpd.conf /etc/vsftpd.conf.copy
В случае сбоя или при необходимости восстановления настроек будет достаточно удалить отредактированный файл и переименовать vsftpd.conf.copy
в vsftpd.conf
Теперь откроем оригинальный конфигурационный файл с помощью любого консольного текстового редактора:
vi /etc/vsftpd.conf
** В качестве примера приведён консольный редактор vim. Для входа в режим редактирования на клавиатуре нажмите I. Для выхода из режима редактирования нажмите Esc. Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!
Чтобы обеспечить FTP-доступ к серверу, нужно изменить следующие параметры:
listen=YES
*Этот параметр позволяет включить FTP-сервер в режиме ожидания входящих подключений.
#listen_ipv6=YES
*Этот параметр отвечает за возможность подключения к серверу по FTP с IPv6-адресов. В большинстве случаев этот параметр не нужен, хотя и включен по умолчанию. Его необходимо отключить, поставив в начале строки символ «#».
local_umask=022
* Этот параметр отвечает за автоматическое назначение прав на загружаемые данные. Для папок при загрузке будут автоматически назначены права 755, для файлов — 644.
chroot_local_user=YES
* Этот параметр запрещает для FTP-пользователей доступ к директориям выше их домашней папки. То есть если у пользователя в качестве домашней папки установлена директория /var/www/user/sites/username
, он сможет перемещаться и управлять файлами только в рамках папки username
без возможности перейти на уровень выше.
ssl_enable=YES
* Этот параметр отвечает за шифрование FTP-соединения. В том же блоке можно указать пути к вашему сертификату и ключу — если вы не хотите использовать сгенерированные по умолчанию.
После изменения параметров сохраните файл, закройте редактор и перезапустите vsftpd
командой:
systemctl restart vsftpd
Чтобы убедиться, что служба корректно запустилась, проверьте её статус:
systemctl status vsftpd
Если проблем нет, вы увидите статус active (running)
:

Создание FTP-пользователей
Перед тем, как приступить к созданию FTP-пользователей, важно учесть, как именно будет организована файловая структура ваших сайтов — чтобы в процессе правильно создать и настроить домашнюю папку пользователя. В частности, это необходимо для корректной работы параметра chroot_local_user=YES
, который был задан на этапе настройки vsftpd
.
Например, для примера мы организовали следующую структуру каталогов:
/var /www /sites |
Системная директория Директория веб-сервера для размещения сайтов Добавленный каталог для разбиения сайтов по пользователям |
/username | Домашняя директория пользователя username |
/example1.com |
Сайты пользователя username |
В такой структуре пользователю username доступны только каталоги example1.com/
и example2.com/
— внутри них он может создавать и редактировать файлы и папки. Все каталоги выше принадлежат пользователю root
или системным пользователям.
-
Первым делом необходимо создать домашнюю папку нового пользователя. Если у вас уже создан каталог и к нему просто нужно настроить FTP-доступ, пропустите этот шаг.
Переходим в папку, где будет расположена домашняя директория пользователя:
cd /var/www/sites
Создаём новую папку:
mkdir username
-
Теперь нам нужно создать нового пользователя, назначив ему в качестве домашней директории созданную папку. Если вам нужно настроить доступ к другому каталогу, просто измените в команде путь
/var/www/sites/username
на свой.useradd -d /var/www/sites/username username
Настроим пароль для нового пользователя:
passwd username
Система предложит ввести и подтвердить новый пароль. Для подтверждения ввода нажмите Enter.
-
Теперь осталось создать папку с владельцем в лице нашего нового пользователя. Переходим в созданный каталог:
cd username
Создаём папку, куда новый пользователь сможет загружать свои файлы:
mkdir example.com
Настроим в качестве её владельца нашего пользователя
username
:chown username:username example.com
На этом процесс настройки завершён. Осталось протестировать подключение через любой FTP-клиент, например, FileZilla. Для подключения указываем IP-адрес сервера, имя нашего созданного пользователя и его пароль:

Клиент сообщит, что FTP-сервер имеет самоподписанный сертификат, и запросит подтверждение на подключение и сохранение этого сертификата как доверенного:

Если вы не активировали опцию ssl_enable=YES
на этапе настройки, тогда клиент сообщит, что подключение небезопасно — данные не будут шифроваться:

В случае успешного подключения у вас откроется домашняя папка пользователя с каталогом под файлы:

Обратите внимание, что пользователь может работать только внутри директории example.com/
Загрузка файлов или добавление папок в самой домашней директории (вне каталога example.com/
) будут недоступны.
Как сделать FTP безопаснее
Протокол FTP разработан еще в 1971 году, и с тех пор стал самым привычным способом работы с файлами на сервере. Его поддерживают все современные браузеры, существует множество клиентов для подключения к серверу по FTP. Он очень удобен и прост в настройке.
Однако при всех его достоинствах, отсутствие шифрования при передаче данных — серьезный недостаток, из-за которого использовать его не рекомендуется. Но, если обойтись без FTP по каким-то причинам не получается, следуйте советам специалистов по информационной безопасности:
- используйте FTP-подключение только в проверенных сетях, избегайте публичных Wi-Fi точек
- регулярно проверяйте на вирусы устройства, которые используются для работы по FTP. Так вы избежите перехвата FTP-доступов троянскими программами
- не сохраняйте доступы в вашем FTP-клиенте
- регулярно меняйте пароль FTP-пользователя
- если FTP нужен вам нерегулярно, лучше включать его по надобности. Сделать это можно через ISPmanager —
Службы
- если вы предоставляете доступ по FTP другому человеку, создайте нового FTP-пользователя и удалите, как только доступ этому пользователю станет не нужен.
- повысить безопасность можно с помощью ограничения через
.ftpaccess
. Для этого нужно создать файл.ftpaccess
в домашнем каталоге FTP-пользователя и ограничить доступ, например по IP с адресом5.5.5.5
. Тогда подключиться по FTP можно будет только с этого IP:
limit all="" Allow from 5.5.5.5 Deny from All /limit
Эти меры снижают риски, но полностью их не исключают. Если вы хотите защитить данные сервера от перехвата, заражения вирусом и других неприятностей, используйте sFTP.