Настройка vsftpd

Приветствую всех. Сегодня я расскажу о настройке простого и в то же время безопасного FTP сервера vsftpd, который распространяется под лицензией GPL, работающий на UNIX системах, включая Linux. Он является безопасным и быстрым в работе, так же стоит отметить его стабильность.

Особенности:

  • поддержка виртуальных хостов
  • возможность создания виртуальных пользователей
  • может работать как самостоятельный демон или совместно с inetd
  • гибкая конфигурация
  • поддержка ограничения скорости канала
  • поддержка IPv6
  • поддержка SSL
  • и многое другое

vsftpd используется такими популярными проектами, как FreeBSD, GNU, KDE (полный список).

Теперь ближе к делу... Лезем в порты и ставим сервер:

# cd /usr/ports/ftp/vsftpd
# make install clean

По окончанию установки правим конфиг, у меня он получился таким:

# Разрешить анонимным пользователям вход на FTP сервер?
anonymous_enable=NO
#
# Разрешить локальным пользователям входить на сервер.
local_enable=YES
#
# Разрешить любые FTP команды записи.
write_enable=YES
#
# Маска для новых файлов
local_umask=027
#
# Разрешить анонимным пользователям заливать файлы на сервер. 
# Не забудьте создать директорию с правами на запись, принадлежащую
# пользователю FTP.
anon_upload_enable=NO
#
# Разрешить анонимным пользователям создавать новые директории.
anon_mkdir_write_enable=NO
#
# Активировать сообщения в директориях. 
dirmessage_enable=YES
#
# Включить лог закачки/скачки.
xferlog_enable=YES
#
# Передавать данные через 20 порт (ftp-data)?
connect_from_port_20=NO
#
# Если вы хотите сделать так, чтобы загруженными файлами анонимных
# пользователей владел другой пользователь, то включите эту опцию.
# Не рекомендуются использовать для этих целей пользователя - root.
#chown_uploads=YES
#chown_username=whoever
#
# Файл для ведения логов
#xferlog_file=/var/log/vsftpd.log
#
# Использовать стандартный ftpd xferlog формат.
# Учтите, что в этом случае для ведения логов будет использоваться файл /var/log/xferlog.
#xferlog_std_format=YES
#
# Время простоя сессии (в секундах).
idle_session_timeout=600
#
# Время простоя при передачи данных.
data_connection_timeout=120
#
# Здесь рекомендуется указывать непривилегированного пользователя в системе
nopriv_user=nobody
#
# Включить, чтобы сервер обрабатывал асинхронные ABOR запросы.
# Не рекомендуется по соображениям безопасности.
async_abor_enable=NO
#
# Разрешить скачку/закачку в ASCII режиме. На некоторых ftp серверах
# через подобнуу фичу можно вызвать отказ в обслуживании (DoS),
# используя команду "SIZE /big/file" в ASCII режиме.
# vsftp может определить подобную атаку и предотвратить.
ascii_upload_enable=NO
ascii_download_enable=NO
#
# Приветственное сообщение:
ftpd_banner=Welcome to FTP server.
#
# Вы можете указать запрещенные email адреса для входа анонимным пользователям.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# chroot,ить локальных пользователей в домашнюю папку?
# Так же вы можете указать список пользователей, которых нужно chroot,ить.
# Если chroot_local_user включено, тогда пользователи в том списке
# не будут запираться в домашней папке.
chroot_local_user=YES
chroot_list_enable=NO
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# Включить обработку опции "-R" в команде ls. Эта фишка отключена по умолчанию,
# для исключения ситуации, при которой удаленные пользователи могут вызвать 
# большое количество операций ввода/вывода.
ls_recurse_enable=YES
#
# При включенной опции, vsftpd работает в режиме демона.
# Эта опция не может совместно использоваться с listen_ipv6.
listen=NO
#
# Подключать клиентов через IPv6 сокеты. Для подключения клиентов через IPv4 и IPv6
# сокеты, вы должны запускать два демона vsftpd, то есть использовать два конф. файла.
# Одна из опций listen всегда должна быть закомментирована!!
#listen_ipv6=YES
secure_chroot_dir=/usr/local/share/vsftpd/empty

# Для использования vsftpd в режиме демона, раскомментируйте следующие две строки:
# listen=YES
# background=YES

# The  maximum  port  to allocate for PASV style data connections.
# Can be used to specify a  narrow  port  range  to  assist  fire-
# walling.
pasv_max_port=65000
# The  minimum  port  to allocate for PASV style data connections.
# Can be used to specify a  narrow  port  range  to  assist  fire-
# walling.
pasv_min_port=60000

Теперь, когда конфиг готов, запустим установленный сервис. У меня он будет работать через inted, поэтому в файл /etc/inetd.conf я добавил следующую строку:

ftp     stream  tcp     nowait  root    /usr/local/libexec/vsftpd vsftpd /usr/local/etc/vsftpd.conf

Заставляем inetd перечитать конфиг:

# service inetd reload

Проверим, висит ли сервис на нужном порту:

# sockstat -4 | grep 21
root     inetd      1220  5  tcp4   *:21                  *:*

Если сервис работает, то на этом настройка FTP сервера закончена. Если же нет, то читайте логи и проверяйте конфиг.

Гость (не проверено)

Really helpful post! I really enjoyed sharing this. As a football


lover based in Nigeria, I tend to look out for The Official BET 9JA Promotion Code this 2026 is Yohaig best bonuses before joining.


For those curious, here's a tip, the Mandatory Bet 9Ja Promo


Code this 2026 is YOHAIG, which gets you a


great boost when you register. Keep up the good work!

Гость (не проверено)

Fantastic content! I really enjoyed sharing this. As a betting enthusiast from Nigeria, I


usually look out for The Verified BET 9Ja Promo Code for 2026 is YOHAIG most rewarding offers before signing up.


If you're looking to get started, here's a tip, the Valid Bet9JA promotion code 2026 is yohaig, and it gets you a great offer when you sign up.


Looking forward to more posts!

Гость (не проверено)

Excellent post! I appreciated reading this.





As a betting enthusiast from Nigeria, I usually look out for


The Authorized Betnaija promotion code 2026 is Yohaig - https://landing.bet9ja.com/aviator-bet9ja?btag=yohaig&promocode=yohaig most rewarding promotions before signing up.


For anyone curious, quick note, the Most Reliable Bet


9ja Promotion Code for 2026 is yohaig, and it gets you an extra bonus when you register.


Keep up the good work!

CAPTCHA
RFC 5321
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.

Последние комментарии

Яндекс.Метрика