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

简介:

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

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

  命令: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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
MySQL 5.6/5.7 DDL 失败残留文件清理指南
通过本文的指南,您可以更安全地处理 MySQL 5.6 和 5.7 版本中 DDL 失败后的残留文件,有效避免数据丢失和数据库不一致的问题。
|
10月前
|
SQL 监控 关系型数据库
MySQL补充性文件
通过以上内容,您可以全面了解和掌握 MySQL 补充性文件的配置、查看及其作用,从而提升数据库管理的效率和质量。
390 36
|
8月前
|
安全 关系型数据库 MySQL
MySQL8使用物理文件恢复MyISAM表测试
MySQL8使用物理文件恢复MyISAM表测试
164 0
|
9月前
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
382 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
安全 关系型数据库 MySQL
解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题
删除 `/var/lib/mysql` 下的所有文件后,需要重新初始化数据目录,确保正确的权限设置,并重新启动 MySQL 服务。通过按照上述步骤操作,可以解决 MySQL 无法启动的问题,并恢复数据库的正常运行。初始化数据目录后,别忘了配置安全设置,并根据需要恢复备份数据。这些步骤不仅能够恢复 MySQL 的正常运行,还能确保数据库的安全性和完整性。
782 2
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
关系型数据库 MySQL 数据库
【赵渝强老师】MySQL的参数文件
MySQL启动时会读取配置文件my.cnf来确定数据库文件位置及初始化参数。该文件分为Server和Client两部分,包含动态与静态参数。动态参数可在运行中通过命令修改,而静态参数需修改my.cnf并重启服务生效。文中还提供了相关代码示例和视频教程。
296 6
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
215 4

推荐镜像

更多