Установка VSftpd — FTP сервер на CentOS

VSftpd — это FTP сервер для Linux.
В этой статье я покажу как установить и настроить VSftpd в Centos, как добавить нового FTP пользователя, а так же как настроить статические порты, для работы FTP сервера, дабы избежать ошибки при подключении «команда POST не выполнена»

Установка VSftpd Сервера
Для установки VSftpd FTP Сервера, выполним следующую команду :

yum install vsftpd

На всякий случай, сделаем резервную копию конфигурационного файла ‘vsftpd.conf’

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back

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

Откроем файл настроек : /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) которые мы закачиваем, устанавливаются соответствующие права

Многие сервисы имеют стандартные порты для работы. Например SSH работает на 22 порту, а Apache на 80. Такие сервисы очень просто записать в правила firewall, а что делать с сервисом VSFTPd, который кроме статических портов 20 и 21 для управления использует динамические номера портов для обмена данными? Указываем порты, которые сможет использовать VSftpd:
pasv_min_port = 1500
pasv_max_port = 1505

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

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

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

/etc/sysconfig/iptables
Добавьте следующие строки в OUTPUT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1500:1505 -j ACCEPT

Перезапускаем iptables
/etc/init.d/iptables restart

Настраиваем сервис VSftpd на Запуск
chkconfig --levels 235 vsftpd on

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

Ещё, если у вас установлен SELinux, он может блокировать запись файлов, в клиенте будет появляться ошибка 553.

Решение тут простое, либо отключить SELinux, либо его настроить. Мне помогла команда:

setsebool -P ftp_home_dir on

На этом установка закончена)

Запись опубликована в рубрике CentOS, Софт с метками , , , , . Добавьте в закладки постоянную ссылку.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *