{{description>Описание установки и настройки FTP-сервера vsftpd}} ====== Установка и настройка FTP-сервера vsftpd ====== [[ http://wiki.mihanik.net/doku.php?id=операционные_системы:linux:работа_с_сетью:ftp:установка_и_настройка_ftp_сервера_vsftpd&do=export_pdf | Экспорт в PDF ]] ~~ODT~~ Дата создания: 2025/06/19 05:46 (C) mihanik {{ :операционные_системы:linux:работа_с_сетью:ftp:cai-dat-ftp-server-vsftpd-tren-centos.jpg?nolink&400 |}} ===== Дано. ===== Сервер под управлением ОС Linux семейства Red Hat ===== Надо. ===== Чтобы сервер выполнял роль FTP-сервера. ===== Решение. ===== Договоримся, что в качестве FTP-сервера будем использовать **vsftpd**. ==== Установка vsftpd. ==== yum -y install vsftpd Я очень часто использую **epel-репозиторий**, поэтому всегда его сначала устанавливаю. \\ yum install -y epel-release ==== Добавим в сетевой экран разрешения для подключения по протоколу FTP. ==== Порты с 40000 по 50000 будут использоваться для пассивных подключений.\\ Подробности [[https://ru.wikipedia.org/wiki/FTP|ТУТ.]] firewall-cmd --add-service=ftp --permanent firewall-cmd --add-port=40000-50000/tcp --permanent firewall-cmd --reload ==== Настройка FTP-сервера. ==== Сначала делаем резервную копию файла с настройками. cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig Открываем файл с настройками и начинаем его редактировать mcedit /etc/vsftpd/vsftpd.conf Внутри файла меняем настройки Если хотим отключить анонимный доступ, то меняем anonymous_enable=YES на anonymous_enable=NO Также раскоментируем chroot_local_user=YES И сразу после этой строки добавляем allow_writeable_chroot=YES Причина добавления строки описана тут: [[http://agapoff.name/vsftpd-oops.html]] И в самый конец конфигурационного файла добавляем настройки подключения для пассивного режима и анонимных пользователей. ########################################################################### # # Point users at the directory we created earlier. anon_root=/mnt/ftp/pub/ # # Stop prompting for a password on the command line. no_anon_password=YES # # Show the user and group as ftp:ftp, regardless of the owner. hide_ids=YES # # Limit the range of ports that can be used for passive FTP pasv_min_port=40000 pasv_max_port=50000 **Важно!** \\ Папка предназначенная для анонимных пользователей (**anon_root**) должна иметь разрешения **755**, иначе при попытке получить доступ к этой папке по FTP можно получить ошибку вида: "vsftpd: refusing to run with writable anonymous root" Напомню, что поменять разрешения на папку можно командой: chmod 755 /<путь_к_папке> ==== Включаем и запускаем vsftpd ==== systemctl enable vsftpd.service systemctl start vsftpd.service ==== Готово. ==== Теперь каждый пользователь сервера сможет получать доступ к своей домашней папке по протоколу FTP. [[#top|⇑ Наверх ⇑]]