使用 mysql 数据文件创建 vsftpd 虚拟用户

[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命令解压后,进行编译?在编译前需要安装以下软件包?

你可能感兴趣的:(vsftpd,虚拟用户创建)