安装环境:

centos 6.6 X86_64

一、简介

VSFTPD:very secure FTP daemon 非常安全的FTP进程,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字,可以运行在诸如linux、BSD、solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其它传统FTP服务器不支持的良好特性。

二、VSFTPD安装与配置文件

  #yum -y install vsftpd   #安装

  #rpm -ql vsftpd | less   #查看安装后文件

  #cd /etc/vsftpd    

  #cp vsftpd.conf{,.bak}   #备份

用户认证配置文件:/etc/pam.d/vsftpd

服务脚本:/etc/rc.d/init.d/vsftpd

配置文件目录:/etc/vsftpd

    主配置文件:vsftpd.conf

三、安装mysql和pam_mysql

1、安装相应软件

 

#yum -y install vsftpd mysql-server mysql-devel pam_mysql

2、安装mysql

#mysql
>CREATE DATABASE vsftpd;
>use vsftpd;
>GRANT SELECT ON vsftpd.* TO vsftp@'172.16.%.%' INDENTIFIED BY ''mageedu;
>FLUSH PRIVILEGES
#mysql -u vsftp -h 172.16.200.22 #远程连接测试
>CREATE TABLE users (   #创建表
-->id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
-->name VARCHAR(50) BINARY NOT NULL,
-->password CHAR(48) BINARY NOT NULL );
>DESC users;
>INSERT INTO users (name,password) VALUES ('tom',password('mageedu')),('jerry',password('mageedu.com'));   创建用户
>SELECT * FROM users;  #查看用户

3、配置认证文件

#vim /etc/pam.d/vsftpd.mysql
auth required /lib64/security pam_mysql.so user=vsftp password=mageedu host=172.16.200.7 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2  #认证用户及密码
 account required /lib64/security pam_mysql.so user=vsftp passwod=mageedu host=172.16.200.7 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2  #验证用户是否过期

4、配置文件

 #useradd -s /sbin/nologin -d /var/ftproot vuser
 #chmod go+rx /var/ftproot  #让其它用户读执行权
 #vim /etc/vsftpd/vsftpd.conf  #修改以下信息
 anonymous_enable=YES
 local_enable=YES
 write_enable=YES
 anon_upload_enable=NO
 anon_mkdir_write_enable=NO
 chroot_local_user=YES
 虚拟用户选项:
 pam_service_name=vsftpd.mysql
 guest_enable=YES
 guest_username=vuser
 #service vsftpd restart
 #tail /var/log/messages

5、 配置虚拟用户有不同的访问权限

 #vim vsftpd.conf
 user_config_dir=/etc/vsftpd/vusers_config
 #mkdir /etc/vsftpd/vusers_config
 #cd /etc/vsftpd/vusers_config
 #touch tom
 #vim tom
 anon_upload_enable=YES
 anon_mkdir_enable=YES
 anon_other_write_enable=YES
 #cp tom jerry
 #vim jerry
 anon_upload_enable=NO
 anon_mkdir_enable=NO
 anon_other_write_enable=NO
 #service vsftpd restart