Linux网络服务之ftp

news2024/9/24 7:18:16

目录

  • 一.ftp的相关知识
    • 1.1 ftp的简介
    • 1.2 ftp的数据连接模式
  • 二.svftpd的安装和配置
    • 2.1 svftpd安装
    • 3.2 设置本地用户验证访问ftp
      • 3.2.1 设置本地用户可以访问ftp,禁止匿名用户登录
      • 3.2.2 对本地用户访问切换目录进行限制
    • 3.3 黑名单和白名单的使用
      • 3.3.1 黑名单的使用
      • 3.3.2 白名单的运用

一.ftp的相关知识

1.1 ftp的简介

FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信

20端口用于建立数据连接,并传输文件数据

21端口用于建立控制连接,并传输FTP控制命令

1.2 ftp的数据连接模式

主动模式:服务器主动发起数据连接

在这里插入图片描述
被动模式:服务器被动等待数据连接

在这里插入图片描述

二.svftpd的安装和配置

2.1 svftpd安装

rpm -qc vsftpd //检查vsftpd安装包是否存在,存在即不需要安装
yum install -y vsftpd //yum 安装vsftpd

在这里插入图片描述在这里插入图片描述

实验一:设置匿名用户访问FTP权限

进入配置文件修改参数在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述开始匿名访问测试

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述存在的缺点:匿名用户权限过高,存在安全隐患

3.2 设置本地用户验证访问ftp

3.2.1 设置本地用户可以访问ftp,禁止匿名用户登录

vim /etc/vsftpd/vsftpd.conf
local_enable=Yes #启用本地用户
anonymous_enable=NO #关闭匿名用户访问
write_enable=YES #开放服务器的写权限(若要上传,必须开启)
local_umask=077 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)

在这里插入图片描述
在这里插入图片描述
安全隐患:
在这里插入图片描述

3.2.2 对本地用户访问切换目录进行限制

添加切换目录的限制配置 :

vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES #允许被限制的用户主目录具有写权限

在这里插入图片描述
在这里插入图片描述
除此之外我们还能修改ftp服务访问时,宿主家目录,让它的家目录成为我们指定的地方

同样是修改 vsftpd.conf (在响应的版块添加即可,保存退出重启服务)

修改匿名用户、本地用户登录的默认根目录
anon_root=/var/www/html #anon_root 针对匿名用户
local_root=/var/www/html #local_root 针对系统用户

3.3 黑名单和白名单的使用

在安装vsftpd服务后,官方贴心的为我们在服务目录中提供了user_list (其中就是为了我们更好利用黑名单和白名单的手册)

黑名单:在黑名单上标记的用户,是我们禁止访问的对象。

白名单:在白名单上标记的用户是我们允许访问的对象,从某种意义上来讲,白名单比黑名单的制定更为严格和安全。

在这里插入图片描述

3.3.1 黑名单的使用

userlist_enable=YES #启用user_list用户列表文件
userlist_deny=YES #默认为YES,为黑名单,禁止user_list名单上的用户进行访问

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

3.3.2 白名单的运用

userlist_enable=YES #启用user_list用户列表文件
userlist_deny=NO #设置白名单,仅允许user_list用户列表文件的用户访问。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431014.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASEMI代理AD9959BCPZ原装ADI车规级AD9959BCPZ

编辑:ll ASEMI代理AD9959BCPZ原装ADI车规级AD9959BCPZ 型号:AD9959BCPZ 品牌:ADI /亚德诺 封装:LFCSP-56 批号:2023 安装类型:表面贴装型 引脚数量:56 类型:车规级芯片 工作…

【18图详解3种典型网络拓扑:如何设计一个网络?】

前言 在网络设计的时候,网络架构师需要根据组网的规模设计不同的组网架构,今天介绍3种典型网络架构。 小型组网架构 1、网络拓扑 终端用户接入到交换机,交换机直连防火墙构成的简单网络,防火墙连接internet,对内网的用…

Java并发控制 学习笔记1

一、并发控制的方法 1、悲观锁:常用的互斥锁都属于悲观锁,一个线程访问共享资源时其他线程不能访问。 2、乐观锁:允许同时访问共享数据,只有在提交时利用如版本号检查是否有冲突,应用github。 3、什么时候用乐观锁、什…

开发必备:EsayCode使用以及Oracle自定义模板

前言 写前先问一句,不会还有人在手动写这些基础的sql语句吧?! 最近在做Oracle的项目,手写mapper和entity文件真是写到手软,以前MySQL都是找的线上自动生成的,现在也不行了。 找了很长时间,也…

【Python】tkinter的简单使用(Tk对象、三大布局、变量、事件)

本文目录1.tkinter2.Tk对象3.三大布局3.1 pack布局3.2 grid布局3.3 place布局4.变量5.事件1.tkinter tkinter是Tcl/Tk GUI工具包(即使用Tcl语言开发Tk图形库)的标准Python接口,支持在Windows、macOS、Linux多平台运行。 tkinter是Python自带…

DPDK入门(环境搭建以及小demo)

