vsftpd基于系统用户访问ftp服务器,系统用户越多越不利于管理,不利于系统安全,这样就以vsftp虚拟防护的方式来解决。

虚拟用户没有实际的真实系统用户,,而是通过映射到其中一个真实用户以及设置相应权限来访问验证,虚拟用户不能登陆系统。

1.安装虚拟用户需要用到的软件以及认证模块

[root@www ~]# yum install pam* libd-utils libdb* --skip -broken -y

2.创建虚拟用户临时文件

/etc/vsftpd/ftpusers.txt

xj3

123456

xj4

123456

3.生成虚拟用户数据库认证文件,权限为700

[root@www vsftpd]# db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db

[root@www vsftpd]# chmod 700 /etc/vsftpd/vsftpd_login.db

4.配置pam认证文件/etc/pam.d/vsftpd加入下面两行代码:

auth_required pam_userdb .so db=/etc/vsftpd/vsftpd_login

account_required pam_userdb.so db=/etc/vsftpd/vsftpd_login

5.vsftp虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登陆,主要用于虚拟用户映射使用

useradd -s /sbin/nologin ftpuser

6.vsftpd配置

#globle config vsftpd 2018

  anonymous_enable=NO
  local_enable=YES
  write_enable=YES
  local_umask=022
  dirmessage_enable=YES
  xferlog_enable=YES
  connect_from_port_20=YES
  xferlog_std_format=YES
  listen=YES
  listen_ipv6=NO
  userlist_enable=YES
  tcp_wrappers=YES

#  config virtual user ftp

  pam_service_name=vsftpd 虚拟用户企业pam认证

  guest_enable=YES         启用虚拟用户

  guest_username=ftpuser 映射虚拟用户至系统用户ftpuser

  user_config_dir=/etc/vsftpd/vsftpd_user_conf虚拟用户配置文件所在的目录

  virtual_use_local_privs=YES 虚拟用户使用与本地用户相同的权限

7至此,所有虚拟用户共同使用/home/ftpuser主目录实现上传下载,可以在/etc/vsftpd/vsftpd_user_conf目录创建虚拟用户各自的配置文件,创建虚拟用户配置文件主目如下:

mkdir -p /etc/vsftpd/vsftpd_user_conf/

8,为虚拟用户创建配置文件,同时创建私有的虚拟目录

vim /etc/vsftpd/vsftpd_user_conf/xj3

local_root=/home/ftpuser/xj3   虚拟用户配置文件路径

write_enable=YES 允许登陆用户有写权限

anon_world_readable_onle=YES允许匿名用户下载,然后读取文件

anon_upload_enable=YES允许匿名用户上传文件权限,只有在write_enable=yes是才生效

anon_mkdir_write_enable=YES允许匿名用户创建目录,只有在write_enable=yes是才生效

anon_other_write_enable=YES允许匿名用户其它权限,如删除,重命名

vim /etc/vsftpd/vsftpd_user_conf/xj3

local_root=/home/ftpuser/xj3

write_enable=YES

anon_world_readable_onle=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

9创建虚拟用户各自虚拟目录

mkdir -p /home/ftpuser/{xj3,xj4};

chown -R ftpuser:ftpuser /home/ftpuser

