Vsftpd服务的部署及优化

1:实验环境

 设定服务端主机,关闭selinux

 vim /etc/sysconfig/selinux 设定为disabled

 然后reboot

systemctl enable --now vsftpd                               ##启动vsftpd

firewall-cmd --permanent --add-service=ftp          ## 设置允许权限

firewall-cmd --reload                                             ## 加载

安装lftp                           #ftp协议文本浏览器

dnf install vsftpd -y                             ##服务端

 dnf install lftp -y                               ##客户端

 

2:ftp介绍

ftp:file transfer proto 互联中最老牌的文件传输协议

3:vsftpd基本信息

服务名称: vsftpd.service

配置目录: /etc/vsftpd

主配置文件: /etc/vsftpd/vsftpd.conf

默认发布目录: /var/ftp

报错信息:

                 550                                   ##程序本身拒绝

                 553                                   ##文件系统权限限制

                 500                                  ##权限过大

                 530                                  ##认证失败

4:匿名用户访问控制

lftp 172.25.254.200                             ##当访问ftp服务时没有加入用户认证为匿名访问

lftp 172.25.254.200 -u westos            ##本地用户访问

①家目录控制: anon_root=/westos 

 mkdir /westos

vim /etc/vsftpd/vsftpd.conf 写入anon_root=/westos  家目录控制

systemctl  restart  vsftpd

 

 在/westos建立文件;匿名用户可以在200主机上访问

如果出现500报错说明给的权限过大 

②上传控制: anon_upload_enable=YES|NO

   vim /etc/vsftpd/vsftpd.conf  写入

 用于用户接入后默认在/var/ftp目录下,要在pub目录中上传文件需要设定ftp用户组对于pub目录的权限

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub

 设定之后可以以匿名用户的方式上传文件passwd

③目录建立控制:anon_mkdir_write_enable=YES|NO

vim  /etc/vsftpd/vsftpd.conf                         写入anon_mkdir_write_enable=YES

④下载控制:anon_world_readable_only=NO                      ##匿名用户可以下载不能读的文件

 vim  /etc/vsftpd/vsftpd.conf                         写入anon_world_readable_only=NO 

 

⑤删除重命令控制:anon_other_write_enable=YES|NO

 vim /etc/vsftpd/vsftpd.conf                          写入anon_other_write_enable=YES

 

⑥匿名用户上传文件权限设定

  anon_umask=xxx

  anon_umask=022               ##当设定chown_username之后上传文权限将不是用此参数设定

 

⑦匿名用户上传文件的用户身份设定

 vim /etc/vsftpd/vsftpd.conf 写入

                 chown_upload=YES

                 chown_username=lee

                 chown_upload_mode=0644

 指定用户的id ,设定的文件权限为0644

⑧登陆数量控制: max_clients=2             只能登录两个

⑨上传速率控制:anon_max_rate=102400                    

vim /etc/vsftpd/vsftpd.conf                             写入anon_max_rate=102400 

 

 限制后的速率约为100K/s

5:本地用户访问

①登陆控制

    useradd ly

    useradd lee

 vim /etc/vsftpd/vsftpd.conf  写入local_enable=NO 设定本地用户不能登录

 用户lee不能登录

 ②家目录控制:local_root=/westos                         #设定家目录为/westos

      ftp 172.25.254.200 -u lee                   会进入到/westos目录下

③上传文件权限控制:

    local_umask=077

    anon_umask=022

 设定后文件权限为600

④用户登陆控制

    /etc/vsftpd/ftpusers ##永久黑

 

 写入的用户lee则不能登录

 

  /etc/vsftpd/user_list ##默认黑

 

写入的用户lee暂时不能登录 

 

⑤用户登陆白名单

     userlist_deny=NO                    #设定/etc/vsftpd/user_list位白名单

                                                      #不在名单中的用户不能登陆ftp

 systemctl restart vsftpd 写入用户westos

 仅名单内的用户可以登录

⑥锁定用户到自己的家目录中

    chmod u-w /home/*

    chroot_local_user=YES

 

 

 用户westos只能在自己的家目录中

⑦锁定用户到自己的家目录中的白名单

    chroot_local_user=YES

    chroot_list_enable=YES

    chroot_list_file=/etc/vsftpd/chroot_list

 

  vim /etc/vsftpd/chroot_list 写入用户lee

 

 ⑧锁定用户到自己的家目录中的黑名单

    chroot_local_user=NO

    chroot_list_enable=YES

    chroot_list_file=/etc/vsftpd/chroot_list

  vim /etc/vsftpd/chroot_list 写入用户lee  只有写入的用户lee被锁住

6:虚拟用户访问

1)建立虚拟用户过程

  ①vim /etc/vsftpd/ftp_auth_file                     #建立认证文件模板

      vim /etc/vsftpd/users 写入用户以及密码

  ②db_load  -T  -t hash  -f user user.db     ##加密认证文件

                                                                                          -T 转换 -t type -f 指定 转换文件

  ③vim /etc/pam.d/westos

vim /etc/pam.d/authfile 写入认证策略文件

pam_userdb.so 为认证插件     db=/etc/vsftpd/users 为加密指向

  ④vim /etc/vsftpd/vsftpd.conf

   

 systemctl restart vsftpd

pam_service_name=westos                             ##指定认证策略文件

guest_enable=YES                                          ##指定虚拟用户功能开启

guest_username=ftp                                        ##指定虚拟用户在ftp服务器上的用户身份

################虚拟用户家目录的独立设定#################

    mkdir -p /ftpuserdir/user{1..3}

    touch /ftpuserdir/user1/userfile1

    touch /ftpuserdir/user2/userfile2

    touch /ftpuserdir/user3/userfile3

    vim /etc/vsftpd/vsftpd.conf

    systemctl restart vsftpd

#########用户配置独立##############

  user_config_dir=/etc/vsftpd/userconf   #在此目录中与用户名称相同的文件为用户配置文件

 vim /etc/vsftpd/vsftpd.conf

 systemctl restart vsftpd

  mkdir /etc/vsftpd/userconf 

  vim /etc/vsftpd/userconf/user1

                        写入anon_upload_enable=YES

 vim /etc/vsftpd/vsftpd.conf 注释掉anon_upload_enable=YES

 systemctl restart vsftpd

  设定完成后user1用户可以上传文件

  user1和user3不行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值