目录

一、文本传输协议

二、连接方式

三、程序安装

四、黑名单和白名单

五、实验

  1.实验一:匿名用户下载与上传

  2.实验二:关闭匿名用户登录,允许普通用户登录在家目录上传和下载

  3.实验三:禁止用户切换目录,只能在家目录操作

  4.实验四:黑名单限制test1登录

    5.实验五:白名单限制

  6.实验六:root登录

  

一、文本传输协议

   ftp特点:1.网络控制文件的双向传输

       2.是一个应用程序

       3.有不同操作系统ftp

       4.都遵守同一种协议

       5.传输协议tcp

       6.通信端口20 和21(20是建立数据连接,传输文件数据,21是控制连接,传输ftp控制命令)

二、连接方式

  1.主动模式:服务器主动对客户端发起连接,客户端与服务器的21端口连接,需要传输数据时,客户端会选择一个未使用的端口,告知服务器通过此端口传输数据,服务器通过连接将连接请求发给客户端,确定建立连接。

  2.被动模式:客户端主动对服务器发起连接,客户端与服务器的21端口连接,需要传输数据时,服务器现在在一个未使用的端口,告诉服务器通过此端口传输数据,客户端通过连接将连接请求发给客户端,确定建立连接。

  

  主动模式和被动模式区别:

    生产中一般采用被动模式,这样可以更好的跨过防火墙的限制。

  

  红色时主动模式,蓝色时被动模式

三、程序安装

  vsftpd安装

四、黑名单和白名单

  黑名单:凡是在名单上都不可以登录

  白名单:只有在名单上才可以登录(安全性较高)

  最后权限文件:ftpusers,里面用户不可登录(系统用户)

  

五、实验

  1.实验一:匿名用户下载与上传

   默认备份文件

  进入配置文件夹,备份一份vsftpd.conf

    进入配置文件进行修改

     允许匿名用户上传文件。默认已注释,需取消注释

    允许匿名用户创建(上传)目录。默认已注释,需取消注释

    允许删除、重命名、覆盖等操作。需添加

    重启服务

    关闭防火墙,关闭安全机制

  增加匿名文件pub权限

  增加一个文件便于上传和下载

  下载txt

  查看test.txt文件

  上传text1.txt

  先创建一个text1.txt文件

  

  接收成功,查看文件

  2.实验二:关闭匿名用户登录,允许普通用户登录在家目录上传和下载

  设置用户密码

  将文件权限设置为只能在宿主目录操作

  可以看到

  在其他目录是不能上传和下载,只有在/home/test1家目录里才可以操作

  

  3.实验三:禁止用户切换目录,只能在家目录操作

  将用户禁锢在家目录

  允许写权限

  重启服务

  可以看到test1用户想切换到/opt目录无法切换

  但是可以在家目录查看

  

  4.实验四:黑名单限制test1登录

  打开黑名单

   vim /etc/vsftpd/vsftpd.conf 

  查看黑名单用户名

  确定没有test1,说明test1可以登录

  test1确实可以登录

  5.实验五:白名单限制

    vim /etc/vsftpd/vsftpd.conf

  确定有test1,说明test1可以登录,没有test2不可登录

  切换黑白名单要重启服务vsftp

  可以看到test1可以登录,test2不可登录

  6.root可以登录(默认不能登录)

  进入ftbusers删除root,user_list里也加入root(现在是白名单)

可以看到可以登录

linux FTP文本传输的更多相关文章

  1. FTP文本传输协议

    一.存储类型 存储类型分为三种: 直连式存储:Direct-Attached Storage,简称DAS 网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在 ...

  2. linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)

    FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...

  3. 详述Linux ftp命令的使用方法

    转自:http://os.51cto.com/art/201003/186325.htm ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里 ...

  4. Linux的文本处理工具浅谈-awk sed grep

    Linux的文本处理工具浅谈 awk   老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS ...

  5. 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识

    第35章      FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...

  6. FTP文件传输服务

    FTP文件传输服务 一 .FTP 连接及传输的模式 l  控制连接:TCP21,用于发送FTP命令信息. l  数据连接:TCP 20, 用于上传下载数据. · 数据连接建立的类型: ·主动模式: 服 ...

  7. Linux ftp 命令

    一.ftp的get命令和mget命令有何不同? get一次只下载一个文件:mget一次可以下载多个文件,而且支持通配符,需要注意的是在mget的时侯,需要对每一个文件都选择y/n,如果想不交互的下载全 ...

  8. Linux ftp命令的使用方法 -- 转

    http://jingyan.baidu.com/article/066074d68b6a7ac3c21cb038.html FTP(File Transfer Protocol, FTP)是TCP/ ...

  9. FTP(文件传输协议)工作原理

    目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...

  10. Linux ftp Command

    一.ftp的get命令和mget命令有何不同? get一次只下载一个文件:mget一次可以下载多个文件,而且支持通配符,需要注意的是在mget的时侯,需要对每一个文件都选择y/n,如果想不交互的下载全 ...

随机推荐

  1. Android笔记--添加联系人

    添加联系人(将联系人信息添加到手机的通讯录里面) 方式一:使用ContentResolver方法写入对象,每次一个字段 新创建一个需要加入通讯录的对象(我这里写的比较简单,并不是通讯录的标准格式,就是 ...

  2. docker 部署 postgres

    1. 打开dockerhub查找postgres版本 地址 https://registry.hub.docker.com/_/postgres/tags 2.复制需要的版本 docker pull ...

  3. python创建线程传参误区记录

    创建线程可以使用threading模块中的Thread子类: 其中Thread子类允许的参数如下: (self, group=None, target=None, name=None, args=() ...

  4. 如何在mac上使用idea做大数据开发

    1 软件包下载 jdk1.8 (jdk1.8.0_231) idea(包括2018,2019) (ideaIC-2019.3.3/ideaIC-2018.3.5) 汉化包:汉化包.rar maven3 ...

  5. 写书写到一半,强迫症发作跑去给HotChocolate修bug

    前言 这是写作<C#与.NET6 开发从入门到实践>时的小故事,作为本书正式上市的宣传,在此分享给大家. 正文 .NET目前有两个比较成熟的GraphQL框架,其中一个是HotChocol ...

  6. selenium中处理验证码问题1-获取验证码图片

    selenium中处理验证码问题: 验证码: 基本作用:可以实现当前访问页面的数据安全性.还可以减少用户的并发数:实现大流量的分流 类型:1.纯数字.纯字母 2.汉字组合 3.数学运算题 4.滑动 5 ...

  7. Mybatis 框架下 SQL 注入攻击的方式

    前言 SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少. 新手代码审计者往往对Java Web应用的多个框架组合而心生畏惧,不知如何下手 ...

  8. Anaconda 安装 PyTorch 和 DGL

    安装 PyTorch Anaconda 是 PyTorch 官方推荐的包管理工具,它会帮助安装所有的依赖项.当使用 conda 安装的时候,可能会出现下载过慢的问题,需要更换清华源来代替默认的cond ...

  9. 道德与社会问题简报 #3: Hugging Face 上的道德开放性

    使命: 开放和优秀的机器学习 在我们的使命中,我们致力于推动机器学习 (ML) 的民主化,我们在研究如何支持 ML 社区工作并有助于检查危害和防止可能的危害发生.开放式的发展和科学可以分散力量,让许多 ...

  10. Django笔记三十八之发送邮件

    本文首发于公众号:Hunter后端 原文链接:Django笔记三十八之发送邮件 这一篇笔记介绍如何在 Django 中发送邮件. 在 Python 中,提供了 smtplib 的邮件模块,而 Djan ...