mariadb pam_mysql_FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制

前言

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用,目前在开源操作系统中常用的FTP套件主要有proftpd、pureftp、ServU和wu-ftpd等。本文将讲解vsftpd的基本功能和如何基于PAM和MySQL/MariaDB实现虚拟用户访问控制。

基础配置介绍

工作原理

4f88f55e1bba8a177fa3a347a0a0bf43.png

状态响应码

1xx:信息码

2xx:成功状态码

3xx:进一步提示补全信息的状态码

4xx:客户端错误

5xx:服务器端错误

用户认证

虚拟用户:仅用于访问某特定服务中的资源

系统用户通过ftp访问的资源的位置:用户自己的家目录

虚拟用户通过ftp访问的资源的位置:给虚拟用户指定的映射成为的系统用户的家目录

配置文件

vsftpd在CentOS6.6的配置文件

配置文件详解

虚拟用户访问控制

虚拟用户

所有的虚拟用户会被统一映射为一个指定的系统账号,访问的共享位置即为此系统账号的家目录

各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控制参数进行指定

虚拟用户的存放方式:

hash编码的文件(奇数行为用户名,偶数行为密码)

关系型数据库(通过第三方模块pam-mysql实现认证)

工作原理

c946e98f5e719a0868df159c53201202.png

配置过程

环境准备

FTP服务器:172.16.10.10(CentOS6.6)

数据库服务器:172.16.10.211(CentOS6.6),MariaDB

安装所需程序

首先FTP服务器需要安装vsftpd和pam_mysql,数据库服务器需要安装MySQL或者MariaDB,我这里已经安装完毕了,就直接开始配置了

创建虚拟用户

vsftpd配置

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

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

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

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

配置虚拟用户的访问权限

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

启动服务,设置开机自启,查看21端口是否被监听

d7a64669038ae891ea3bb347dba293fd.png

测试虚拟用户

b9575e80cbf986131e5ae0e75da7c28e.png

4b731315bea3fd94f32e5038b53d35ab.png

The end

好了,FTP基于PAM和MySQL/MariaDB的虚拟用户访问控制,就说到这里啦,配置ftp过程中请确保不要敲多空格,否则是会报错或者登录失败的,我就深受其害,这确实是个坑,部署过程中遇到问题可留言,多谢关注呦。以上仅为个人学习整理,如有错漏,大神勿喷~~~

本文转自 北城书生  51CTOhttp://blog.51cto.com/scholar/1636190博客,原文链接:http://blog.51cto.com/scholar/1636190

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值