vsFTPd (very secure FTP daemon)
FTP сервер vsftpd (Very Secure FTP daemon) является одним из надежнейших и простых в настройке ftp-серверов. Это оптимальный выбор для большинства пользователей, которым нужен качественный и надежный FTP-сервер. Данный пример описывает процесс пошаговой установки FTP-сервера с аутентификацией по конкретному системному пользователю, с запретом анонимного доступа.
Установку можно производить из репы, смысла собирать из исходников я не вижу, если тока нужна какая-то конкретная версия.
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