配置说明:

1、mysql服务器:CentOS6.6    192.168.1.62

2、vsftpd服务器:CentOS6.6    192.168.1.61

一、配置mysql服务器

1、安装mysql

[root@localhost ~]# yum -y install mysql-server

[root@localhost ~]# service mysqld start

[root@localhost ~]# mysql

2、准备数据库及相关表

mysql> create database vsftpd;

Query OK, 1 row affected (0.00 sec)

mysql> grant select on vsftpd.* to vsftpd@192.168.1.61 identified by '123456';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

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.08 sec)

2、添加测试用户

mysql> insert into users (name,password) values ('zhangsan',password('123456'));

Query OK, 1 row affected (0.00 sec)

mysql> insert into users (name,password) values ('lisi',password('123456'));

Query OK, 1 row affected (0.00 sec)

二、配置vsftpd

1、安装epel源

[root@localhost ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm

2、安装vsftpd服务及pam_mysql认证

[root@localhost ~]# yum -y install vsftpd pam_mysql

3、建立pam认证所需要的文件

# vim /etc/pam.d/vsftpd.mysql

auth required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.62 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

account required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.62 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

4、添加虚拟用户对应的系统用户,使其适用mysql认证

[root@localhost ~]# useradd -s /sbin/nologin -d /var/ftproot vuser

[root@localhost ~]# chmod +rx /var/ftproot/

5、修改vsftpd的配置文件

请确保/etc/vsftpd.conf中已经启用了以下选项

anonymous_enable=NO

local_enable=YES

write_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

chroot_local_user=YES

而后添加以下选项

guest_enable=YES

guest_username=vuser

并确保pam_service_name选项的值如下所示

pam_service_name=vsftpd.mysql

6、重启服务并进行验证

[root@localhost vsftpd]# service vsftpd restart

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

vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可。

1、配置vsftpd为虚拟用户使用配置文件目录

# vim vsftpd.conf

添加如下选项

user_config_dir=/etc/vsftpd/vusers_config

2、创建所需要目录,并为虚拟用户提供配置文件

# mkdir /etc/vsftpd/vusers_config/

# cd /etc/vsftpd/vusers_config/

# touch zhangsan lisi

3、配置虚拟用户的访问权限

虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让tom用户具有上传文件的权限,可以修改/etc/vsftpd/vusers_config/tom文件,在里面添加如下选项即可。

anon_upload_enable={YES|NO}

anon_mkdir_write_enable={YES|NO}

anon_other_write_enable={YES|NO}

ftp关闭mysql约束校验_使用mysql验证配置ftp服务器相关推荐

  1. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  2. mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...

    从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...

  3. mysql多大_洞悉MySQL底层架构:游走在缓冲与磁盘之间

    提起MySQL,其实网上已经有一大把教程了,为什么我还要写这篇文章呢,大概是因为网上很多网站都是比较零散,而且描述不够直观,不能系统对MySQL相关知识有一个系统的学习,导致不能形成知识体系.为此我撰 ...

  4. mysql解析运行时间_分析 MySQL 语句运行时间

    为了验证select 1 与 select 1 from tableName 与 select * from tableName的执行效率,需要测试一下各自执行的时间.于是总结一下,查看mysql语句 ...

  5. mysql 客户端 交叉编译_移植mysql到嵌入式ARM平台

    移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.ph ...

  6. 找回mysql root密码_找回MySQL的root密码

    实验介绍:MySQL的root密码丢失,无法登陆.需要重置其root密码 环境介绍:编译安装的MySQL 这篇博客介绍的找回 mysql root 密码是 mysql 基于编译安装的,如果是多实例下的 ...

  7. 安装mysql出现错误_安装Mysql时出现错误及解决办法

    因为一时手痒痒更新了一下驱动,结果导致无线网卡出了问题.然而就算是从官网上下载了驱动各种折腾也没有弄好,心里特别堵.无奈只有重装系统这一条路了.这里表示特别难过,因为电脑上东西实在太多了,而且各种环境 ...

  8. 与mysql的零距离接触_与MySQL的零距离接触

    第1章 初涉MySQL 1-1 MySQL概述 (01:54) 1-2 MySQL的安装与配置 (15:13) 1-3 启动与停止MySQL服务 (02:41) 1-4 登录与退出 (05:48) 1 ...

  9. datax导入MySQL报错_导入MySQL方法对比

    使用datax导入 1.使用自增id 记录数 耗时(秒) TPS 4248882 347 12244 33404813 4038 8272 2.不使用自增id,使用雪花算法生成id后导入 记录数 耗时 ...

  10. mysql日志管理_关于MySQL的日志管理(binlog)

    关于MySQL的日志管理(binlog) 一.查看binlog的启用状态 最常用的mysql版本是5.7,默认不开启binlog,可以在登录mysql之后,利用以下命令查看当前的binlog启用状态: ...

最新文章

  1. 网络通信基础知识普及篇
  2. java url 根域名_php中取得URL的根域名的代码
  3. golang new make 区别
  4. iOS 代码实现获得应用的版本号(Version/Build)
  5. Linux命令 - watch
  6. UVa-10820 Send a Table 欧拉函数
  7. OpenCV示例学习(七):离散傅里变换(DFT)算子:getOptimalDFTSize(),copyMakeBorder(),magnitude(),log(),normalize()
  8. filename: core/loader.php,使用第三方包后出现的这个错误,你们都遇到过吗?
  9. android os5.0 优点,Funtouch OS升级5.0 性能大幅提升
  10. 一个用php抓取网页中电子邮箱的实例
  11. 区块链的有趣应用:买彩票、云养鸡、查茅台
  12. vue设置列表数据添加
  13. 多线程(一):初识多线程
  14. java string 去掉两边的引号_编写一个简单的java程序
  15. 【BZOJ 1053】反素数【素数基本知识】
  16. 运营人员消消气,这个工具让数据分析轻松驾驭
  17. 〖工具〗Ladon 8.4 Cobalt Strike插件发布
  18. 【.Net码农】Stream 和 byte[] 之间的转换
  19. css原地颠倒 h5_H5案例分享:CSS3 reflect倒影
  20. 大地测量的基准面和基准线

热门文章

  1. ElasticSearch插件安装---Head ,Kopf与Bigdesk
  2. 《运维工程师成长之路》一2.2 小结
  3. Mysql查询结果导出为Excel的几种方法
  4. 《机电传动大作业》笔记一
  5. ubuntu 14.04 root破解
  6. 踩坑日记(二):记一次线上业务—Redis 的缓存雪崩
  7. 运行Django,Python崩溃
  8. Layer表格汇总(所有)数据根据配置动态显示
  9. Mysql 忘记密码怎么办(win10)
  10. Layui 表格table 第一次加载动态设置列