您知道流行的文件传输协议有更简单的替代方案吗?它是TFTP,下面是如何在Linux上设置它。TFTP(TrivialFileTransferProtocol,简单文件传输协议)最早定义于1980年,是一个相当古老的协议,1981年6月由KarenR.Sollins在RFC783(RequestforComments)中作为TFTP协议修订版2发布。早期,TFTP的主要目标是通过网络发送和接收文件。特别是,它用于传输引导期间所需的文件,以使系统能够通过网络引导。下面介绍如何在Linux机器上设置TFTP服务器。什么是TFTP?TFTP仍然用于文件传输目的,它所支持的特性没有根本改变。TFTP用于通过UDP/IP下载和发送文件。它没有其他文件传输协议中常见的附加功能,如身份和授权控制、文件列表、删除或重命名。与在传输层使用TCP的高级文件传输协议不同,它工作在UDP协议上,不具有检查属于文件的数据包是否将发送到另一端等功能。由于这个限制,它更适合在局域网中使用,而不是在Internet或广域网中使用。尽管上面列出了所有这些看似不利的功能,但TFTP协议非常强大的一个方面是它的简单性。与其替代方案相比,该协议的实施非常容易,即使对于没有操作系统的环境也是如此。由于这个特性,它在嵌入式系统中有着广泛的使用领域。在Linux上安装TFTP服务器使用嵌入式设备时,安装TFTP服务器服务很重要。在Linux系统上,可以运行多个TFTP服务器实现。如果您使用的是基于Debian的发行版,则可以安装tftpd-hpa、tftpd或atftpd软件包。如果您不确定选择哪一个,请考虑安装tftpd-hpa软件包。┌──(linuxmi?linuxmi)-[~/linuxmi.com]└─$sudoapt-getinstalltftpd-hpa安装完成后,TFTP服务会开始监听UDP69端口。要通过TFTP服务器向其他系统提供文件,您需要记住一些先决条件:将所需文件复制到TFTP主目录或该主目录下的目录使文件权限公开可见找出TFTP服务器主目录的内容是,您可以检查/etc/default/tftpd-hpa文件中的TFTP_DIRECTORY变量。通常您会看到类似/var/lib/tftpboot或/srv/tftp的目录。如果需要,您可以更改此目录并重新启动服务。┌──(linuxmi?linuxmi)-[~/linuxmi.com]└─$cat/etc/default/tftpd-hpa为了方便使用,如果你把相关TFTP主目录的属主改成你的用户账号,那么无需为使用sudo运行的每个命令添加前缀。使用chown命令将所有权从root更改为当前用户:sudochown-R$USER/srv/tftpTFTP服务器包名称和默认主目录可能因所使用的Linux发行版而异。使用TFTP服务器发送文件有时在某些情况下,TFTP是将文件从嵌入式Linux系统移动到外部环境的唯一选择。例如,有时系统可能不支持任何可用于传输文件的可写媒体。在这种情况下,由于TFTP客户端可能编译在busybox中,您可以将系统中保存的文件发送到网络上的TFTP服务器。要使用TFTP客户端应用程序,请发出busyboxtftp命令:busyboxtftp要将示例文件发送到TFTP服务器,您需要使用如下命令:busyboxtftp-lexample.bin-p192.168.1.111而上面的命令是正确的,但是向TFTP服务器传输文件时出现错误。由于返回的错误消息不是不言自明的,因此很难理解真正的问题是什么。这里的问题是因为TFTP服务器上的一些安全程序。TFTP要求在写入文件的目录下要有一个同名文件,作为文件上传的前提条件,并且该文件应该有所有人都可以写的权限。也就是说,TFTP客户端无法上传TFTP服务器上不存在的文件。如果您创建一个同名的空文件并编辑其访问权限,则上述上传过程将会成功。为此,您必须在相关的TFTP服务器主目录中运行以下命令:cd/srv/tftptouchexample.binchmod666example.bin现在您可以成功执行上传。也可以禁用上述安全措施并让TFTP服务器创建一个不存在的文件。为此,您可以在启动tftpd-hpa应用程序时使用-c或--create参数。将此参数添加到/etc/default/tftpd-hpa文件中现有的TFTPD_OPTIONS变量就足够了:#/etc/default/tftpd-hpaTFTP_USERNAME="tftp"TFTP_DIRECTORY="/srv/tftp"TFTP_ADDRESS="0.0.0.0:69"TFTP_OPTIONS="--secure--create"为什么要使用TFTP服务器进行文件传输?TFTP最重要的优点是速度快,可以帮助您节省时间。它是将配置文件从网络设备传输到其他系统的理想选择。此外,它具有非常简单的使用标准。它可以在基于Windows和Linux的操作系统上使用软件轻松运行。最后,在技术上无法使用FTP的情况下,TFTP总能提供帮助。当然,最大的缺点是不安全。因此,使用TFTP服务器传输文件时必须格外小心。除文件传输外,不能使用TFTP服务器进行文件的删除、编辑、修改等功能。对于那些使用或寻找高级系统的人来说,此功能是一个主要缺点。最后,它不需要身份验证,如果您认真对待自己的安全性,这是一个主要缺点。在其他操作系统上设置TFTP如果您想在Windows上使用TFTP,则无需安装任何第三方软件。您可以使用控制面板中的打开或关闭Windows功能选项启用TFTP。
