Vsftpd 服务的访问控制

一. ftp介绍

FTP 是File Transfer Protocol(文件传输协议)的英文简称,互联网中最老牌的文件传输协议。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

1.vsftpd安装及启用

dnf install vsftpd -y ## 安装ftp服务器
关闭selinux 及 防火墙,以免影响实验效果。
dnf install lftp -y ## 安装ftp客户端
安装完成后从客户端浏览器和lftp工具访问FTP服务器时,提示需要进行身份验证,
在这里插入图片描述
在这里插入图片描述是因为ftp服务器开启了禁止匿名用户登陆,编辑ftp服务器的配置文件后重启,使其允许匿名访问。
vim /etc/vsftpd/vsftpd.conf
在这里插入图片描述
启动匿名用户的访问功能后可以访问到共享资源:
在这里插入图片描述

2.vsftp服务的基本信息

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

二.匿名用户的访问控制

通过编辑vsftpd的配置文件进行以下操作:vim /etc/vsftpd/vsftpd.conf

1.登陆控制

允许或禁止匿名用户访问,当禁止匿名用户访问时,需要进行用户认证才可以访问成功
在这里插入图片描述

2. 家目录控制

新建家目录后在配置文件内指定家目录路径后重启服务
在这里插入图片描述
在这里插入图片描述
通过ftp客户端访问:
在这里插入图片描述

3.上传控制

默认不允许普通用户上传:提示550,即程序本身的上传控制没有打开
在这里插入图片描述
修改配置文件后重启
在这里插入图片描述
再次上传会提示553报错,即文件系统权限限制,需要修改pub目录的权限
在这里插入图片描述
修改pub目录的权限:
在这里插入图片描述
重新上传就成功了:
在这里插入图片描述

4.目录建立控制

创建目录时,提示550报错,即程序本身拒绝
在这里插入图片描述
编辑配置文件,打开匿名用户目录建立权限后重启
在这里插入图片描述
再次新建:
在这里插入图片描述

5.下载控制

下载文件时,提示550报错,即程序本身拒绝
在这里插入图片描述编辑配置文件,允许匿名用户下载只读文件后重启
anon_world_readable_only=NO
在这里插入图片描述
再次测试,文件会被下载到登陆时所在位置
在这里插入图片描述

6.文件删除与重命名控制

删除时不会报错,但命令执行完之后,并没有被删除,重命名时会提示550报错,即程序本身拒绝
在这里插入图片描述
修改配置文件,允许匿名用户删除和重命名后重启
anon_other_write_enable=YES
在这里插入图片描述
再次测试:
在这里插入图片描述

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

默认状态下,匿名用户上传的文件权限为600
在这里插入图片描述
修改配置文件,重新设定文件系统保留权限为022后重启
在这里插入图片描述
再次上传,文件权限变为644
在这里插入图片描述

8.用户上传身份的控制

默认状态下,匿名用户上传的文件身份都会被设定为ftp
在这里插入图片描述
修改配置文件:允许更改匿名用户上传身份为qyq,修改匿名用户上传文件权限为644
在这里插入图片描述
重启后再次上传:
在这里插入图片描述在这里插入图片描述

9.登陆数量控制

默认状态下,不会限制登陆数量,多个用户可以同时访问到共享资源,如需限制需要修改配置文件如下:
在这里插入图片描述
当已经有用户登陆时,超过限制数量的其他用户登陆就会收到请稍候再试的通知:
在这里插入图片描述

10.上传速率控制

dd if=/dev/zero of=/tmp/bigfile bs=1M count=200## 生成一个200M的测试文件
默认情况下,文件上传速率没有限制:
在这里插入图片描述编辑配置文件,修改其上传速率为100k/s
在这里插入图片描述
再次上传,上传最大速率会被限制在100以下:
在这里插入图片描述

三.本地用户的访问控制

允许本地用户登陆:
在这里插入图片描述

1.家目录控制

默认状态下,访问本地用户时,会直接访问到当前登陆用户的家目录:
在这里插入图片描述编辑配置文件,重新指定本地用户访问时的家目录:local_root=/erqian
在这里插入图片描述
重新访问本地用户:访问两个不同的用户,共享的资源相同。
在这里插入图片描述

2.写权限控制

默认状态下,本地用户登陆可以进行读写操作,
在这里插入图片描述编辑配置文件,关闭写的权限write_enable=NO,本地用户和匿名用户的读写权限都会被限制

在这里插入图片描述

在这里插入图片描述

3.本地用户上传权限控制

默认保留权限为022,
在这里插入图片描述
编辑配置文件,修改保留权限后重新上传:
在这里插入图片描述

在这里插入图片描述

4.用户登陆控制-黑白名单

用户永久黑名单: /etc/vsftpd/ftpusers
在这里插入图片描述再次访问,报错提示530,即认证失败。
在这里插入图片描述
用户默认黑名单: /etc/vsftpd/user_list
仅仅是一个用户列表,默认状态下用户列表里的用户都为黑名单,拒绝登陆。但也可以修改配置文件,将用户列表里的用户变为白名单

在这里插入图片描述编辑配置文件。设定user_list名单里为白名单,只有名单 里的用户才能登陆,其他用户会被拒绝。
在这里插入图片描述
在这里插入图片描述

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

默认状态下,登陆之后可以访问根目录下的文件

在这里插入图片描述编辑配置文件,将登陆用户锁定在自己的家目录中
在这里插入图片描述
修改家目录权限:chmod u-w /home/*
再次访问;用户已经被限制在自己的家目录中,不能访问到根下的资源
在这里插入图片描述
新建/etc/vsftpd/chroot_list文件,写入用户名称后修改配置文件,即可控制锁定家目录的黑白名单。
(1)锁定到自己家目录中的白名单
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
(2)锁定到自己家目录中的黑名单
chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
开关只控制chroot_list文件中的名单是何种限制。

四.虚拟用户的访问控制

登陆本地用户时都使用匿名用户登陆或者本地用户数量有限,因此需要建立虚拟用户供ftp访问

1.虚拟用户的建立

(1)建立认证文件模板
vim /etc/vsftpd/ftp_auth_file
在这里插入图片描述
(2)加密认证文件
db_load -T -t hash -f ftp_auth_file ftp_auth_file.db

  • -T #转换
  • -t #加密类型
  • -f #指定转换文件
    在这里插入图片描述
    (3)建立用户认证策略
    在这里插入图片描述
    (4)编辑ftp配置文件,指定认证规规则
    pam_service_name=ftpauth表示指定认证策略文件
    guest_enable=YES表示指定虚拟用户功能开启
    guest_username=ftp表示指定虚拟用户在 ftp 服务器上的身份
    在这里插入图片描述
    重启后访问:本地用户访问验证失败,虚拟用户登陆成功,并访问到共享资源:pub
    在这里插入图片描述

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

如上测试,虚拟用户登陆后访问的都是共享目录pub
建立每个虚拟用户的独立家目录
在这里插入图片描述
编辑ftp配置文件:
在这里插入图片描述
重新访问虚拟用户:
在这里插入图片描述

3.虚拟用户的独立配置

可以对单个虚拟用户自定义的特殊的配置
(1)关闭全局配置中的设定
(2)指定虚拟用户的权限配置文件
在这里插入图片描述
(3)编辑虚拟用户的配置文件,文件路径要与ftp配置文件中指定的相同
在这里插入图片描述
再次访问:只有user2开启了上传权限,其他用户上传会提示550报错,即程序本身拒绝
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值