CentOS6.4下vsftpd使用MySQL验证

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
运维安全中心(堡垒机),企业双擎版 50资产 7天
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

一.MySQL的安装与配置

1.使用yum方式安装MySQL

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


2.启动MySQL服务并修改MySQL管理员密码

[root@vsftpd ~]# service mysqld start   //启动mysql服务器


[root@vsftpd ~]# mysqladmin -u root password vsftpd  //修改MySQL root的密码为vsftpd


3.创建MySQL为vsftpd验证的数据库与表

[root@vsftpd ~]# mysql -u root -p
Enter password:    //此处输入vsftpd为刚刚为MySQL设置的管理员密码


mysql> create database vsftpd;  //创建一个vsftpd的数据库
Query OK, 1 row affected (0.00 sec)


mysql> use vsftpd;     //进入vsftpd数据库


mysql> create table users ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name CHAR(15) NOT NULL UNIQUE KEY,password CHAR(48) NOT NULL );

//创建一个3个栏位的users表,一个id用于索引,name用于账户名,password用户设置密码


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

//添加一个web账户,密码为web,并加密存储密码,此账户是为了等下登录FTP服务器用


4.创建一个vsftpd的MySQL账户用于检索vsftpd数据库

mysql> grant select on vsftpd.* to vsftpd@localhost identified by 'vsftpd';
//创建一个只有select vsftpd数据库下所有表的权限的MySQL账户并将密码设为vsftpd

mysql> flush privileges;

//只为使权限即时生效


二.安装并配置PAM模块

1.安装依赖库

[root@vsftpd ~]# yum -y install gcc gcc-c++ make pam pam-devel openssl openssl-devel


2.下载并安装pam_mysql

[root@vsftpd ~]# wget http://nchc.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz

[root@vsftpd ~]# tar zxvf pam_mysql-0.7RC1.tar.gz

[root@vsftpd ~]# cd pam_mysql-0.7RC1

[root@vsftpd pam_mysql-0.7RC1]# ./configure --with-openssl
[root@vsftpd pam_mysql-0.7RC1]# make

[root@vsftpd pam_mysql-0.7RC1]# make install


pam文件默认安装到/lib 目录下,若系统为64位系统,需要将文件复制一份到/lib64 目录下

[root@vsftpd ~]# cp /lib/security/pam_mysql.* /lib64/security/


3.创建认证文件

[root@vsftpd ~]# vim /etc/pam.d/ftp.mysql

auth required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

注意:这里是2行,不可以换行.另外还要注意里面相应栏位的填写。

特别说明下crypt选项

crypt=0:明文密码
crypt=1:使用 crpyt()函数(对应 SQL 数据里的 encrypt(),encrypt()随机产生 salt)
crypt=2:使用 MYSQL 中的 password()函数加密

crypt=3:表示使用 md5 的散列方式


三.vsftpd的安装与设置

1.使用yum方式安装vsftpd

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

2.备份vsftpd的配置文件

[root@vsftpd ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
3.修改vsftpd.conf

将anonymous_enable选项改为anonymous_enable=NO

将pam_service_name选项改为pam_service_name=ftp.mysql   //这里更改为上面创建的认证文件名


并添加如下:

virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/var/ftp/$USER
guest_enable=YES
guest_username=vsftpdguest
chroot_local_user=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf

4.创建一个vsftpdguest账户

[root@vsftpd ~]# useradd -s /sbin/nologin -d /var/ftp vsftpdguest
5.在/etc/vsftpd/下面创建一个vsftpd_user_conf目录

[root@vsftpd ~]# mkdir /etc/vsftpd/vsftpd_user_conf

[root@vsftpd ~]# chown -R vsftpdguest:vsftpdguest /var/ftp


6.将MySQL服务器及vsftpd服务器开机启动


[root@vsftpd ~]# chkconfig  --level 35 mysqld on

[root@vsftpd ~]# chkconfig  --level 35 vsftpd on




本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1230935

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
29天前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
322 16
|
2月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
216 10
|
6月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1543 26
|
7月前
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
9月前
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
857 16
|
11月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
565 3
|
11月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
474 2
|
1月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
76 3
|
1月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
27天前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。