一、匿名用户

1、要求:

  • vsftpd服务器只允许匿名登录
  • 匿名用户在根目录下只能下载
  • 匿名用户在pub子目录下可以新建、下载、上传、重命名文件(文件夹)

2、过程:

  • (1)修改配置文件

    • vi /etc/vsftpd/vsftpd.conf

      • anonymous_enable=YES
      • local_enable=NO
      • write_enable=YES
      • anon_umask=022
      • anon_upload_enable=YES
      • anon_mkdir_write_enable=YES
      • anon_other_write_enable=YES
      • anon_world_readable_only=NO
    • systemctl restart vsftpd
  • (2)SELLinux设置
    • 设置安全策略:
      setsebool -P allow_ftpd_anon_write=1
    • 修改安全上下文:
      chcon -R -t public_content_rw_t /var/ftp/pub
  • (3)防火墙配置
    firewall-cmd --permanent --add-sevices=ftp

二、本地用户

1、要求:

  • 允许账号登录FTP服务器,但不能登录本地系统
  • 对账号根目录进行限制,不能进入根目录以外的任何目录

2、过程:

  • (1)创建用户,并禁止本地登录

    • useradd -s /sbin/nologin user
    • passwd user
  • (2)创建根目录,并赋予其他用户相应权限
    • mkdir -p /var/www/html
    • chmod o+w /var/www/html
  • (3)修改安全上下文,使根目录能够写入
    • chcon -t public_content_rw_t /var/www/thml
  • (4)修改配置文件
    • anonymous_enable=NO //禁止匿名用户登录
    • local_enable=YES //允许本地用户登录
    • write_enable=YES
    • local_umask=022
    • local_root=/var/www/html //设置本地用户的根目录为/var/www/html
    • chroot_local_user=YES
    • allow_writeable_chroot=YES
  • (5)修改SELinux允许本地用户登录
    • getsebool -a|grep ftp
    • setsebool -P ftp_home_dir=1
  • (6)重启vsftpd服务,使配置生效
    • systemctl restart vsftpd
  • (7)设置防火墙规则
    • firewall-cmd --permanent --add-services=ftp
    • firewall-cmd --reload

三、虚拟用户

1、要求:

  • vuser1只能进行下载
  • vuser2能进行下载和上传
  • 对下载/上传流量进行控制

2、过程:

  • (1)操作虚拟用户列表

    • 建立虚拟用户的用户名、密码列表的文本文件
      vi /etc/vsftpd/vusers.list
    • 用db_load转换工具,将文本文件(上一步所建立的文件)转化为数据库文件
      db_load -T -t hash -f vusers.list vusers.d
    • 修改虚拟用户列表文件及数据库文件访问权限。
      chmod 600 /etc/vsftpd/vusers.*
  • (2)创建虚拟用户对应的本地用户
    • 禁止他们本地登录
    • 设置用户主目录的访问权限
  • (3)修改SELinux安全上下文,允许对用户主目录读写
    chcon -t public_content_rw_t /var/ftp/teacherdir
  • (4)建立支持虚拟用户的PAM认证文件
    vi /etc/pam.d/vusers.vu
  • (5)修改/etc/vsftpd/vsftpd.conf主配置文件
    vi /etc/vsftpd/vsftpd.conf

    • anonymous_enable=NO
    • local_enable=YES //使用虚拟用户一定要启用本地用户
    • chroot_local_user=YES //将所有本地用户限制在家目录中(需添加)
    • guest_enable=YES //启用用户映射功能,允许虚拟用户登录(需添加)
    • pam_service_name=vusers.vu //指定对虚拟用户进行PAM认证的文件名vuser.vu
    • user_config_dir=/etc/vsftpd/vconfig //指定虚拟用户的配置文件的位置(需添加)
    • allow_writeable_chroot=YES

  • (6)为虚拟用户ftp、techer建立各自独立的配置文件
    mkdir /etc/vsftpd/vconfig

    • ** vuser1**

      • vi /etc/vsftpd/vconfig/vuser1
      • guest_username=svuser1 //设置ftp对应的本地用户为ftpuser
      • local_root=/var/ftp/share //用户登录后所在的目录
      • anon_world_readable_only=NO //允许浏览和下载
      • anon_max_rate=500000 //限定传输速率为500KB/s
    • vuser2
      • vi /etc/vsftpd/vconfig/vuser2
      • guest_username=svuser2
      • local_root=/var/ftp/noshare
      • anon_world_readable_only=NO
      • write_enable=YES //允许写入
      • anon_upload_enable=YES //允许上传
      • anon_mkdir_write_enable=YES //允许创建文件夹
      • anon_max_rate=1000000 //限定传输速度为1000KB/s
  • (7)修改SELinux允许本地用户登录和匿名用户具有写入权限

  • (8)重新加载vsftpd服务,使配置生效
    systemctl restart vsftpd

