FTP文件传输与vsftpd配置

news2024/12/23 14:20:51

一 存储类型

直连式存储DAS

适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

存储区域网络SAN

用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

网络附加存储NAS

适用于大型应用或数据库系统,缺点是成本高、较为复杂

二 FTP工作原理

文件传输协议

是典应用层协议,  c/s架构

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

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

2 数据传输格式:二进制   文本

3 双通道协议:命令与数据的连接

从服务器角度

主动模式:服务器主动开启20端口连接客户端传输真实数据

被动摸式:服务器随机开启端口等待客户端连接,客户机通过21命令来获取 服务端的随机端口

数据给客户端

被动(PASV style):服务器被动等待客户端连接

FTP服务状态码

服务器数据端口为:

用户认证:

  • 匿名用户:ftp,anonymous,对应Linux用户ftp root,两种协议

  • 一般提供公共文件的下载,如免费文件,学习资料,百度网盘

  • 系统用户:  Linux用户,用户/etc/passwd,密码/etc/shadow

  • 虚拟用户:   特定服务的专用用户,独立的用户/密码文件

常见 FTP 相关软件

vsftpd:

ftp.redhat.com数据

Wu-ftpd

vsftpd 软件介绍

用户认证配置文件: /etc/pam.d/vsftpd

配置文件或子目录: /etc/vsftpd

                             :/usr/sbin/vsftpd

                             :/var/log/vsftpd.log

用户和其共享目录

  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp

  • 系统用户共享文件位置:用户家目录

  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

安装服务端

客户端连接服务端

vsftpd服务常见配置

修改默认命令端口

服务端:修改 默认命令端口号

客户端:连接时需要指明 端口号

[root@localhost ~]#vim  /etc/vsftpd/vsftpd.conf

                              listen_port=2121                      #默认值为21

[root@localhost ~]#systemctl restart vsftpd

                             #ss   -ntl                     #查看端口

主动模式端口


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                              connect_from_port_20=YES                  #主动模式端口为20
                               ftp_data_port=20                                    #指定主动模式的端口,默认为20
[root@localhost ~]#systemctl restart vsftpd
 

被动模式端口

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                              pasv_min_port=6000    
                              pasv_max_port=6010
[root@localhost ~]#systemctl restart vsftpd 

   #0为随机分配,规定端口范围会影响客户端的并发数

使用当地时间

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

                              use_localtime=YES                    #使用当地时间  ,  默认为NO,使用GMT 

                              [root@localhost ~]#systemctl restart vsftpd

匿名用户登录


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                               anonymous_enable=YES                           #支持匿名用户,
                               no_anon_password=YES                           #匿名用户略过口令检查 , 默认NO
[root@localhost ~]#systemctl restart vsftpd 

匿名用户上传

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

                             anon_upload_enable=YES 匿名上传,注意:文件系统权限
                             anon_mkdir_write_enable=YES 匿名建目录

还需要开启文件系统访问的权限,不能给FTP根目录写权限否则报如下错误

匿名用户 下载 删除文件

指定匿名用户的上传文件的默认的所有者是ftp用户,这是可以修改的

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES                                           #默认NO
chown_username=mcb                                       #匿名用户的上传文件的默认的所有者用户
chown_upload_mode=0644                                #指定上传文件的权限
[root@localhost ~]#systemctl restart vsftpd  

 
Linux 系统用户

系统用户登录:使用普通用户登录默认是在 系统用户的 家目录

将所有系统用户映射为指定的guest用户

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


guest_enable=YES                                #所有系统用户都映射成guest用户
guest_username=ftp                              #配合上面选项才生效,指定guest用户
#local_root=/ftproot                                 #注释此行,默认所有用户都在ftp用户的家目录
user_config_dir=/etc/vsftpd/conf.d/         #每个用户独立的配置文件目录,可自由指定


[root@localhost ~]#systemctl restart vsftpd 
 

禁锢系统用户


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO                           #默认YES
[root@localhost ~]#systemctl restart vsftpd 
 

禁锢所有系统用户在家目录中


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
guest_enable=YES                                           #所有系统用户都映射成guest用户
guest_username=ftp                                        #配合上面选项才生效,指定guest用户
#local_root=/ftproot                                          #注释此行,默认所有用户都在ftp用户的家目录
user_config_dir=/etc/vsftpd/conf.d/                  #每个用户独立的配置文件目录,可自由指定
[root@localhost ~]#systemctl restart vsftpd  


禁锢用户开启白名单和黑名单

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES                                      #默认是NO
chroot_list_file=/etc/vsftpd/chroot_list                  #默认值
 
