热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ftp账户等于mysql_ftp下实现文件和mysql验证虚拟用户

一、基于文件验证虚拟用户①创建虚拟用户数据库文件。命令:vimetcvsftpdviruser把文件转化为数据库格式。命令:db_load-T-thas

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

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

命令:vim /etc/vsftpd/viruser

0818b9ca8b590ca3270a3433284dd417.png

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

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

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

③创建pam配置文件。

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

0818b9ca8b590ca3270a3433284dd417.png

④指定pam配置文件

0818b9ca8b590ca3270a3433284dd417.png

⑤关闭防火墙和selinux

0818b9ca8b590ca3270a3433284dd417.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

0818b9ca8b590ca3270a3433284dd417.png

ftp2只可读。

命令:anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

0818b9ca8b590ca3270a3433284dd417.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          【非匿名用户登录所在目录】



推荐阅读
  • 在应用系统开发当中,文件的上传和下载是非常普遍的需求。在基于.NET的CS架构的项目开发当中,有多种方案可以实现文件的上传和下载(httpwebrequest、webclient等),而且多采用异步 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • 开发笔记:UEditor调用上传图片上传文件等模块
    1、引入ue相关文件,写好初始代码为了更好的封装整一个单独的插件,这里我们要做到示例化ue后隐藏网页中的编辑窗口,并移除焦点。 ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • UEditor可以如何直接复制word的图文内容到编辑器中
    这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)j ... [详细]
  • javaftp上传,javaftp下载文件
    本文目录一览:1、javaftp上传5G以上大文件,怎么做 ... [详细]
  • AFNetwork框架(零)使用NSURLSession进行网络请求
    本文介绍了AFNetwork框架中使用NSURLSession进行网络请求的方法,包括NSURLSession的配置、请求的创建和执行等步骤。同时还介绍了NSURLSessionDelegate和NSURLSessionConfiguration的相关内容。通过本文可以了解到AFNetwork框架中使用NSURLSession进行网络请求的基本流程和注意事项。 ... [详细]
  • 本文介绍了使用FormData对象上传文件同时附带其他参数的方法。通过创建一个表单,将文件和参数添加到FormData对象中,然后使用ajax发送POST请求进行文件上传。在发送请求时,需要设置processData为false,告诉jquery不要处理发送的数据;同时设置contentType为false,告诉jquery不要设置content-Type请求头。 ... [详细]
  • 在tp5项目中引入ueditor编辑器并实例化后插入图片出现目录创建失败问题在查看网络上各种解决方案之后总结如下:根据官网提示主要是因为图片保存的路径无权限导致,官方文档链接:ht ... [详细]
  • Java大文件HTTP断点续传到服务器该怎么做?
    最近由于笔者所在的研发集团产品需要,需要支持高性能的大文件http上传,并且要求支持http断点续传。这里在简要归纳一下,方便记忆 ... [详细]
author-avatar
ErnastoChen
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有