由于pam没有直接支持mysql,因此需要手动编译安装连接mysql的驱动pam_mysql,因此就需要准备编译环境。

    (1)yum -y groupinstall "Dedelopment Tools" "Server Platform Development"

         yum -y install mysql-server mysql-devel pam-devel openssl-devel

    (2)解压pam_mysql然后进入解压后目录

         ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security

         make && make install

    (3)启动mysql服务器

         service mysqld start

    (4)创建数据库和表

         wKioL1ceFdDh3dD0AAAnojrwdrs775.png   

    (5)添加两个用户和密码到users这个表中

         wKiom1ceFgzgJ3wuAAA3cjLhBU8927.png

     (6)授权能远程连接此mysql服务器的用户和密码。

         wKioL1ceF1bQ_i9QAAAZ20XyLMc748.png

     (7)在/etc/pam.d目录下创建文件vsftpd.mysql并写入

         wKioL1ceHazj5M1mAAAhYZbP8Zo336.png

     (8)打开vsftpd的主配置文件/etc/vsftpd/vsftpd.conf添加

         wKioL1ceHjSzT56kAAARdE1YQpQ079.png

     (9)添加用户vsftpd指定其家目录并修改目录权限为777

         useradd -s /sbin/nologin -d /vsftpdroot

         chmod 777 /vsftpdroot

     (10)启动vsftpd服务并测试

         wKioL1ceH0HQJAajAAA032GX7Xw118.png

     (11)对user1和user2上传文件单独授权其中user1可以上传,user2不能上传

        创建目录 mkdir /etc/vsftpd/vsftpd.conf.d

        在此目录下创建user1,user2文件 touch /etc/vsftpd/vsftpd.conf.d/{user1,user2}

        分别在user1文件中加上anon_upload_enable=YES,在user2文件中加上anon_upload_enable=NO

      (12)在vsftpd主配置文件vsftpd.conf文件中加上user_config_dir=/etc/vsftpd/vsftpd.conf.d

       (13)测试

         wKiom1ceIdLjyAJ7AABI9GnHqFc655.png