周一的时候做这个实验失败了,当时以为是pam_MySQL模块的问题,今天晚上随便试试,没想到竟然成功了,遂写一篇博客来分享一下
实验拓扑 实验环境 主机 IP 作用server1.anyisalin.com 172.16.1.2 提供ftp服务
server2.anyisalin.com 172.16.1.3 使用存储vsftpd虚拟用户
注意:本实验所有操作都在SElinux和iptables关闭的前提下进行
实验步骤 安装vsftpd并测试以下操作在server1.anyisalin.com执行
[root@server1 ~]# yum install vsftpd -y --nogpgcheck| tail -n 10 #安装vsftpdRunning Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vsftpd-2.2.2-14.el6.x86_64 1/1
Verifying : vsftpd-2.2.2-14.el6.x86_64 1/1
Installed:
vsftpd.x86_64 0:2.2.2-14.el6
Complete!
[root@server1 ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@server1 ~]# yum install -y lftp --nogpgcheck &> /dev/null
[root@server1 ~]# lftp localhost #vsftpd能够正常运行
lftp localhost:~> ls
drwxr-xr-x 2 0 0 4096 Jul 24 2015 pub
安装MySQL并创建对应用户和表
以下操作在server2.anyisalin.com执行
[root@server2 ~]# yum install mysql-server -y --nogpgcheck &> /dev/null #安装MySQL数据库[root@server2 ~]# service mysqld start #启动MySQL数据库
[root@server2 ~]# mysql_secure_installation #初始化安装MySQL数据库,否则后面登录可能会有问题
创建用户并授权,创建对应数据库和表并插入两行数据
[root@server2 ~]# mysql -uroot -ppasswd #连接MySQLmysql>mysql> GRANT ALL ON vsftpd.* TO vsftpd@'%' IDENTIFIED BY 'passwd'; #授予用户权限
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE DATABASE vsftpd; #创建数据库
Query OK, 1 row affected (0.00 sec)
mysql> use vsftpd; #指定默认数据库
Database changed
mysql> create table users ( #创建表
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> password char(48) binary NOT NULL,
-> primary key(id)
-> );
Query OK, 0 rows affected (0.01 sec)
mysql> insert into users(name,password) values('tom',password('magedu')); #插入行,用户为tom
Query OK, 1 row affected (0.00 sec)
mysql> insert into users(name,password) values('anyisalin',password('anyisalin')); #插入行,用户为anyisalin
Query OK, 1 row affected (0.00 sec)
mysql> FLUSH PRIVILEGES; #刷新权限
Query OK, 0 rows affected (0.00 sec)
配置vsftpd基于MySQL表的虚拟用户
以下操作在server1.anyisalin.com执行