Установка VSftpd FTP Сервера на CentOS/RHEL

VSftpd — это FTP сервер для Linux.

По словам его авторов он является безопасным, надежным и очень быстрым.

В этой статье я покажу как установить и настроить VSftpd FTP Сервер в Centos / RHEL и как добавить нового FTP пользователя.

FTP протокол не является безопасным. По возможности используйте SFTP — Secure FTP который входит в OpenSSH SSHD сервер.

Установка VSftpd Сервера

Для установки VSftpd FTP Сервера, выполним следующую команду :
yum install vsftpd
На всякий случай, сделаем резервную копию конфигурационного файла ‘vsftpd.conf’ :
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back
Также установим FTP клиент, для подключения к FTP серверу :
yum install ftp

Настройка VSftpd Сервера

Как только VSftpd сервер установился, можно перейти к базовой настройке.
Анонимный доступ к FTP разрешен по умолчанию. Установите anonymous_enable=NO для обеспечения безопасности Вашего сервера.
Откроем файл настроек :
vi /etc/vsftpd/vsftpd.conf
Внесем следующие изменения :

Опция Описание
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, чтобы узнать обо всех опциях.
man vsftpd.conf

Добавление Нового FTP Пользователя

Создадим нового пользователя, назовем его ‘ftpuser’ и назначим ему домашнюю директорию ‘/var/www/path/to/your/dir’ :
useradd -d ‘/var/www/path/to/your/dir’ -s /sbin/nologin ftpuser
Установим пароль для нового пользователя :
passwd ftpuser
Создайте домашнюю директорию для нового пользователя, если Вы еще этого не сделали :
mkdir -p /var/www/path/to/your/dir
Для того, чтобы разрешить пользователю читать и писать данные в его домашней директории, изменяем права доступа и владельца :
chown -R ftpuser ‘/var/www/path/to/your/dir’
chmod 775 ‘/var/www/path/to/your/dir’
Создаем группу ‘ftpusers’ для FTP пользователей, и добавляем в нее ‘ftpuser’ :
groupadd ftpusers
usermod -G ftpusers ftpuser

Настройка Фаервола для VSftpd

Если Вы используете IPTABLES, необходимо создать соответствующее правило для VSftpd :
vi /etc/sysconfig/iptables
Добавьте следующую строку, перед REJECT строкой, для открытия 21 порта :
-A INPUT -m state —state NEW -m tcp -p tcp —dport 21 -j ACCEPT
Сохраните и закройте файл. Перезапустите фаервол.
service iptables restart
Как : Отключить Фаервол Iptables в CentOS/RHEL

Настраиваем сервис VSftpd на Запуск При Загрузке Системы

chkconfig —levels 235 vsftpd on

Стартуем VSftpd FTP сервис.
service vsftpd start

Проверяем VSftpd Сервер

Проверяем FTP Server локально :
ftp localhost
Вывод :
Trying 127.0.0.1…
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
***

Проверяем FTP Server удаленно :
ftp your.ftp.server.com
Вывод :
Connected to your.ftp.server.com.
220 (vsFTPd 2.2.2)
Name (your.ftp.server.com:yourname):
Name (localhost:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
***

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