FTP服务器配置实例(匿名用户、本地用户、虚拟用户)相关推荐

  1. Ubuntu下同时搭建支持匿名、本地、虚拟用户的ftp服务器

    最近做助教,需要搭建一个ftp服务器.需求如下:需要一个stu.teacher.admin和匿名用户anon, 其中 anon可以自由的到特定的目录里下载东东: stu则可以到特定的目录里上传东东;  ...

  2. Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)

    对于Linux搭建服务器步骤详解:可以基于匿名访问.本地用户访问.虚拟用户访问 FTP服务访问可分为三种 匿名用户:用户名为ftp或者anonymous,提供任意密码或无密码访问即可. 本地用户:要求 ...

  3. ftp服务器 vsftpd搭建和配置以及虚拟用户的设置

    tp: File Transfer Protocol应用层协议:tcp, 21/tcpC/S:Client: 程序Server: 程序数据:命令连接:文件管理类命令,始终在线的连接数据连接:数据传输, ...

  4. Linux服务器架设-FTP服务器配置实例

    FTP服务器配置 任务背景: 学院准备搭建FTP服务器,对于所有的学生均以真实账号登录(学号:0800901),允许下载相关信息及学习资料,禁止上传,但操作目录只限于/students下.所有老师也以 ...

  5. vsftp本地用户,虚拟用户,匿名用户同时工作

    vsftpd+mysql  实现本地用户,匿名用户,虚拟用户同时工作 大纲 1.安装vsftpd mysql  pam-mysql 2.添加虚拟用户(使用本地数据库和数据库服务器) 3.实现本地用户, ...

  6. 使用FTP协议的服务,包括匿名用户验证访问,用户验证访问,虚拟用户验证访问等

    目录 1.FTP服务概述 2.在服务端安装vsftpd程序 3.基于匿名用户验证访问的 FTP 服务 4.测试匿名 FTP服务 5.基于用户验证访问的FTP服务 6.基于用户验证访问的FTP服务的测试 ...

  7. redhat AS5 FTP虚拟用户配置(本地数据库方式认证)

    1.新建一个文本文件,内容为虚拟用户的账号.密码,奇数行为账号,偶数行为密码: 2.生成数据文件,需要db4-utils*这个软件的支持,默认没有安装,我们这里安装下: 然后使用:db_load -T ...

  8. FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)

               VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 首先安装 主配置文件:/etc/vsftpd/vsftpd.co ...

  9. Linux下如何使用虚拟用户增加FTP的安全性

    实验背景: Dreamfire公司由于业务需求,需要架设一台FTP服务器,出于系统稳定和安全等多方面考虑,决定使用RHEL 4作为服务器平台,架设vsftp服务器.其次为了最大限度地保证公司内部RHE ...

最新文章

  1. datetime类型需要指定长度吗_你真的用对数据库了吗?
  2. PHP高性能分布式应用服务器框架-SwooleDistributed
  3. 《树莓派实战秘籍》——2.7 技巧27尝试Occidentalis:为(高级)教育目的的树莓派发行版...
  4. Ubuntu16.04下CUDA 9.0 + cuDNN v7.0 + tensorflow 1.6.0(GPU)环境搭建
  5. 第十一期:数据挖掘其实就是为了干这四种事?
  6. 神奇的css3(2)动画
  7. C语言排序名单(字典)
  8. Spring 跨域问题CORS (Cross Origin Resources Share)
  9. 头条的_signature这个如何_如何彻底防止反编译,dex加密怎么做
  10. Linux Ext2/Ext3/Ext4文件系统
  11. springboot集成微信APP支付V3最新版
  12. ASPICE过程开发
  13. 微博十年,再次走到十字路口
  14. wlacm 铲雪车snow 题解
  15. 人生七年,耗时56年跟拍14个孩子,结局道尽人生残酷真相
  16. mysql 修改 character_set_database_如何将character_set_database latin1 改为 gbk(转)
  17. Tensorflow实现进阶的神经网络
  18. 51单片机12864大液晶屏俄罗斯方块 ROTEUS 和51单片机教程(仿真文件+源代码)
  19. tenacity -- Python中一个专门用来retry的库
  20. 嵌入式中的BSP---BSP到底是什么?

热门文章

  1. PCA SVD opencv 降维对比
  2. 对象栈和运算栈c++(备忘整理)
  3. 【摘要】HinDroid:一个基于异质图的安卓恶意软件智能检测系统
  4. vue高仿网易云音乐踩到的坑:根据登陆状态显示头像
  5. vs2015+opencv3.2+mfc读取摄像头显示在图片控件Picture Control
  6. 随笔(如何提高系统的响应速度)
  7. 分析java进程假死
  8. 如何找到工作?---转在校园论坛自己写的工作总结
  9. Struts2_09_xml表单验证实例
  10. 如何显示文件后缀名,这4个方法很简单!