Linux环境下部署vsftp+mysql用户认证

在这里插入图片描述
安装mysql(不要使用红帽的RPM版的mysql)

使用编译或静态库安装mysql

1、编译安装pam_mysql
下载软件:
http://downloads.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpam-mysql%2F&ts=1308550644&use_mirror=nchc

tar xzvf pam_mysql-0.7RC1.tar.gz -C /usr/local/src/
cd /usr/local/src/pam_mysql-0.7RC1/
./configure --with-mysql=/opt/mysql/ && make && make install

rpm包安装

rpm -ivh pam_mysql-0.7RC1-1.x86_64.rpm
Preparing...                ########################################### [100%]1:pam_mysql              ########################################### [100%]

2、安装vsftpd

yum -y install vsftpd

配置vsftpd服务器

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
guest_enable=YES
guest_username=virtual
pam_service_name=/etc/pam.d/vsftpd.mysql
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
vim /etc/pam.d/vsftpd.mysql
auth required  /usr/lib/security/pam_mysql.so user=ftp passwd=123456 host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2
account required  /usr/lib/security/pam_mysql.so user=ftp passwd=123456 host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2

添加一个系统账号,并指定家目录。

useradd virtual -d /ftproot -s /sbin/nologin
chmod 755 /ftproot/

3、配置mysql

mysql>detele  from  mysql.user  where  user='  ';mysql>detele  from  mysql.db  where  user='  ';mysql> create database vsftp;mysql>create table vsftp.users(id int auto_increment primary key, username char(30), password char(50));mysql>insert  into  vsftp.users(username,password)  values('a',password('123')),('b',password('456')),('c',password('789'));mysql>grant all on vsftp.* to runftp@'10.170.36.27' identified by '123;mysql>flush  privileges;
service vsftpd restart

让虚拟用户登录服务器时记录登录状态和时间:

mysql> create table logs(-> msg varchar(255),-> user char(16) ,-> pid int(11),-> host char(32),-> rhost char(32),-> logtime timestamp);
Query OK, 0 rows affected (0.01 sec)
vim /etc/pam.d/vsftpd.mysql
auth required  /usr/lib/security/pam_mysql.so user=ftp passwd=123456 host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
account required  /usr/lib/security/pam_mysql.so user=ftp passwd=123456 host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
service vsftpd restart

虚拟用户扩展

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/ew  定义用户的在扩展的目录中

给a用户定义一个配置文件

vim /etc/vsftpd/ew/a
local_root=/home/ftpsite/a
anon_max_rate=200000(200kb)

给b用户定义一个配置文件

vim /etc/vsftpd/ew/b
local_root=/home/ftpsite/b
anon_max_rate=100000(100kb)
anon_world_readable_only=NO
anon_upload_enable=YES
write_enable=YES

给c用户定义一个配置文件

vim /etc/vsftpd/ew/c
local_root=/home/ftpsite/c
anon_world_readable_only=NO
anon_max_rate=0
anon_upload_enable=YES
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/323580.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Verilog复习(三)| Verilog语言基础

四种基本的逻辑值 0&#xff1a;逻辑0或“假”1&#xff1a;逻辑1或“真”x&#xff1a;未知z&#xff1a;高阻 三类常量 整型数&#xff1a;简单的十进制格式&#xff0c;基数格式&#xff08;5’O37&#xff0c;4’B1x_01&#xff09; 格式&#xff1a; <size><’b…

Spring Gateway的核心功能:路由、过滤、限流一网打尽

Spring Gateway的简介 在微服务架构的世界里&#xff0c;如同繁星点点的服务需要一个指挥家&#xff0c;将它们有序地组织起来&#xff0c;让它们能够和谐地协同工作。这个指挥家&#xff0c;就是Spring Gateway。它是一个基于Spring Framework 5、Project Reactor和Spring Bo…

AI 资料汇总专栏

包含AI资料、大模型资料、AI最新行业发展 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一门研究如何使计算机能够具备智能行为的科学与技术。它致力于开发出能够像人类一样思考、学习、理解和决策的计算机系统。自20世纪50年代以来&#xff…

Spring与AI结合-spring boot3整合AI组件

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 spring ai简介 单独整合al接口 整合Spring AI组件 起步条件 ​编辑 进行必要配置 写在最后 写在前面 本文介绍了springboot开发后端服务中&#xff0c;AI组件(Spring A…

学生管理系统初级

根据题目要求生成大纲 总结: 1.在书写时&#xff0c;考虑到了书写时id可是是abc... 类型是String&#xff0c;但在根据id获取集合中元素时 list.get() &#xff0c;get&#xff08;&#xff09;里面是int类型。 2.在书写还有一点功能并不完全&#xff0c; 2.1查找时是打印所有…

软件系统安全设计规范(word原件)

1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件资料清单列表部分文档…

SpringCloud 集成consul,消费者报I/O error on GET request for...

创建消费者微服务&#xff0c;去调用生产者微服务的请求过程中&#xff0c;出现以下错误&#xff1a; 报错原因 因为在使用SpringCloudAlibaba中的Nacos框架时&#xff0c;自动整合了SpringCloud中的Ribbon框架中的负载均衡&#xff0c;因为微服务提供者有两个&#xff0c;在消…

