VSftpd — это FTP сервер для Linux.
По словам его авторов он является безопасным, надежным и очень быстрым.
В этой статье я покажу как установить и настроить VSftpd FTP Сервер в Centos / RHEL и как добавить нового FTP пользователя.
FTP протокол не является безопасным. По возможности используйте SFTP — Secure FTP который входит в OpenSSH SSHD сервер.
Установка VSftpd Сервера
Для установки VSftpd FTP Сервера, выполним следующую команду:
На всякий случай, сделаем резервную копию конфигурационного файла ‘vsftpd.conf’:
Также установим FTP клиент, для подключения к FTP серверу:
Настройка VSftpd Сервера
Как только VSftpd сервер установился, можно перейти к базовой настройке.
Анонимный доступ к FTP разрешен по умолчанию. Установите anonymous_enable=NO для обеспечения безопасности Вашего сервера.
Откроем файл настроек:
Внесем следующие изменения:
| Опция | Описание |
|---|---|
| anonymous_enable=NO | Запрещаем анонимный доступ |
| local_enable=YES | Разрешаем доступ локальным пользователям |
| write_enable=YES | Даем пользователям FTP права на запись |
| connect_from_port_20=NO | Отключаем 20 порт, уменьшает привилегии VSftpd |
| chroot_local_user=YES | Chroot всех пользователей |
| local_umask=022 | Устанавливаем маску 022, чтобы быть уверенными в том, что для всех файлов (644) и папок (755) которые мы закачиваем, устанавливаются соответствующие права |
Смотрите мануал по vsftpd.conf, чтобы узнать обо всех опциях.
Добавление Нового FTP Пользователя
Создадим нового пользователя, назовем его ‘ftpuser’ и назначим ему домашнюю директорию ‘/var/www/path/to/your/dir’:
Установим пароль для нового пользователя:
Создайте домашнюю директорию для нового пользователя, если Вы еще этого не сделали:
Для того, чтобы разрешить пользователю читать и писать данные в его домашней директории, изменяем права доступа и владельца:
Создаем группу ‘ftpusers’ для FTP пользователей, и добавляем в нее ‘ftpuser’:
Настройка Фаервола для VSftpd
Если Вы используете IPTABLES, необходимо создать соответствующее правило для VSftpd:
Добавьте следующую строку, перед REJECT строкой, для открытия 21 порта:
Сохраните и закройте файл. Перезапустите фаервол.
Предложение от 8host.com

Предупреждение: FTP по своей сути небезопасен. Если вам необходимо использовать FTP, следует обеспечить безопасное соединение FTP с SSL/TLS.
В противном случае лучше использовать SFTP, безопасную альтернативу FTP.
Первые две буквы vsftpd расшифровываются как «very secure» («очень безопасный»), программа была написана, чтоб предоставить сильнейшую защиту от возможных уязвимостей F.
1. Установка vsftpd
Можно быстро установить vsftpd на виртуальный выделенный сервер в командной строке:
sudo yum install vsftpd
Также нужно установить клиента FTP, чтоб подключаться к FTP-серверу:
sudo yum install ftp
Когда файлы будут загружены, vsftpd установится на VPS. Как правило, он уже настроен до разумного уровня безопасности. Тем не мене, он дает доступ анонимным пользователям.
2. Настройка VSFTP
Когда VSFTP установлен, можно изменить настройки.
Откройте конфигурационный файл:
sudo vi /etc/vsftpd/vsftpd.conf
Основное изменение, которое нужно внести – установить «No» в сроке Anonymous_enable:
Прежде vsftpd предоставлял анонимным неопознанным пользователям доступ к файлам VPS. Это полезно при необходимости широко распространить информацию, но считается серьезной проблемой безопасности в большинстве других случаев.
Затем раскомментируйте пункт local_enable, изменяя на «yes».
Далее раскомментируйте команду chroot_local_user. Когда в этой строке установлено значение «Yes», все локальные пользователи ограничиваются chroot и им отказано в доступе к другим частям сервера:
В завершение перезапустите vsftpd:
sudo service vsftpd restart
Чтобы убедиться, что vsftpd работает при загрузке, запустите chkconfig:
chkconfig vsftpd on
3. Доступ к FTP-серверу
Когда FTP-сервер установлен и настроен по вашему усмотрению, можно получить доступ к нему.
Попасть на FTP-сервер можно в браузере, введя доменное имя в адресной строке и входя с соответствующим ID. Имейте в виду, будет получен доступ только к домашнему каталогу пользователя.
Кроме того, можно попасть на FTP-сервер с помощью командной строки, набрав:
Затем можно использовать «exit», чтоб выйти из FTP-оболочки.
В этой статье рассмотрим развёртку FTP-сервера vsFTPd на установленной ОС CentOS 6.3. Перед тем, как выполнить все действия, описанные в этой статье, необходимо, чтобы была настроена сеть и желательно установлен M >
в /etc/selinux/config исправим на SELINUX=disabled
Открываем /etc/vsftpd/vsftpd.conf и раскомментируем строку:
Добавим пару пользователей, например ftpuser1 и ftpuser2 и запаролим их:
Запускаем утилиту system-config-firewall-tui и отметим «звездой» пункт FTP
После этого в /etc/sysconfig/iptables проверим наличие следующих строк:
-A INPUT -m state —state NEW -m tcp -p tcp —dport 22 -j ACCEPT
-A INPUT -m state —state NEW -m tcp -p tcp —dport 21 -j ACCEPT
Включаем vsftpd в автозагрузку
Для анонимного входа в папке /home создадим папку public
chmod 755 /home/public
Открываем файл /etc/passwd и изменяем папку пользователя ftp на /home/public
Если на этой же машине поднять web-сервер, то будет целесообразно также дать доступ web мастеру сайта. Делаем это следующим образом:
Создадим пользователя webmaster и засунем его в группу apache
После этого в файле /etc/passwd где указан пользователь webmaster, исправим домашнюю папку на /var/www и оболочку на /sbin/nologin
Меняем владельца на папку /var/www:
С помощью FTP-клиента мы можем на него войти со следующими учётками:
- ftpuser1 с паролем;
- ftpuser2 с паролем;
- webmaster с паролем;
- анонимный вход (без пароля).
Первые 3 учётки поддерживают чтение и запись, последняя – только чтение.
Всё. Наш FTP-сервер готов.
Если Вам помогла статья, вы можете отблагодарить автора:
перечислить на WMR кошелёк (WebMoney): R301575071888
перечислить на Яндекс.Кошелёк: 410011003938168
или на PayPal: