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

Опубликовано: 29 декабря 2018 / Обновлено: 8 января 2019
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 8581
Комментарии: 0

Необходимость в автономном 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 в корневой каталог вошедшего в систему пользователя и дать разрешение на запись только для конкретной подпапки.

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

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

  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

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 6 | 0,121 сек. | 8.29 МБ