[root@jock ~]#  useradd -s /sbin/nologin vuser  

修改/etc/vsfptd/vsftp.conf,增加以下内容

guest_enable=YES

guest_username=vuser  

安装MySQL及相关软件包

[root@jock ~]#  yum install mysql 

#:yum install mysql-server 
#:yum install mysql-devel
#:chgrp -R mysql /var/lib/mysql
#:chmod -R 770 /var/lib/mysql
#:service mysqld start 

 

  1. root@polo ]  
  2. # mysql -u root mysql -pmysql>create database ftpvuser;     
  3. #建立用户数据库  
  4. mysql>use ftpvuser;   
  5. #打开数据库  
  6. mysql>create table users(name char(16) binary,passwd char(16) binary);    
  7. #建立存取用户信息表  
  8. #插入二个用户及口令  
  9. mysql>insert into users (name,passwd) values ('tonyzhang',password('111'));  
  10. mysql>insert into users (name,passwd) values ('tomqin',password('111'));  

  11.  
    • 授权vuser可以读ftpvuser数据库的users表?

yum -y install gcc.i*yum -y install gcc-c++.i*yum -y install pam-devel.i*  

安装完成后就可以进行编译?

 
  
  1. ./configuremakemake install  

编辑完成后可查看/lib/security目录下是否已有对应pam模块(如下图)?

查看/lib/security目录下是否已有对应pam模块

修改pam认证文件/etc/pam.d/vsftpd,将原有内容注释?

auth required pam_mysql.so user=vuser passwd=123 host=localhost db=ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2account required pam_mysql.so user= vuser passwd=123 host=localhost db= ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2

上述二种虚拟用户配置完成后,在通过以下步骤可针对每个虚拟用户指定不同的配置文件?

1?修改/etc/vsfptd/vsftp.conf

 
  
  1. user_config_dir=/etc/vsftpd/vuserconf 

2?在/etc/vsfptd/vsftp.vuserconf目录下,以每个虚拟用户的用户名为名称建立配置文件即可?

  1. [root@polo ]  
  2. #mysql -u root mysql -p mysql>grant select on ftpvuser.users to vuser@localhost identified by '123';   
  3. mysql>quit  

 

在上述授权完成后,可通过下图方法验证授权是否成功?


 

编译MySQL的PAM认证模块?

首先需要下载(http://sourceforge.net/projects/pam-mysql)MySQL的PAM认证模块源码,使用tar命令解压后,进行编译?在编译前需要安装以下软件包?