ftp下实现文件和mysql验证虚拟用户

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

  一、基于文件验证虚拟用户

  ①创建虚拟用户数据库文件。

  命令:vim /etc/vsftpd/viruser

  327cf87fecda172d1fbabe943fefd138.png

  把文件转化为数据库格式。

  命令:db_load -T -t hash -f viruser  viruser.db

  bbb8133dbef2dcc619778ffdf6cfaf33.png

  ②创建系统用户和访问FTP目录。

  a6cb4e294ab6f8bd84ffaa0f9b3fb5ef.png

  ③创建pam配置文件。

  命令:vim /etc/vsftpd/viruser.db

  ed8b4ecb9c8307b5f6bfc97c5140857d.png

  ④指定pam配置文件

  d7dfa43a0cc8051e736889ab4f5a91e9.png

  ⑤关闭防火墙和selinux

  bb5d913b75156e982e4f6612870486a8.png

  ⑥给虚拟用户设置各自的权限。

  创建配置文件存放的目录

  命令:mkdir /etc/vsftpd/viruser.d/

  修改ftp配置文件

  命令:vim /etc/vsftpd/vsftpd.conf

      user_config_dir=/etc/vsftpd/viruser.d/

  进入虚拟用户配置目录下,创建各自虚拟用户的权限。

  命令:cd /etc/vsftpd/viruser.d/

  ftp1虚拟用户可读可写可上传。

  命令:vim ftp1

  anon_upload_enable=YES

  anon_mkdir_write_enable=YES

  anon_other_write_enable=YES

  85a69c1d76dcdb5011659c2dfbdca5f0.png

  ftp2只可读。

  命令:anon_upload_enable=NO

  anon_mkdir_write_enable=NO

  anon_other_write_enable=NO

  e74465c92d777b978a282f851edf061e.png

  二、基于mysql实现验证虚拟账户。  【就不贴照片了】

  A机器:mysql服务器

  B机器:ftp服务器

  A机器:

  ①A安装数据库,运行安全脚本,创建数据库用户(存放虚拟账户)。

  yum install mariadb

  mysql_seure_installation 【运行安全脚本】

  create database vsftpd; 【创建数据库】

  use vsftpd 【进入vsftpd数据库里面】

  create table ftpusers(name char(30),passwd char(50));  【在数据库vsftpdb创建表】

  grant all on vsftpd.* to 'ftp'@'host' identified by 'centos';  【创建vsftpd数据库管理员】

  insert into ftpusers values ('ftp1',password('centos')), ('ftp2',password('magedu'));  【对ftpusers表插入用户

  select * from ftpusers; 【查看创建的用户】

  B主机:

  ②安装vsftpd包,编译安装pam_mysql【centos6光盘有】

  yum install mariadb-devel  pam-devel

  ./configure --with-pam-mods-dir=/lib64/security --with-pam=/usr/

  make && make install

  在FTP服务器上建立pam认证所需文件

  vim /etc/pam.d/vsftpd.mysql 添加如下两行

  auth required pam_mysql.so user=ftpd  【远程数据库用户名】passwd=centos host=远程主机 db=vsftpd table=ftpusers usercolumn=name passwdcolumn=password crypt=2

  account required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

  修改ftpd主配置文件

  vim /etc/ftpd/ftpd.conf

  anonymous_enable=YES

  guest_enable=YES

  guest_username=vuser

  pam_service_name=vsftpd.mysql

  user_config_dir=/etc/vsftpd/vusers_config   【配置vsftpd为虚拟用户使用配置文件目录】

  创建账户:在/etc/vsftpd/vusers_config下创建账户(文件)

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

  mkdir /etc/vsftpd/vusers_config/

  cd /etc/vsftpd/vusers_config/

  创建文件:

  vim ftp1

  anon_upload_enable=yes    【允许ftp1修改文件】

  vim ftp2

  local_root=/app/ftpdir2          【非匿名用户登录所在目录】

   


本文转自 LUksl 51CTO博客,原文链接:http://blog.51cto.com/19940919/1977204

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
63 20
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
Jetson 学习笔记(十五):FTP协议传输文件
本文介绍了如何使用WinSCP软件通过FTP协议在Windows和Jetson设备之间传输文件,并分享了一些操作经验和技巧。
77 0
Jetson 学习笔记(十五):FTP协议传输文件
vertx 的http服务表单提交与mysql验证
本文介绍了如何使用Vert.x处理HTTP服务中的表单提交,并通过集成MySQL数据库进行验证,包括项目依赖配置、表单HTML代码和完整的Vert.x服务代码。
53 2
|
7月前
|
Java SpringBoot FTP 上传下载文件
Java SpringBoot FTP 上传下载文件
235 0
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
119 0
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!(下)
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!
1308 2
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!(上)
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!
1307 2