资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

整合vsftp+pam+mysql—集中管理ftp的虚拟帐号

整合vsftp+pam+MySQL—集中管理ftp的虚拟帐号

创新互联公司是一家专注于网站设计、网站建设与策划设计,上党网站建设哪家好?创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:上党等地区。上党做网站价格咨询:13518219792

首先简单介绍下基本原理:

vsftp的用户有三种类型,分别是匿名用户、系统用户、虚拟用户

某种意义上来说,匿名用户也是系统用户,只系统用户的一个映射。而公开的ftp(比如虚拟主机),都不会使用系统用户作为ftp的帐号,而更多的采用了虚拟用户,这样能保证系统的安全性

使用虚拟帐号,也就需要一个存放虚拟帐号的容器,可以是一个文本列表,也可以是活动目录,而更多的是使用数据库来存放

在vsftp中,无论系统用户还是虚拟用户,都是使用pam作为用户验证手段的,而在pam中默认是不支持mysql模块的,所以要手动编译安装mysql模块

整体思路是这样的:

以pam为用户认证的中间层调用和验证mysql中的虚拟用户数据。在vsftp中开启虚拟用户认证,认证方法调用pam中的mysql认证和授权模块,将虚拟用户存放于mysql中。

step1:

首先安装vsftp和mysql

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

在PAM中默认是没有mysql认证模块的,所以要下载源码自己手动安装

[root@localhost ~]# tar -xf pam_mysql-0.7RC1.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/pam_mysql-0.7RC1

[root@localhost pam_mysql-0.7RC1]# ./configure --with-mysql=/usr/bin/mysql_config

[root@localhost pam_mysql-0.7RC1]# make && make install

 

step2:

安装好后启动mysql

[root@localhost ~]# service mysqld start

[root@localhost ~]# mysql -uroot -p

首先先创建vsftp的数据库

mysql> CREATE DATABASE vsftpd;

然后创建一个用户表


mysql> use vsftpd

mysql> create table users (

-> id int AUTO_INCREMENT NOT NULL,

-> name char(20) NOT NULL UNIQUE KEY,

-> passwd char(48) NOT NULL,

-> primary key(id)

-> );


添加vsftpd的数据库帐号


mysql> insert into users(name,passwd) values('lustlost',password('123456')); \

然后创建vsftpd的数据库账户,为了安全,只授予查询权限

mysql> GRANT select on vsftpd.* to vsftpd@localhost identified by '123456'

mysql> GRANT select on vsftpd.* to vsftpd@127.0.0.1 identified by '123456' ;


文章名称:整合vsftp+pam+mysql—集中管理ftp的虚拟帐号
文章出自:http://www.cdkjz.cn/article/poeopc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220