tftp 服务部署

这个服务挺简单的,但是今天用到了,还是写一下把

简单文件传输协议(Trivial File Transfer Protocol,TFTP)是一种基于 UDP 协议在客户端
和服务器之间进行简单文件传输的协议。顾名思义,它提供不复杂、开销不大的文件传输服
务(可将其当作 FTP 协议的简化版本)。
TFTP 的命令功能不如 FTP 服务强大,甚至不能遍历目录,在安全性方面也弱于 FTP
服务。而且,由于 TFTP 在传输文件时采用的是 UDP 协议,占用的端口号为 69,因此
文件的传输过程也不像 FTP 协议那样可靠。但是,因为 TFTP 不需要客户端的权限认证,
也就减少了无谓的系统和网络带宽消耗,因此在传输琐碎(trivial)不大的文件时,效率
更高。

TFTP 服务是使用 xinetd 服务程序来管理的。xinetd 服务可以用来管理
多种轻量级的网络服务,而且具有强大的日志功能。简单来说,在安装 TFTP 软件包后,还需
要在 xinetd 服务程序中将其开启,把默认的禁用(disable)参数修改为 no:

  1. 安装tftp

    yum install tftp-server tftp xinetd 
    
    # 检查一下包是否安装
    [root@localhost ~]# rpm -qa|grep tftp
    tftp-5.2-22.el7.x86_64
    tftp-server-5.2-22.el7.x86_64
    [root@localhost ~]# rpm -qa|grep xinetd
    xinetd-2.3.15-14.el7.x86_64
    
  • tftp-server 服务端
  • tftp 客户端
  • xinetd 用来管理TFTP 的程序
  1. 编辑 /etc/xinetd.d/tftp

    service tftp
    {socket_type             = dgramprotocol                = udpwait                    = yesuser                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpboot -c   disable                 = no 	per_source              = 11cps                     = 100 2flags                   = IPv4
    }
    
  • disable = no 启用tftp服务器
  • server_args = -s /var/lib/tftpboot -c /var/lib/tftpboot 默认的存储位置,可以修改, -c 加上-c参数可以上传文件,不然就无法上传

重启xinetd服务

[root@localhost ~]# systemctl restart xinetd
[root@localhost ~]# systemctl enable xinetd

tftp使用udp 69端口,需要开放端口,或者关闭防火墙

  1. 测试
    tftp默认文件路径在/var/lib/tftpboot/
    在服务端生成文件
    [root@localhost ~]# echo "success" > /var/lib/tftpboot/test.txt
    

在客户端下载测试

[root@localhost ~]# tftp 192.168.92.80
tftp> get test.txt
tftp> q
[root@localhost ~]# cat test.txt 
success

192.168.92.80 是服务端的IP

在客户端上传测试

[root@localhost ~]# ll
total 8
-rw-------. 1 root root 1357 Apr 28 10:41 anaconda-ks.cfg
-rw-r--r--. 1 root root    8 May  7 09:31 test.txt
[root@localhost ~]# tftp 192.168.92.80
tftp> put test.txt
Error code 0: Permission denied
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg
Error code 0: Permission denied
[root@localhost ~]# chmod 777 anaconda-ks.cfg 
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg
Error code 0: Permission denied
[root@localhost ~]# ls
anaconda-ks.cfg  test.txt
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg

在上面报了一个权限错误 Error code 0: Permission denied,解决办法将 服务端 执行:
chmod 777 /var/lib/tftpboot

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

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

相关文章

nginx 负载均衡、反向代理实验

nginx 负载均衡、反向代理实验 实验目的 理解概念:明确反向代理和负载均衡的基本概念及其在网络架构中的作用。 掌握技能:学习如何配置Nginx以实现反向代理和负载均衡功能。 实践应用:通过实际操作,体验Nginx如何提升Web服务的可…

LeetCode406:根据身高重建队列

题目描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数…

ubuntu下qrencode arm 环境编译和使用

我有一个Linux 环境 V3S的qrm开发板,我需要在开发板上实现一个生成二维码的功能,于是想到了qrencode 这个库。 过程如下: 1,下载qrencode 源码(自行百度下载) 2,打开源码,可以看到源码里有一个configure…

TinyXML-2介绍

1.简介 TinyXML-2 是一个简单、小巧的 C XML 解析库,它是 TinyXML 的一个改进版本,专注于易用性和性能。TinyXML-2 用于读取、修改和创建 XML 文档。它不依赖于外部库,并且可以很容易地集成到项目中。 tinyXML-2 的主要特点包括&#xff1a…

外设寄存器的映射到内存地址空间的过程

外设寄存器的映射到内存地址空间的过程称为内存映射I/O(Memory-Mapped I/O,MMIO)。这种映射是硬件设计的一部分,在芯片设计过程中由硬件工程师完成。以下是这个过程的一些重要步骤: 硬件设计:在微控制器或处…

你是我的荣耀 | 林先生:从酷爱数学到毕业走向数据分析岗位

人物背景: 研究生国家奖学金、本科生国家奖学金、学业奖学金一等奖、上海市优秀毕业生; 应用统计专业 CPDA优秀学员 ## 为什么选择数据分析相关专业 我是应用统计专业的一个应届毕业生,目前在一家上海市属的国企,从事数据分析相关…

远程工作的数据安全挑战和解决策略

随着远程工作的普及,数据安全面临了前所未有的挑战。企业在应对这些挑战时,必须采取切实有效的策略来保护敏感信息。以下是远程工作数据安全的主要挑战和相应的解决策略: 数据安全挑战 设备丢失或被盗:员工在外工作时&#xff0c…

ldap对接jenkins

ldap结构 配置 - jenkins进入到 系统管理–>全局安全配置 - 安全域 选择ldap - 配置ldap服务器地址,和配置ldap顶层唯一标识名 配置用户搜索路径 - 配置管理员DN和密码 测试认证是否OK

小组练习:请列出关于创新感受最深的几点启发

创新是推动社会进步的关键因素:无论是科技、教育、艺术、商业还是其他领域,创新都是推动其发展的主要动力。只有不断创新,才能使社会不断发展和进步。 创新需要勇气和决心:创新往往意味着打破常规,挑战现状。这可能会…

AIGC技术带给我们什么?基于AIGC原理及其技术更迭的思考

AIGC技术带给我们什么?基于AIGC原理以及技术更迭的思考 前言 AI,这个词在如今人们的视野中出现频率几乎超过了所有一切其他的事物,更有意思的是,出现频率仅次于这个词的,几乎都会加上一个修饰亦或是前缀——AI&#…

ROS机器人实用技术与常见问题解决

问题速查手册(时实更新)更加全面丰富的问题手册记录 1.机器人使用GPARTED挂载未分配空间 需要在图型界面下操作,建议使用no machine连接 安装gparted磁盘分区工具, sudo apt-get install gparted -y 启动软件 sudo gparted 点击磁盘/内存…

如何使用vue脚手架创建项目

前言 使用vue搭建项目的时候,我们可以通过对应的cmd命令去打开脚手架,然后自己配置对应的功能插件 说明: 要使用Vue脚手架创建项目,你需要先确保你已经安装了Node.js和npm(Node.js的包管理器)。然后&#…

热敏电阻怎么进行性能测试?并以LabVIEW为例进行说明

过程也可用于执行热敏电阻测量。RTD和热敏电阻遵循非常相似的功能原理,测量步骤与下面提供的步骤相同。有关热敏电阻的更多信息,请参阅本文档。 查找设备引脚排列 在连接任何信号之前,请找到您的设备引脚排列。 打开NI MAX并展开设备和接口。…

视频素材库在哪里找免费手机版?8个可以用手机浏览的素材网

在视觉内容占据主导地位的今天,合适的视频素材可以大大提升项目的吸引力和效果。以下列出的视频素材网站为广告制作者、社交媒体策略师及电影制作人提供了从传统到现代风格的各种视频素材选择,满足不同的创作需求。 1. 蛙学府(中国&#xff…

PyGame 文字显示问题及解决方法

在 Pygame 中显示文字时可能会遇到一些问题,例如文字显示不清晰、字体不正确或者文字位置不准确等。以下是一些常见的问题及其解决方法,具体情况可以看看情况。 1、问题背景 一位用户在使用 PyGame 库进行游戏开发时,遇到了一个问题&#xf…

单片机为什么能直接烧录程序?

在设计芯片的时候,关于烧录的环节是一个不得不考虑的问题。首先排除掉,由外部硬件直接操控FLASH的方案,这个方案有很多缺点。 1、每个IC使用的FLASH型号各不相同,每种型号的FLASH的烧录命令和流程都有差别,这会导致烧…

Mysql .frm 和 .ibd 文件区别

在 MySQL 中,.frm 和 .ibd 文件是数据库文件系统中的重要组成部分,它们分别承担着不同的角色: .frm 文件: 这种文件类型是用于存储表的结构定义的。每当您在 MySQL 中创建一个表时,系统就会为该表生成一个对应的 .frm …

完全背包基础题(第三十八天)

377. 组合总和 Ⅳ 题目 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 答案 class Solution {public int combinationSum4(int[] nums, int…

服务器关机前未退出xampp导出MySQL无法启动

背景解决 五一放假,服务器关机了,但是关机前没有正常关闭数据库服务,导致数据库无法启动! 查看错误日志如下 从报错信息可以看出是MySQL这个服务相关文件出现问题了,解决思路:重新安装xampp 重新安装xam…

automa警惕通过点击元素打开新的标签页,因为你可能会被他蒙蔽!

大家好,我是大胡子,专注于研究RPA实战与解决方案。 我们经常用到automa里面的【点击元素】组件,但要警惕通过点击元素打开新的标签页,例如下面这个场景,点击公众号的图文消息,之后,要自动输入标…