当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单,只允许名单里的用户登录
当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,即黑名单,只有文件里的用户禁锢
[root@localhost ~]#systemctl restart vsftpd  
 

ftp 默认启动日志

#wu-ftp 日志:默认启用

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


xferlog_enable=YES                                          #启用记录上传下载日志,此为默认值
xferlog_std_format=YES                                    #使用wu-ftp日志格式,此为默认值
xferlog_file=/var/log/xferlog                                  #可自动生成, 此为默认值


[root@localhost ~]#systemctl restart vsftpd 
 

#vsftpd日志:默认不启用


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


dual_log_enable=YES                    #使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log    #可自动生成, 此为默认值


[root@localhost ~]#systemctl restart vsftpd 
 

提示信息


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


ftpd_banner="welcome to mcb ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt  


[root@localhost ~]#systemctl restart vsftpd 
 

传输速率,单位:字节/秒      百度网盘限速就是这样玩


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


anon_max_rate=1024000               #1024000表示1MB/(数字随时改)
local_max_rate=102400


[root@localhost ~]#systemctl restart vsftpd 

pam模块实现用户访问

在内网环境ftp下,搭建本地yum仓库

①服务端搭建本地yum仓库,并下载vsftp软件

服务端IP  192.168.11.9

 

 

客户端搭建yum仓库下载vsftpd软件与ftp协议

客户端192.168.11.5   搭建仓库

 教训

在内网环境下http搭建yum仓库

 服务端IP192.168.11.9

指令小金刚

1 [root@localhost ~]#sort --help
   sort  -t

   sort   -n

2 [root@localhost ~]#cut --help
用法:cut [选项]... [文件]...
  cut  -d  使用指定分界符代替制表符作为区域分界

3 [root@localhost ~]#seq --help
  seq  -s

4 [root@localhost ~]#tr --help   转换   压缩    删除

5 [root@localhost ~]#uniq  --help

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

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

相关文章

Backtrader 文档学习-Indicators混合时间框架

Backtrader 文档学习-Indicators混合时间周期 1.不同时间周期 如果数据源在Cerebro引擎中具有不同的时间范围和不同的长度,指示器将会终止。 比如:data0是日线,data1是月线 。 pivotpoint btind.PivotPoint(self.data1) sellsignal self…

FairGuard游戏安全2023年度报告

导 读:2023年,游戏行业摆脱了疫情带来诸多负面影响,国内游戏市场收入与用户规模双双实现突破,迎来了历史新高点。但游戏黑灰产规模也在迅速扩大,不少游戏饱受其侵扰,游戏厂商愈发重视游戏安全问题。 为帮助…

WinForm中使用MaskedTextBox制作IP地址输入框

1.实现的功能:输入IP地址,形如000.000.000.000的格式,并设置keydown事件,当输入点(.)的时候,自动跳至下一栏。 具体方法: (1)…从工具箱中拖入一个MaskedTextBox,命名为MaskedTextBox_IP。 2.在Mask属性中&#xff0c…

【计算机组成与体系结构Ⅱ】多Cache一致性的模拟分析(实验)

实验八:多Cache一致性的模拟分析 一、实验目的 1:加深对多 Cache 一致性的理解。 2:进一步掌握解决多 Cache一致性的目录协议和监听协议的基本思想。 3:掌握在各种情况下, 目录协议和监听协议是如何工作的&#xf…

内网穿透的应用-使用Docker搭建一个Wiki.Js知识库系统并实现分享他人远程创作

文章目录 1. 安装Docker2. 获取Wiki.js镜像3. 本地服务器打开Wiki.js并添加知识库内容4. 实现公网访问Wiki.js5. 固定Wiki.js公网地址 不管是在企业中还是在自己的个人知识整理上,我们都需要通过某种方式来有条理的组织相应的知识架构,那么一个好的知识整…

vue3的创建及认识

1、创建项目 使用creat-vue搭建vue3项目 2、认识creat-vue create-vue是Vue官方新的脚手架工具,底层切换到了 vite (下一代前端工具链),为开发提供极速响应 3、创建create-vue项目 npm init vuelatest 4、认识vue3 首先熟悉一下v…

【Axure高保真原型】文字翻页效果

今天和大家分享选择文字翻页效果的原型模板,我们通过这个模板实现类似翻书的效果。鼠标点击右箭头,可以翻开下一页,点击左箭头翻开上一页;当然我们也可以通过鼠标拖动的操作进行翻页,鼠标想左拖动时,翻开下…