使用apache和htaccess对目录访问设置密码保护配置教程

对目录设置密码保护配置说明 我们有时候访问某些网站的时候&#xff0c;要求输入用户名和密码才能访问。这是为了保护隐私&#xff0c;只让经过许可的人访问。 在本教程中主要介绍两种方法&#xff0c;一种是通过apache httpd.conf配置文件对管理后台目录设置密码保护&#xff…

BS架构 数据权限--字段级权限 设计与实现

一、需求场景 1. 销售发货场景 销售出库单上 有 商品名称、发货数量、单价、总金额 等信息。 销售人员 关注 上述所有信息&#xff0c;但 仓管人员 不需要知道 单价、总金额 信息。 2. 配方、工艺保密 场景 配方研发人员 掌握核心配方&#xff0c; 但 交给车间打样、生产时…

变色龙Ultra:IC、ID卡读+写+模拟的开源项目

虽然已经很多年没用过刷卡的东西了&#xff0c;确实没有破解或者模拟卡片的需求&#xff0c;但是看到这个开源项目的时候&#xff0c;还是觉得有点意思&#xff0c;值得一看。 这是ultra版本的原理框图&#xff0c;可知ultra体现在加了一个射频卡芯片&#xff0c;南京中科微的C…

亚信安慧AntDB新篇章:数据库技术飞跃

随着大数据时代的到来&#xff0c;对数据库的需求愈发强烈。在这一背景下&#xff0c;国产数据库逐渐崭露头角&#xff0c;亚信安慧AntDB作为重要的代表产品之一正积极参与到激烈的市场竞争中。亚信安慧AntDB不仅追求技术的革新和突破&#xff0c;同时也致力于满足用户日益增长…

JavaWeb中的Session和Cookie

前言 什么是会话跟踪技术 Cookie 1.什么是cookie 2.Cookie的应用 2.1 保持用户登录状态 2.2 记录用户名 3. Cookie的设置和获取 3.1 、通过HttpServletResponse.addCookie的方式设置Cookie 3.2、浏览器中查看cookie的内容 3.3、服务端获取客户端携带的cookie&#xf…

在做题中学习(51): x的平方根

69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09;​​​​​​ 解法&#xff1a;二分查找 思路&#xff1a;看示例2&#xff1a; 可以看到8的平方根是2.82&#xff0c;在2^2和3^2之间&#xff0c;所以可以把数组分为两部分&#xff0c;(具有二段性) 而2.82去掉小数部分…

机器人码垛机的主体结构及技术特点

在现代物流和生产线上&#xff0c;机器人码垛机以其高效、准确的特点&#xff0c;成为了不可或缺的重要设备。那么&#xff0c;这个神奇的机器人究竟由哪些部分组成?它的内部结构又有哪些奥秘呢?接下来&#xff0c;就让我们一起揭开它的神秘面纱! 一、机器人码垛机的主体结构…

人脸图像生成(DCGAN)

一、理论基础 1.什么是深度卷积对抗网络&#xff08;Deep Convolutional Generative Adversarial Network&#xff0c;&#xff09; 深度卷积对抗网络&#xff08;Deep Convolutional Generative Adversarial Network&#xff0c;DCGAN&#xff09;是一种生成对抗网络&#xf…

Docker私有仓库与Harbor部署使用

目录 一、本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ​编辑 3. 运行registry容器 4. Docker容器的重启策略如下 5. 为镜像打标签 6. 上传到私有仓库 7. 列出私有仓库的所有镜像 8. 列出私有仓库的centos镜像有哪些tag 9. 先删…

产品推荐 | 基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡

01 产品概述 板卡主芯片采用Xilinx公司的XC7K325T-2FFG900 FPGA&#xff0c;pin_to_pin兼容FPGAXC7K410T-2FFG900&#xff0c;支持8-Lane PCIe、64bit DDR3、四路SFP连接器、四路SATA接口、内嵌16个高速串行收发器RocketIO GTX&#xff0c;软件具有windows驱动。 02 技术指标…

python数据分析——数据预处理

数据预处理 前言一、查看数据数据表的基本信息查看info&#xff08;&#xff09;示例 查看数据表的大小shape&#xff08;&#xff09;示例 数据格式的查看type()dtype&#xff08;&#xff09;dtypes&#xff08;&#xff09;示例一示例二 查看具体的数据分布describe()示例 二…

自动控制原理学习--平衡小车的控制算法(三)

上一节PID的simulin仿真&#xff0c;这一节用LQR 一、模型 二、LQR LQR属于现代控制理论的一个很重要的点&#xff0c;这里推荐B站的【Advanced控制理论】课程&#xff08;up主DR_CAN&#xff09;&#xff0c;讲得很好&#xff0c;这里引用了他视频里讲LQR的ppt。 LQR属于lo…

Docker Desktop 修改容器的自启动设置

Docker Desktop 允许用户控制容器的自启动行为。如果你不希望某个容器在 Docker 启动时自动启动&#xff0c;你可以通过以下步骤来更改设置&#xff1a; 1. 打开 Docker Desktop 应用。 2. 点击右上角的设置&#xff08;Settings&#xff09;按钮&#xff0c;或者使用快捷键 Cm…