iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户
  • 175
分享到

MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户

2024-04-02 19:04:59 175人浏览 泡泡鱼
摘要

Mysql中怎么利用pam_mysql模块实现vsftpd虚拟用户,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、实验环境的

Mysql中怎么利用pam_mysql模块实现vsftpd虚拟用户,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

一、实验环境的准备

1. 先下载需要用到的软件和依赖包

[root@localhost ~]# yum -y install mariadb-server mariadb-devel pam-devel GCc-c++ vsftpd

2. 安装pam_mysql模块(Plugable Authentication Module 插件式认证模块)

[root@localhost ~]# tar zxf pam_mysql-0.7RC1.tar.gz  [root@localhost ~]# cd pam_mysql-0.7RC1 [root@localhost pam_mysql-0.7RC1]# ./configure --with-mysql=/usr --with-openssl --with-pam-mods-dir=/lib/pam_mysql/ [root@localhost pam_mysql-0.7RC1]# make  [root@localhost pam_mysql-0.7RC1]# make install

3. 启动相关服务

[root@localhost ~]# systemctl start mariadb [root@localhost ~]# systemctl start vsftpd [root@localhost ~]# systemctl enable mariadb [root@localhost ~]# systemctl enable vsftpd

4.数据库安全设置

[root@localhost ~]# mysql_secure_installation Set root passWord? [Y/n] Y  Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y

二、创建虚拟用户

1.创建数据库和表(用于存储虚拟用户的信息)

[root@localhost ~]# mysql -u root -p Enter password:  MariaDB [(none)]> create database testdb;      #创建测试数据库  MariaDB [(none)]> grant select on testdb.* to linos@localhost identified by 'linux';  #创建用户  MariaDB [(none)]> flush privileges;  MariaDB [(none)]> use testdb; Database changed MariaDB [testdb]> create table users(id int AUTO_INCREMENT NOT NULL,name char(20) binary NOT NULL,password char(20) binary NOT NULL,primary key(id));    #创建存储用户的表

2.添加虚拟用户

MariaDB [testdb]> insert into users(name,password) values('tom','linux');    #创建用户 MariaDB [testdb]> insert into users(name,password) values('sam','linux');    #创建用户 MariaDB [testdb]> flush privileges;

三、配置vsftp服务

1.创建pam认证文件

[root@localhost ~]# cat /etc/pam.d/vsftpd.mysql  auth required /lib/pam_mysql/pam_mysql.so user=linos passwd=linux host=localhost db=testdb table=users usercolumn=name passwdcolumn=password crypt=0 account required /lib/pam_mysql/pam_mysql.so user=linos passwd=linux host=localhost db=testdb table=users usercolumn=name passwdcolumn=password crypt=0

2.修改vsftp配置文件,主要需要修改下面的配置

anonymous_enable=NO    #不允许匿名用户登录 local_enable=YES      #允许系统用户登录 write_enable=YES      #允许系统用户有写权限 anon_upload_enable=NO    #不允许匿名用户上传文件 anon_mkdir_write_enable=NO    #不允许匿名用户创建目录 chroot_local_user=YES    #默认情况下用系统用户登录ftp之后,用户可以cd到任何目录,这样会有一定的安全隐患,启用这个选项可以把用户禁锢在自己的家目录 guest_enable=YES    #启用这个选项可以开启非匿名用户重映射为系统用户的功能 guest_username=virtuser    #映射的系统用户 allow_writeable_chroot=YES    #从2.3.5版本之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,可以用命令chmod a-w /home/username去除用户主目录的写权限,或者你可以在vsftpd的配置文件中增加下列一项:allow_writeable_chroot=YES pam_service_name=vsftpd.mysql    #指定插件pam模块的配置文件

四、验证

1.重启服务

[root@localhost ~]# systemctl restart mariadb [root@localhost ~]# systemctl restart vsftpd

2.添加虚拟用户映射到的系统用户

[root@localhost ~]# useradd -s /sbin/nologin virtuser #指定shell为/sbin/nologin,禁止用户登录系统

3.登录虚拟用户验证

MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户

4.验证用户映射

[root@localhost virtuser]# pwd /home/virtuser [root@localhost virtuser]# mkdir pub [root@localhost virtuser]# touch pub/test  #virtuser家目录下创建test文件,然后用sam用户登录ftp,可以看到映射到了virtuser用户的家目录

MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户

5.配置授权权限

有时候我们需要针对不同的虚拟用户设置不同的权限

[root@localhost ~]# tail -1 /etc/vsftpd/vsftpd.conf  user_config_dir=/etc/vsftpd/users_permission/ [root@localhost ~]# mkdir /etc/vsftpd/users_permission/ [root@localhost ~]# cd /etc/vsftpd/users_permission/ [root@localhost users_permission]# echo #anon_upload_enable=YES >> sam [root@localhost home]# chmod -R 777 virtuser/

