vsftpd服务的部署

ftp介绍

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

vsftpd安装

  • 安装前期准备
  • 挂载镜像
    在这里插入图片描述
    在这里插入图片描述
yum install vsftpd -y
  • 关闭selinux
  • 关闭firewalld
    在这里插入图片描述
systemctl start vsftpd
systemctl enable vsftpd
  • 测试安装发布:
  • firefox ftp://ip
  • lftp ip 此访问方式必须能列出资源才算访问成功
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

vsftpd基本信息

  • 服务名称:vsftpd.service
  • 配置目录:/etc/vsftpd
  • 主配置文件:/etc/vsftpd/vsftpd.conf
  • 默认发布目录:/var/ftp
  • 报错信息:
  • 550 :程序本身拒绝
  • 553 :文件系统权限限制
  • 500 :权限过大
  • 530 :认证失败
    在这里插入图片描述

匿名用户访问控制

lftp 192.168.1.10 
##当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.1.10 -u westos 
##本地用户访问

在这里插入图片描述

  • 进入主配置文件vim /etc/vsftpd/vsftpd.conf

  • 登陆控制

  • anonymous_enable=YES|NO
    在这里插入图片描述

  • 家目录控制

  • anon_root=/software

  • 上传控制

  • anon_upload_enable=YES|NO
    在这里插入图片描述

  • 实验环境:两台主机

  1. hostname=gagaga ip=192.168.1.15
  2. hostname=hahaha ip=192.168.1.20
  • 在gagaga中主配置文件,将上传控制设定为YES,然后再打开权限

  • chmod 777 /var/ftp/pub

  • 在hahah中

lftp 192.168.1.15
cd pub
put /etc/passwd

在这里插入图片描述

  • 下载控制
  • anon_world_readable_only=NO匿名用户可以下载不能读的文件
  • 目录建立控制
  • anon_mkdir_write_enable=YES|NO
  • 删除重命令控制
  • anon_other_write_enable=YES|NO
  • 登陆数量控制:
  • max_clients=2
  • 上传速率控制
  • anon_max_rate=102400
  • 其他设置也是在主配置文件中进行设置(与上面举例类似)
    在这里插入图片描述

本地用户的访问

  • 登陆控制
  • local_enable=NO|YES
useradd westos
useradd lee
echo westos | passwd --stdin westos
echo westos | passwd --stdin myr
## 将这两个用户的密码都改成westos
lftp 192.168.1.15 -u westos

  • 家目录控制

  • local_root=/software

  • 写权限控制

  • write_enable=NO|YES

  • 上传文件权限控制

  • local_umask=077

  • 用户登陆控制

  • vim /etc/vsftpd/ftpusers

  • vim /etc/vsftpd/user_list

  • /etc/vsftpd/ftpusers 永久黑名单

  • /etc/vsftpd/user_list 默认黑名单

  • 用户登陆白名单

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

在这里插入图片描述
-userlist_deny=NO代表 不在名单中的用户不能登陆ftp

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

  • chmod u-w /home/*

  • 编辑著配置文件中chroot_local_user=YES

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

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
  • 锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

注意:在设置完主配置文件之后,都需要重启vsftpd

  • systemctl restart vsftpd

虚拟用户访问

建立虚拟用户过程

  1. vim /etc/vsftpd/ftp_auth_file 建立认证文件模板
  • westos1
  • 123
  • westos2
  • 123
  • westos3
  • 123
  1. db_load -T -t hash -f ftp_auth_file ftp_auth_file.db 加密认证文件
  • -T 转换 -t type -f 指定转换文件
  1. vim /etc/pam.d/westos
 - account   required    pam_userdb.so  db=/etc/vsftpd/ 
 - ftp_auth_file auth 
 - required  pam_userdb.so  db=/etc/vsftpd/ 
 - ftp_auth_file
  1. vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos ##指定认证策略文件 
guest_enable=YES ##指定虚拟用户功能开启 
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份

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

mkdir  -p /ftpuserdir/westos{1..3} 
touch  /ftpuserdir/westos1/westos1file 
touch  /ftpuserdir/westos2/westos2file 
touch  /ftpuserdir/westos3/westos3file
  • vim /etc/vsftpd/vsftpd.conf
 local_root=/ftpuserdir/$USER 
 user_sub_token=$USER
  • systemctl restart vsftpd

用户配置独立

  • user_config_dir=/etc/vsftpd/user_config
  • 在此目录中与用户名称相同的文件为用户 配置文件
  • mkdir /etc/vsftpd/user_config
  • vim /etc/vsftpd/user_config/westos2
 anon_upload_enable=YES

设定完成后westos2用户可以上传文件 westos1和westos3不行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值