Нашел в сети следующий алгоритм по установке vsftpd (база пользователей mysql) на CentOS :
1) Установим сервиса vsftd
yum install vsftpd2) Установим фтп клиента
yum install ftp3) Запустим сервис
service vsftpd start4) Добавим правило в iptables
-A INPUT -i eth0 -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT 5) Сохраним первоначальный конфиг vsftpd (на всякий случай)
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.original6) Установим pam-mysql. В стандартных репозиториях его нет.
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/pam_mysql-0.7-0.12.rc1.el6.x86_64.rpm yum localinstall pam_mysql-0.7-0.12.rc1.el6.x86_64.rpm7) Установим mysql 5.5. Тоже нет в стандартных репозиториях его нет.
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpmyum install mysql.`uname -i` yum-plugin-replaceyum replace mysql --replace-with mysql55yum install mysql55 mysql55-server8 ) Запустим mysql
service mysqld start9) Настроим mysql
/usr/bin/mysql_secure_installationset root password — vsftpd
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
… Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
… Success!
By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
… Success!10) Создадим базу данных
mysql -uroot -pvsftpdCREATE DATABASE FTP;
USE FTP;
CREATE TABLE LOGINS(ftp_user VARCHAR(20), passwd VARCHAR(20));
INSERT INTO LOGINS(ftp_user,passwd) VALUES ('IVAN','123');
INSERT INTO LOGINS(ftp_user,passwd) VALUES ('test','test');11) Создадим директори для пользователей
mkdir /var/ftp/IVAN; chown ftp:ftp /var/ftp/IVAN
mkdir /var/ftp/test; chown ftp:ftp /var/ftp/test12) PAM файл /etc/pam.d/vsftpd_mysql
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_mysql.so user=root passwd=vsftpd host=localhost db=FTP table=LOGINS usercolumn=ftp_user passwdcolumn=passwd crypt=0
account required pam_mysql.so user=root passwd=vsftpd host=localhost db=FTP table=LOGINS usercolumn=ftp_user passwdcolumn=passwd crypt=013) Конфигурируем /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
no_anon_password=YES
file_open_mode=0777
chmod_enable=YES
anon_umask=022
anon_other_write_enable=YES
hide_ids=YES
anon_root=/var/ftp/
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftp
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd_mysql
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=65000
pasv_max_port=65000
guest_enable=YES
guest_username=ftp
local_root=/var/ftp/$USER
user_sub_token=$USER
local_enable=yes
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf14) Перезапустим vsftpd
service vsftpd restartПопытка подключения :
[root@localhost ~]# ftp 192.168.0.70
Connected to 192.168.0.70 (192.168.0.70).
220 (vsFTPd 2.2.2)
Name (192.168.0.70:root): IVAN
331 Please specify the password.
Password: // ввожу 123
530 Login incorrect.
Login failed.
ftp>Объясните, почему не работает алгоритм? Какая версия mysql и pam_mysql должна быть?

рад за вас