文章目录零、从0开始配置dpdk环境的虚拟机一、dpdk的编译usertool/dpdk-setup.sh二、dpdk需要什么配置来支持1.多队列网卡2.巨页三、解析接收网络数据的过程经历了什么1.物理网卡2.NIC3.内核协议栈4.标准接口层Posix API5. 应用层上述过程发生的拷贝四、DPDK介绍基于上述接收网…

Github采用Http Push失败

Github采用Http Push失败 Github的密码凭证从2021年起开始就不能用了,现在采用http去push代码时候提示输入的密码要换成令牌(token)才可以。 如何在Github上生成自己的令牌呢? (1)简单来说就是将原来输入…

Linux搭建GitLab私有仓库,并内网穿透实现公网访问

文章目录前言1. 下载Gitlab2. 安装Gitlab3. 启动Gitlab4. 安装cpolar5. 创建隧道配置访问地址6. 固定GitLab访问地址6.1 保留二级子域名6.2 配置二级子域名7. 测试访问二级子域名前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具&#xff0c…

游戏运营专员的职责有哪些?提高游戏收入的关键是什么?

游戏运营是将一款游戏平台推入市场,通过对平台的运作,使用户从接触、认识、再到了解实际线上的一种操作、最终成为这款游戏平台的忠实玩家的这一过程。同时通过一系列的营销手段达到提高线上人数,刺激消费增长利润的目的。 游戏运营专员的职…

4.3 协方差及相关系数、矩

学习目标: 我正在学习协方差、相关系数和矩,我会采取以下措施: 理解基本概念:首先,我会努力理解协方差、相关系数和矩的基本概念。我会查阅参考资料,例如课本或在线教程,以便深入了解这些概念…

Unity设计模式—子类沙盒

Unity设计模式—子类沙盒 一个基类定义了一个抽象的沙河方法和一些预定义的操作集合。通过将它们设置为受保护的状态已确定它们仅供子类使用。每个派生的沙盒子类根据父类提供的操作来实现沙盒操作。 子类沙盒的名字比较生僻,其实内容非常常见,平常用的很…

警惕,3月20日WOS目录更新,50本SCI/SSCI被剔除,这个出版社多达18本

2023年3月SCI、SSCI期刊目录更新 2023年3月20日,Web of Science核心期刊目录再次更新!此次2023年3月SCIE & SSCI期刊目录更新,与上次更新(2023年2月)相比,共有50本期刊被剔除出SCIE & SSCI期刊目录…

香橙派4LTS和树莓派4B构建K8S集群实践之一:K8S安装

目录 1. 说明 1.1 软硬件环境 1.2 设计目标 2 实现 2.1 准备工作 - 香橙派 (k8s-master-1) - 树莓派 (k8s-node-1) - 两派都要干的事 2.2 containerd 安装与设置 2.3 安装 3 遇到的问题 3.1 k8s-master-1 3.2 k8s-node-1 4 相关命令 5 Tips 6 参考 1. 说明 …

【论文笔记】Deformable Convolutional Networks

1.介绍 1.1. 提出DCN的原因 卷积神经网络(CNNs)由于其固定几何结构局限了模型几何变换。 1.2.本文核心贡献:提出了两种新模块 deformable convolution 和 deformable RoI pooling 第一种是可变形卷积。它将2D偏移添加到标准卷积中的规则网…

【点云概述】什么是点云、来源、种类、特点、处理?

文章目录 一、什么是点云二、点云的来源三、点云的种类四、点云的特点五、点云的处理一、什么是点云 点云(point cloud)是空间中点的数据集,可以表示三维形状或对象,通常由三维扫描仪获取。点云中每个点的位置都由一组笛卡尔坐标 ( X , Y , Z ) (X, Y, Z) (X,Y,Z)描述,有…

【C++】4. 重载函数

文章目录 前言一、函数重载1.1 重载的条件1.2 函数名修饰 前言 自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了。比如:以前有一个笑话,国有两个体育项目大家根本不用看&…

双目三维测距(python)

文章目录 1. 双目检测1.1 调用相机1.2 分割画面 2. 双目标定2.1 相机标定2.2 获取参数 3. 双目测距3.1 立体校正3.1.1 校正目的3.1.2 校正方法3.1.2 相关代码 3.2 立体匹配和视差计算3.3 深度计算3.4 注意事项 4. 完整代码 代码打包下载: 链接1:https://…

Spring MVC 的调用(12)

目录 SpringMVC流程 源码分析 第一步:用户发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者…

LeetCode:28. 找出字符串中第一个匹配项的下标 ——【1、理解 KMP 算法】

🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀算法专栏: 👉🏻123 目录一、🌱[28. 找出字符串中第一个匹配项的下标](https://leetcode.cn/proble…

synchronized 的 monitor 机制

synchronized 的 monitor 机制 前言 本文基于 jdk 8 编写。author JellyfishMIX - github / blog.jellyfishmix.comLICENSE GPL-2.0 monitor monitor 是 synchronized 中用以实现线程之间的互斥与协作的主要手段,它可以看成是对象或者 class 持有的锁。每一个对象…