CentOS6.4下vsftpd使用MySQL验证

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
关系型数据库 MySQL Unix
linux优化空间&完全卸载mysql——centos7.9
linux优化空间&完全卸载mysql——centos7.9
52 7
|
17天前
|
Linux 网络安全 开发工具
Centos6.5搭建一个简单的vsftpd服务
在CentOS 6.5上配置vsftpd服务器:确保与Win10能互通,更新yum源,安装vsftpd,编辑配置文件禁用匿名访问,重启服务并关闭防火墙。创建新用户和密码,通过FTP在Win10文件管理器中使用实验机IP访问,用创建的用户和密码登录,成功创建远程文件夹,实验机上可见。
27 2
|
1天前
|
关系型数据库 MySQL Linux
本地虚拟机centos7通过docker安装主从mysql5.7.21
本地虚拟机centos7通过docker安装主从mysql5.7.21
|
2天前
|
关系型数据库 MySQL Linux
在Centos7中:通过Docker安装MySQL5.7(保姆级)
在Centos7中:通过Docker安装MySQL5.7(保姆级)
|
2天前
|
关系型数据库 MySQL Shell
在Centos7中利用Shell脚本:实现MySQL的数据备份
在Centos7中利用Shell脚本:实现MySQL的数据备份
|
3天前
|
SQL 关系型数据库 MySQL
这篇文章带你了解:如何一次性将Centos中Mysql的数据快速导出!!!
这篇文章带你了解:如何一次性将Centos中Mysql的数据快速导出!!!
|
4天前
|
安全 关系型数据库 MySQL
CentOS 7系统加固详细方案SSH FTP MYSQL加固
CentOS 7系统加固详细方案SSH FTP MYSQL加固
|
4天前
|
关系型数据库 MySQL Linux
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
|
11天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
37 2
|
13天前
|
安全 关系型数据库 MySQL

热门文章

最新文章