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

news2024/10/7 8:27:02

在这里插入图片描述
安装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.coloradmin.cn/o/1660313.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【回溯算法】【Python实现】符号三角形问题

文章目录 [toc]问题描述回溯法时间复杂性Python实现 问题描述 下图是由 14 14 14个“ ”和 14 14 14个“ − - −”组成的符号三角形, 2 2 2个同号下面都是” “, 2 2 2个异号下面都是“ − - −” 在一般情况下,符号三角形的第一行有 n…

MySQL慢查询SQL优化

一、慢查询日志 描述:通过慢查询日志等定位那些执行效率较低的SQL语句 查看 # 慢查询是否开启 show variables like slow_query_log%; # 慢查询超时时间 show variables like long_query_time%;执行SQL 开启慢查询日志 set global slow_query_log ON;设置慢查…

python数据分析——数据的选择和运算

数据的选择和运算 前言一、数据选择NumPy的数据选择一维数组元素提取示例 多维数组行列选择、区域选择示例 花式索引与布尔值索引布尔索引示例一示例二 花式索引示例一示例二 Pandas数据选择Series数据获取DataFrame数据获取列索引取值示例一示例二 取行方式示例loc() 方法示例…

一篇文章,系统性聊聊Java注解

你好! 这类系统性聊聊***知识点的文章,是希望给大家带来对某个技术的全貌认识,如果大家喜欢,后续可以陆续更新此系列 下面,开始今天的分享 在之前,我们已经分享过注解相关的三个面试题, 今天的…

【原创教程】步进MC_HOME回原点模式

我们所用软件:西门子TIA Portal V16编程软件 我们所用硬件:S7-1200系列:CPU1212C;雷赛科技DM542驱动器;西门子TP900 comfort触摸屏 我们的硬件接线 MC_HOME的模式: 一般情况下,西门子PLC的运动控制在使能绝对位置定位之前必须执行“回原点”或是“寻找参考点”。 Pos…

多层感知机(MLP)示例

通过5个条件判定一件事情是否会发生,5个条件对这件事情是否发生的影响力不同,计算每个条件对这件事情发生的影响力多大,写一个多层感知机模型pytorch程序,最后打印5个条件分别的影响力。 一 在多层感知机(MLP)模型中&…

RabbitMQ部署指南.md

RabbitMQ部署指南 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。 1.1.下载镜像 方式一:在线拉取 docker pull rabbitmq:3.8-management方式二:从本地加载 在课前资料已经提供了镜像包: 上传到虚拟机中后,使用命令加载…

超详细的胎教级Stable Diffusion使用教程(一)

这套课程分为五节课,会系统性的介绍sd的全部功能和实操案例,让你打下坚实牢靠的基础 一、为什么要学Stable Diffusion,它究竟有多强大? 二、三分钟教你装好Stable Diffusion 三、小白快速上手Stable Diffusion 四、Stable dif…

【网络安全入门】新手如何参加护网行动?一篇带你零基础入门到精通

前言 “没有网络安全就没有国家安全”。 当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 一、网络安全行业特点 行业发展空间大,岗位非常多 网络安全行业产业以来,随即新增加了几十个…

Django 管理员登录安全 OTP双因素认证

目前安全双因素 最基本的,django管理员 默认直接登录的。 本项目环境:Django 2.0.13django-otp 0.9.3 1 安装pip3 install django-otp0.9.3 2 配置文件 vim api_statistics/settings.py INSTALLED_APPS里增加django_otp,django_otp.plugins.otp_totp,MIDDLEWARE…

出海企业必备神器:海外云手机的秘密你了解多少?

在全球化日益加速的今天,出海企业面临着前所未有的机遇与挑战。如何才能以一个较低的成本打入海外市场,实现业务的高速增长?答案就是——海外云手机! 一、为何海外云手机成为出海企业的必备神器? 突破地域限制&#xf…

videosapi、强大的微信管理api

接口地址:videosapi.com 同步个人收藏夹 {"appId": "{{appid}}","syncKey": "" } 出参 {"ret": 200,"msg": "操作成功","data": {"syncKey": "CAESCAgBEJyi9e4…

Python扫描发送邮件

一、具体要求 编写 python 代码,扫描指定的目录下的所有文件,将这些扫描的文本内容邮 件发送到指定邮箱( 自己的 qq 邮箱 ) 示例如下: 使用QQ邮箱SMTP服务器需要获取QQ邮箱授权码,获取方式可参考以下链接: 电子邮件 二…

【千帆平台】使用AppBuilder零代码创建应用,然后通过OpenAPI方式调用应用

欢迎来到《小5讲堂》 这是《千帆平台》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言创建API密钥调用文档调用说明API服务域名通信协议字符编码公…

企业短信群发被拦截的原因

企业短信群发作为一种高效的营销手段,被越来越多的企业所采用。也经常会面临被拦截的问题,这给企业带来了沉重的损失。本文将探讨企业群发被拦截的原因,并寻找解决办法。 频率过高 频率过高是导致企业群发被拦截的常见原因之一。当企业的频率…

淘宝扭蛋机小程序开发:探索未知,扭出惊喜

一、引领潮流,创新体验 在淘宝这片购物海洋中,我们总是寻求为您带来不一样的惊喜和乐趣。今天,我们正式推出淘宝扭蛋机小程序,将传统扭蛋的趣味与电商购物的便捷完美结合,为您带来前所未有的购物新体验。 二、扭蛋机…

摩菲Murphy显示器显示表 总线编程器维修PV780B

Murphy仪器维修包括:摩菲数字显示器;摩菲监视仪表;摩菲CAN总线控制器等维修 维修故障包括:黑屏、指示灯无显示,触摸屏上电无反应, 上电蓝屏、白屏,通电几分钟后屏幕变为蓝屏,主板故…

vue2后台管理项目

一:项目准备 1)拉取模板代码 远程仓库复制到本地仓库. 2)安装后的项目 路径 code 文件夹 会打开vscode的文件夹. 3)安装vetur和eslint插件可以保存时自动修改不规范的地方. 4)App内有一级路由,路由组件导入如果是layout架子,会导入的是文件夹下的index.js没有则导入index.v…

副业兼职没那么难,视频号带货,1天稳定500,适合新手操作

向大家推荐一个项目:视频号书单号带货玩法。我已经实践了一段时间,并成功售出了1200多单,赚取了2万多元。这个项目表现相当出色,强烈推荐给大家! 周周近财:让网络小白少花冤枉钱,赚取第一桶金 …

使用Three.js开发一个3D案例Demo

使用Three.js开发一个3D案例 最近在找工作,发现好多招聘要求都需要会Three.js,以前接触比较多的是2D开发,也就是平面开发,用到的做多的技术就是d3.js,现在3D开发已经成为了大势所趋,所以就学习下Three.js。…