vsftpd pam mysql_vsftpd+mysql+pam实现基于数据库的安全的ftp服务
1.方案分析
mysql:存储用户信息的,可以放vsftpd用户的信息
pam:可插入用户认证模块
VSFTPD:安全的ftp服务
2涉及到的知识点:
vsftp
软件安装.启动服务,监听端口,配置文件修改,权限设置
mysql
数据库基本操作.建库,简表,添加用户,添加授权
pam
PAM的设置
3配置实例
配置要点:
1.vsftp的配置文件相关选项的修改
/etc/vsftp/vsftpd.conf
2.pam配置文件的配置
/etc/pam/vsftpd
3.mysql用户的建立支持vsftpd来调用
建立数据库,授权给vsftpd用户
一、安装所需要程序
1、安装mysql和pam_mysql
# yum -y install vsftpd mysql-server mysql-devel pam_mysql
二、创建虚拟用户账号
1.准备数据库及相关表
首先请确保mysql服务已经正常启动。而后,按需要建立存储虚拟用户的数据库即可,这里将其创建为vsftpd数据库。
mysql> create database vsftpd;
mysql> grant select on vsftpd.* to vsftpd@localhost identified by '123';
mysql> grant select on vsftpd.* to vsftpd@127.0.0.1 identified by '123';
mysql> flush privileges;
mysql> use vsftpd;
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)
-> );
2、添加测试的虚拟用户
根据需要添加所需要的用户,需要说明的是,这里将其密码为了安全起见应该使用PASSWORD函数加密后存储。
mysql> insert into users(name,password) values('tom',password('abc'));
mysql> insert into users(name,password) values('jerry',password('abc'));
三、配置vsftpd
1.建立pam认证所需文件
#vi /etc/pam.d/vsftpd.mysql
添加如下两行
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
注意:由于mysql的安装方式不同,pam_mysql.so基于unix sock连接mysql服务器时可能会出问题,此时,建议授权一个可远程连接的mysql并访问vsftpd数据库的用户。
2.修改vsftpd的配置文件,使其适应mysql认证
建立虚拟用户映射的系统用户及对应的目录
# useradd -s /sbin/nologin -d /var/ftproot vuser
# chmod go+rx /var/ftproot
请确保/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
四、启动vsftpd服务
# service vsftpd start
# chkconfig vsftpd on
查看端口开启情况
# netstat -tnlp |grep :21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 23286/vsftpd
使用虚拟用户登录,验正配置结果,以下为本机的命令方式测试,你也可以在其它Win Box上用IE或者FTP客户端工具登录验正
# ftp 1.1.1.6
vsftpd pam mysql_vsftpd+mysql+pam实现基于数据库的安全的ftp服务相关推荐
- freemarker mysql 生成bean_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.6.6版)...
TableGo_20191026 v6.6.6 正式发布,此次版本更新如下: 1.新增通过自定义模板生成Word文档的功能,可以使用FreeMarker模板生成自定义格式的数据库文档. 2.新增 Sw ...
- 基于Java实现的一个FTP服务
资源下载地址:https://download.csdn.net/download/sheziqiong/85706472 资源下载地址:https://download.csdn.net/downl ...
- ftp服务----基于虚拟用户的创建
虚拟用户是只创建一个系统账号将所有FTP账号映射到该用户访问FTP时使用的,需要为FTP传输服务单独建立用户数据库文件,这些帐号是在服务器系统中不存在的.虚拟的账号不直接使用系统账号安全性高,本地用户 ...
- Ubuntu 16.04安装vsftpd 并开启ftp服务
sudo apt-get install vsftpd ftp的配置文件在 /etc/vsftpd.conf 可以使用下列命令来打开,关闭,重启ftp服务 sudo /etc/init.d/vsftp ...
- FTP服务学习笔记之基于MySQL+PAM的vsftpd虚拟用户
基于mysql+PAM的vsftpd虚拟用户配置 一.实验说明 操作系统:Redhat5.8_X64bit 实验平台:VMware Workstation 所需要的软件包:pam_mysql-0.7R ...
- mariadb pam_mysql_FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制
前言 vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用,目前在开源操作系统中常用的FTP套件主要有proftpd.pureftp.ServU和wu-ftpd等 ...
- mysql pam 配置_pam_mysql 安装配置总结 (结合vsftpd)
前一段时间,论坛里总有朋友问到pam-mysql的安装问题.比较典型的有: vsftp1.2+mysql4.1+pam_mysql0.5在RedHat AS4(32bit)下好像是有bug 还是mys ...
- springboot mysql行锁_SpringBoot基于数据库实现简单的分布式锁
本文介绍SpringBoot基于数据库实现简单的分布式锁. 1.简介 分布式锁的方式有很多种,通常方案有: 基于mysql数据库 基于redis 基于ZooKeeper 网上的实现方式有很多,本文主要 ...
- mysql master-user_【MySQL】MySQL5.6数据库基于binlog主从(Master/Slave)同步安装与配置详解...
主从数据库同步原理 image.png 主从数据库同步工作原理(流程): 当主库的数据发生修改时,数据更改的记录将写入到主库的二进制文件中,从库此时将会调用一个IO线程读取主库的二进制文件,并与中继日 ...
最新文章
- python爬虫工程师-Python-爬虫工程师-面试总结
- 在QT中结构体快速从二进制文件中读取数据
- java jpeg压缩解码_图片压缩(iOS)
- 37岁程序员失业投500份简历就3次面试猎头:超35岁不要
- python的for语句写新的字符串_Python:for循环遍历对象,而不是字符串
- 学习Linux的途径。
- JavaScript小技巧总结
- RSLogix 5000下载程序方法
- c++ 远程监控软件
- Gitlab代码库自动同步到Github
- 利用Python切头去尾
- 公众号快速注册并认证小程序
- python课程设计——当当网Python图书数据分析
- 【原创】我所认识的银行业务之旅(开篇)
- dxdiag 的使用
- larval框架的获取并存储(cache的使用)
- FileZilla FTP Server 安全加固
- 安卓动画壁纸实战:制作一个星空动态壁纸(带随机流星动画)
- 网络设备器出现黄色感叹号有线链接无线链接选项均消失
- Matlab入门基础 note1——赋值与小数