3d音响按键怎么建立模型---模大狮模型网

要建立3D音响按键的模型,您可以按照以下步骤进行: 选择建模软件:首先,选择一个三维建模软件,如Blender、3ds Max或Maya。这些软件都提供了丰富的建模工具和功能,适合用于创建复杂的三维模型。 参考图像&am…

基于 Hologres+Flink 的曹操出行实时数仓建设

本文整理自曹操出行实时计算负责人林震基于 HologresFlink 的曹操出行实时数仓建设的分享,内容主要分为以下六部分: 曹操出行业务背景介绍曹操出行业务痛点分析HologresFlink 构建企业级实时数仓曹操出行实时数仓实践曹操出行业务成果分析未来展望 一、曹…

C语言中的字符串操作函数自定义实现:标准版与限定长度版

目录 1. 标准字符串操作函数自定义实现 (a) 自定义strcpy函数 (b) 自定义strcat函数 (c) 自定义strcmp函数 2. 限定长度字符串操作函数自定义实现 (a) 自定义strncpy函数 (b) 自定义strncat函数 (c) 自定义strncmp函数 对字符串的操作是不可或缺的一部分。标准库提供了…

论文阅读 Vision Transformer - VIT

文章目录 1 摘要1.1 核心 2 模型架构2.1 概览2.2 对应CV的特定修改和相关理解 3 代码4 总结 1 摘要 1.1 核心 通过将图像切成patch线形层编码成token特征编码的方法,用transformer的encoder来做图像分类 2 模型架构 2.1 概览 2.2 对应CV的特定修改和相关理解 解…

Dobbo --- HelloWorld项目搭建

Dobbo-HelloWorld 1. demo -- spring方式集成1.1 实现步骤 2. demo -- springboot方式集成2.1 实现provider2.2 实现consumer2.3 项目测试 1. demo – spring方式集成 dubbo官方文档 提供一个可被调用的接口 提供方:实现接口的方法逻辑,启动应用程序&a…

【JavaEE】文件操作: File 类的用法和 InputStream, OutputStream 的用法

目录 1. File 概述 1.1 File的属性 1.2 File的构造方法 1.3 File的方法 2.读文件 2.1 InputStream 概述 2.2 FileInputStream 概述 2.3 正确打开和关闭文件的方式 2.4 不同方式读取文件代码示例 2.4 另一种方法:利用 Scanner 进行字符读取 3.写文件 3.1 OutputStre…

【架构】docker实现3主3从架构配置【案例1/4】

一,集群规划及准备工作 架构实现:Redis3主3从 二,搭建命令 第一步,创建6台服务: docker run -d --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --clust…

redis原理(四)redis命令

目录 一、字符串命令: 二、列表命令: 三、集合命令: 四、散列命令: 五、有序集合命令: 六、redis发布与订阅命令: 七、事务命令 八、其他命令 1、排序:SORT 2、键的过期时间&#xff…

SSH隧道技术

SSH隧道 简介 SSH隧道是一种通过SSH协议在两个网络节点之间建立安全通信的技术。它可以用于多种用途,包括加密和保护敏感数据传输、绕过防火墙限制、远程访问内部服务等。 应用: 端口转发:SSH隧道可以将本地端口转发到远程主机上&#xf…

如何使用视频下载助手获取公众号视频链接

微信公众号视频链接如何提取呢?今天就来说视频下载助手提取微信公众号的视频链接! 1:公众号获取视频下载助手二维码,并长按添加 2:找到需要下载的公众号带有视频的文章并转发给视频下载助手 3:提取完成后用户可以在视频下载助手中点击返回提取好的视频并…

Springboot智慧校园电子班牌统一管理平台源码

借助AIoT智能物联、云计算技术打造智慧绿色校园,助力实现校园教务管理、教师管理、学籍管理、考勤、信息发布、班级文明建设、校园风采、家校互通等场景功能,打造安全、便捷、绿色的智慧校园。 前后端分离架构 1、使用springbootvue2 2、数据库&#xff…

1.2 虚拟环境

1.2 虚拟环境 创建好应用目录之后,接下来该安装Flask了。安装Flask最便捷的方法是使用虚拟环境。 虚拟环境是Python解释器的一个私有副本,在这个环境中你可以安装私有包,而且不会影响系统中安装的全局Python解释器。 虚拟环境非常有用&…

力扣刷MySQL-第四弹(详细讲解)

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:力扣刷题讲解-MySQL 🍹文章作者技术和水平很有限,如果文中出…