在启用匿名用户上传权限之前可以看到是禁止上传的,使用sam用户

MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户

开启匿名用户上传功能,使用sam用户上传一个文件

MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户

本文链接: https://www.lsjlt.com/news/57570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户
    MySQL中怎么利用pam_mysql模块实现vsftpd虚拟用户,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、实验环境的...
    99+
    2024-04-02
  • vsftpd怎么配置虚拟用户
    小编给大家分享一下vsftpd怎么配置虚拟用户,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! vsftpd的虚拟用户配置:PAM + PgSQL + F...
    99+
    2023-06-13
  • Linux下vsftpd+mysql虚拟用户有什么用
    这篇文章将为大家详细讲解有关Linux下vsftpd+mysql虚拟用户有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一步:安装vsftpd apt-get i...
    99+
    2024-04-02
  • MySql如何实现新建并验证vsftpd虚拟用户
    这篇文章将为大家详细讲解有关MySql如何实现新建并验证vsftpd虚拟用户,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. Mysql安装yum -y install m...
    99+
    2023-06-25
  • CentOS 6.2中怎么配置vsftpd虚拟用户
    本篇文章为大家展示了CentOS 6.2中怎么配置vsftpd虚拟用户,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。代码如下:[root@linuxde ~]# mount /dev/cdrom /...
    99+
    2023-06-10
  • 怎么建立基于虚拟用户的VSftpd服务
    这篇文章主要介绍“怎么建立基于虚拟用户的VSftpd服务”,在日常操作中,相信很多人在怎么建立基于虚拟用户的VSftpd服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么建立基于虚拟用户的VSftpd服务...
    99+
    2023-06-09
  • CentOS6.4下怎么安装vsftpd并配置虚拟用户
    这篇文章主要介绍“CentOS6.4下怎么安装vsftpd并配置虚拟用户”,在日常操作中,相信很多人在CentOS6.4下怎么安装vsftpd并配置虚拟用户问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Cen...
    99+
    2023-06-10
  • CentOS vsftpd怎么制作虚拟用户数据库文件
    本篇内容介绍了“CentOS vsftpd怎么制作虚拟用户数据库文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!制作虚拟用户数据库文件先建...
    99+
    2023-06-16
  • ubuntu中怎么利用Pureftpd配置虚拟用户
    今天就跟大家聊聊有关ubuntu中怎么利用Pureftpd配置虚拟用户,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ubuntu 的 pure-ftpd 的配置文件很特别,都是放到 ...
    99+
    2023-06-16
  • python3中利用serial模块实现
       python上位机向单片机发送字符,单片机如果收到的字符为‘1’,则点亮灯1,如果收到的字符为‘2’,则点亮灯2;单片机若接受到字符,读取字符后,向python上位机发送字符(1->X,2->T),若python上位机...
    99+
    2023-01-31
    模块 serial
  • 怎么在CSS中利用methodologies实现模块化
    这期内容当中小编将会给大家带来有关怎么在CSS中利用methodologies实现模块化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、什么是 CSS methodologiesCSS methodol...
    99+
    2023-06-08
  • 怎么在python中利用第三方模块实现连接
    怎么在python中利用第三方模块实现连接?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、...
    99+
    2023-06-14
  • Python怎么利用re模块实现简易分词
    本文小编为大家详细介绍“Python怎么利用re模块实现简易分词”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么利用re模块实现简易分词”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一个简单的to...
    99+
    2023-06-30
  • 怎么在Matplotlib中利用animation模块实现一个动态图
    本篇文章为大家展示了怎么在Matplotlib中利用animation模块实现一个动态图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。matplotlib 画图功能非常强大,目前也只能根据官网 提供...
    99+
    2023-06-06
  • linux 中怎么配置vsftp虚拟用户
    本篇文章为大家展示了linux 中怎么配置vsftp虚拟用户,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单...
    99+
    2023-06-13
  • Django 中怎么自定义用户模块
    这篇文章将为大家详细讲解有关Django 中怎么自定义用户模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、概述Django中自带的User Model使用起来是比较方便的,但是通常我们...
    99+
    2023-06-02
  • Gemma模型在虚拟现实内容创作中怎么应用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-23
  • 怎么在Python中利用 Asyncio模块实现一个生产消费者模型
    本文章向大家介绍怎么在Python中利用 Asyncio模块实现一个生产消费者模型的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Python主要用来做什么Python主要应用于:1、Web开发;2、数...
    99+
    2023-06-06
  • Fedora中怎么利用Cockpit创建虚拟机
    Fedora中怎么利用Cockpit创建虚拟机,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Cockpit 是一个正在活跃开发的项目,它有许多扩展其工作的插件。...
    99+
    2023-06-16
  • mysql中怎么实现用户授权
    mysql中怎么实现用户授权,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 mysql 用户授权   默认情况...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作