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

一、匿名用户

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

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值