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. [Silverlight][linq to sql]不能找到linq to sql自动生成类型

    最近在做Silverlight项目,结合使用了WCF RIA service,通过linq to sql自动生成model类型,使用起来非常方便.具体可见linq to sql之silverlight ...

  2. Session [php]

    1.启动会话 session_start() 通过session_register()函数创建会话 session_register()函数用来为会话登录一个变量来隐含地启动会话,但要求php.ini ...

  3. HDU——Cover——————【技巧】

    Cover Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  4. 栅格那点儿事(四D)

    统计值与空值 在上一篇的内容里反复提到了一个统计值.那这个统计值是怎么来的,具体是干嘛用的呢? 统计值主要就是用于栅格数据的显示和重分类,顾名思义就是一个波段中所有像元值的一个统计信息,最大值,最小值 ...

  5. 如何解决ArcGIS Runtime SDK for Android中文标注无法显示的问题

    自10.2版本开始,我就一直被ArcGIS Runtime SDK for Android的中文标注无限困扰.无论是驻留于内存中的Graphic 的文本符号TextSymbol,还是新增的离线geod ...

  6. u-boot分析(六)----时钟初始化

    u-boot分析(六) 上篇博文我们按照210的启动流程,分析到了关闭看门狗,今天我们继续按照u-boot的启动流程进行分析,今天我们会主要分析时钟的初始化. 今天我们会用到的文档: 1.       ...

  7. 【FPGA】Quartus导出.qxp格式的网表文件

    首先,右击项目顶层文件. 选择Design Partition -> Export Design Partition 即可完成.

  8. 解析Excel文件 Apache POI框架使用

    本文整理了,使用Apache POI 框架解析.读取Excel文件,过程中,程序代码出现的一些问题,并解决 1..xls 和 .xlsx 我们知道Excel文档,在Windows下,分为Excel20 ...

  9. java 使用mongodb

    1.先连接你的mongodb 看连接是否有问题,代码 public class MongoDB2 { private static MongoDatabase mongoDatabase = null ...

  10. 砍树,POJ(2665)

    题目链接:http://poj.org/problem?id=2665 解题报告: 这里的区域没有重复,若有重复的话,模拟即可. #include <cstdio> #include &l ...