Как настроить FTP сервер vsftpd на Debian 9

 29 декабря 2018      
 GNU Linux - CentOS / Debian      
 Комментариев еще нет      
 193

Необходимость в автономном FTP сервере у меня возникла для сохранения резервных копий панели управления VestaCP, так как по другому Веста «из коробки» не умеет. В этой статье расскажу как быстро и просто настроить FTP сервер на основе Debian 9.

В Linux системах наиболее популярны два FTP сервера, это VSFTPD и ProFTPD. В этой статье я расскажу как настроить vsftpd (англ. Very Secure FTP Daemon), который со слов Википедии является FTP-сервером по умолчанию многих операционных систем, и обслуживает официальные репозитории ftp.debian.org, ftp.redhat.com, ftp.openbsd.org, ftp.freebsd.org. Также используется на официальном FTP ядра Linux (Источник).

Как установить vsftpd на Debian 9

Для начала обновите операционную систему:

# apt update && apt upgrade

Затем установите FTP сервер vsftpd:

# apt install vsftpd

Внесите изменения в файл настроек /etc/vsftpd.conf:

#
# Запрещаем неавторизованных пользователей.
anonymous_enable=NO
#
# Разрешаем подключение с учетными данными локальных пользователей.
local_enable=YES
#
# Разрешаем полный доступ (чтение/запись) по FTP.
write_enable=YES
#
# Изменяем пользователям корневой каталог на их домашнюю директорию (chroot)
chroot_local_user=YES
#
# И разрешаем запись в нее
allow_writeable_chroot=YES

После этого нужно перегрузит ftp сервер:

# service vsftpd restart

Чего мы добились

Настройками выше мы получили FTP сервер к корому могут подключаться только авторизованные пользователи Debian 9, у них есть возможность как считывать, так и записывать файлы при этом они ограничены своей домашней директорией и не видят файлы других пользователей.

Ошибка 500 oops: vsftpd: refusing to run with writable root inside chroot

Подобная ошибка говорит о том, что FTP сервер считает небезопасным возможность записи в корневую директорию:

Как настроить FTP сервер vsftpd на Debian 9

В интернете множество дискуссий и решений по этому поводу, но проще добавить одну строку в файл конфигурации /etc/vsftpd.conf (уже присутствует в моем примере выше), чтобы разрешить пользователю запись в свою корневую директорию:

allow_writeable_chroot=YES

и перезапустить сервис:

# service vsftpd restart

Это конечно не совсем правильно с точки зрения безопасности, так как пользователь получает полный доступ к файлам .bashrc, .profile и может изменить стандартную переменную PATH. Надежнее в большинстве случаев было бы запретить загрузку по ftp в корневой каталог вошедшего в систему пользователя и дать разрешение на запись только для конкретной подпапки.

Рекомендую прочесть:  Кау становить FTP сервер VSFTP на VestaCP в CentOS

Благодарности

При написании статьи были использованы следующие источники:

  1. https://wiki.debian.org/ru/vsftpd
  2. https://linux-tips.com/t/500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/249
Поделись этой страницей с друзьями!

Прочтите это обязательно

Как настроить дату и время на сервере Debian 9

Я использую операционную систему Debian GNU/Linux на серверах для хостинга сайтов. Когда летом 2017 года вышла ...

GNU Linux - CentOS / Debian debian Далее

FAQ по прошивкам Tomato на маршрутизаторе NetGear WNR3500L v1

Маршрутизатор NetGear WNR3500L давно не поддерживается производителем, последняя официальная прошивка (WNR3500 ...

Маршрутизаторы аппаратные entware netgear tomato wnr3500l Далее

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

2019 © Технический блог
SQL - 85 | 0,147 сек. | 10.04 МБ
доступность сайта