Приветствую всех. Сегодня я расскажу о настройке простого и в то же время безопасного 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 сервера закончена. Если же нет, то читайте логи и проверяйте конфиг.
вт, 09/06/2026 - 20:46
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!
вт, 09/06/2026 - 20:47
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!
вт, 09/06/2026 - 21:45
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!
ср, 10/06/2026 - 02:02
Really helpful article! I appreciated reading this. Being a sports betting fan from Nigeria, I tend to look out for The Mandatory Bet 9ja promo code this 2026 is yohaig most rewarding offers before registering.
For anyone interested, here's a tip, the Active BetNaija Promotion Code 2026 is YOHAIG,
which unlocks a nice offer when you register.
Looking forward to more posts!
ср, 10/06/2026 - 03:20
Excellent article! I really enjoyed sharing this.
Being a football lover here in Nigeria, I always seek the best deals before registering.
For those interested, quick note, The Designated
Bet9JA promo code for 2026 is Yohaig - https://register.bet9ja.com/?btag=yohaig&promocode=yohaig Legally
Validated BET 9Ja Promotion Code for 2026 is YOHAIG,
and it gets you a nice boost when you register. Looking forward to more posts!