Linux文件服务器实战(虚拟用户)的更多相关文章

  1. Linux Centos 通过虚拟用户访问FTP的配置

    Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目 ...

  2. Linux 下 FTP虚拟用户的使用配置

    Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...

  3. (转)linux 系统下虚拟用户的作用

    原文:http://blog.csdn.net/luoshao20120430/article/details/16900653            http://blog.csdn.net/u01 ...

  4. RHEL7 -- Linux搭建FTP虚拟用户

    安装vsftpd软件包[root@localhost ~]# yum install vsftpd -y [root@localhost ~]# yum install db4 db4-utils 建 ...

  5. Linux中Postfix虚拟用户及虚拟域(六)

    Postfix基于虚拟用户虚拟域的邮件架构 上图是一个几乎完整的邮件系统架构图,这里基于Mysql数据库进行用户认证,不管是Postfix.Dovecot.webmail都需要去Mysql数据库中进行 ...

  6. Linux文件服务器实战(系统用户)

    ftp匿名用户设置完成之后任何人都可以访问服务器端文件,目录,甚至可以修改删除文件和目录,,那如何存放私密文件并保证文件或者目录专属于拥有者呢,就需要使用vsftp系统用户来实现了. 1.在linux ...

  7. Linux文件服务器实战(匿名用户)

    一.进程与线程 二.vsftp服务器 1.文件传输协议(file transfer protocol,FTP) 基于该协议ftp客户端和服务端实现文件共享,上传下载文件 FTP基于TCP协议生成一个虚 ...

  8. Linux基础入门之vsFTP+MySQL/MariaDB认证实现虚拟用户配置详解

    https://www.dwhd.org/20150603_144841.html 摘要 VSFTP可以使用系统账户或者匿名账户登录,但是出于安全的考虑,通常建议使用vsftp虚拟账户来登录ftp服务 ...

  9. Linux系统学习 十九、VSFTP服务—虚拟用户访问—为每个虚拟用户建立自己的配置文件,单独定义权限

    为每个虚拟用户建立自己的配置文件,单独定义权限 可以给每个虚拟用户单独建立目录,并建立自己的配置文件.这样方便单独配置权限,并可以单独指定上传目录 1.修改配置文件 vi /etc/vsftpd/vs ...

随机推荐

  1. [原创]hibernate更新后jdbc读取不到数据问题

    最近在做工作流插件时使用的是自己基于hibernate连接封装的orm框架,按说跟hibernate共用的一个连接,应该在同一个事务中,但在使用时hibernate saveOrUpdate后(未提交 ...

  2. Tomcat安装和配置过程

    tomcat的下载.配置.启动方法.网上教程乱七八糟,还是自己mark一下备用吧. 一.官网下载Tomcat的压缩包 Tomcat是Apache软件基金会的一个开源项目.登录Apache官网即可找到下 ...

  3. Solaris常用命令

    目录: 1.man <要查的命令名字> 2.ls 相当于DOS的dir3.clear 相当于DOS的cls,清除屏幕上的内容4.mkdir <目录名> 相当于DOS的md,新建 ...

  4. 变量&数据类型

    php标记:四种php标记       1.<?php echo 'hello';?>       2.<? echo 'hello'; ?> //短标记       3.&l ...

  5. jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)

    最近项目中门户首页需要做出图片间歇式无缝滚动特效,但是在网上找资料都是不太理想,不过可以指导.最后自己写了一个demo实现了这个特效,分享出来. 1.jquery.cxscroll.js /*! * ...

  6. ASP.NET Core后台任务

    之前在控制台程序中学习如何运行后台任务,ASP.NET Core中其实也有同样的方法BackgroundService,本以为跟HostedService没有区别,毕竟BackgroundServic ...

  7. promise之nodejsQ的详细用法总结

    这里主要讲node.js中Q的各种用法及说明总结,不详细介绍promise及原理.关于promise介绍可以查看我的另一篇文章: https://www.cnblogs.com/yzeng/p/976 ...

  8. MySQL之my.cnf配置

    ####################配置文件开始################### # For advice on how to change settings please see # ht ...

  9. (生产)animate.css 动画库

    官网:https://daneden.github.io/animate.css/ Animate.css是一个有趣的,跨浏览器的css3动画库 用法 首先引入animate css文件:    &l ...

  10. Miner3D Basic基础版

    ——强大的数据可视化软件 数据分析并不很复杂,Miner3D Basic基础版首先使用简单的方法,创造了强劲的图形驱动的数据处理模型,然后通过一个完整的视图为基本的交互环境,对基本数据进行分析,并通过 ...