Установку можно производить из репозитория:
yum install vsftpd
Далее следует определиться, какая нужна аутентификация, как аноним или от пользователя системы, естественно, лучше анонима сразу зарезать в конфиге, но об этом чуть позже.
После установки создаем нового пользователя и определяем ему пароль.
useradd ftpuser
passwd ftpuser
Заходим в файл /etc/passwd
Находим созданного пользователя, запрещаем ему SSH-доступ (/sbin/nologin) и определяем папку для доступа (/home/www):
ftpuser:x:500:101:My own FTP-user:/home/www:/sbin/nologin
Далее, смотрим какой группе принадлежит пользователь, подсовываем юзеру нужную группу, в вышеописанном примере это группа с номером 101 (ИН пользователя 500).
cat /etc/group
В данном случае ИН группы nginx – 101:
...
sshd:x:74:
nginx:x:101:
apache:x:48:
...
После выставляем папке права для пользователя и группы:
chown fptuser:nginx /home/www
И лезем в конфиг, тут запрещаем анониму доступ:
# Запрещаем анонимам доступ к FTP
anonymous_enable=NO
# Позволяем локальным пользователям системы доступ к FTP
local_enable=YES
# Даем возможность для записи файлов
write_enable=YES
# Запрещаем заливать любое файло анониму
anon_upload_enable=NO
# Запрещаем создавать папки анониму
anon_mkdir_write_enable=NO
Далее, нужно раскомментировать следующие параметры:
# Активируем сообщения директорий, когда пользователь переходит в определенную директорию
dirmessage_enable=YES
# Активируем логгирование закачки/скачки файлов
xferlog_enable=YES
# Переназначаем директорию, для логов, если необходимо
xferlog_file=/var/log/vsftpd.log
# Окно приветствия, при входе на FTP
ftpd_banner=Welcome to my own FTP service.
# Следующий параметр chroot'ит залогиненных пользователей, т.е. не дает им выходить за пределы своей рабочей директории
chroot_local_user=YES
# Разрешаем слушать запросы поступаемые по IPv4-сокетам в постоянном режиме
listen=YES
# Данный параметр включает поддержку пассивного режима
pasv_enable=YES
# Если необходимо открыть порты, строго определенного диапазона, используйте следующие параметры:
pasv_min_port=30000
pasv_max_port=40000
port_enable=yes
И главный момент, который необходимо добавить, чтобы разрешить локальным пользователям системы доступ к FTP (не означенный в конфиге по умолчанию):
# Разрешаем использование юзерлиста, в котором определяем пользователей системы, которым в любом случае(!) запрещать доступ к FTP
userlist_enable=YES
# Это и есть список, который определяет недопустимых пользователей
userlist_file=/etc/vsftpd/user_list
Добавляем vsFTPd в автозагрузку и рестартим его.
chkconfig vsftpd on
service vsftpd restart
Мы обязательно рассмотрим вашу заявку!