TFTP全称TrivialFileTransferProtocol,允许用户通过UDP协议在系统间传输文件。默认情况下,该协议使用UDP端口69。TFTP协议广泛用于无盘设备的远程启动。因此,在您的本地网络上设置一个TFTP服务器将非常有趣,这样您就可以在安装的Fedora和其他无盘设备上做一些事情。TFTP只能从远程系统读取数据或向远程系统写入数据,但不能列出远程服务器上的文件。它也不提供用户身份验证。由于安全问题和缺乏高级功能,TFTP通常仅在局域网(LAN)内使用。安装TFTP服务器首先需要安装TFTP客户端和TFTP服务器:dninstalltftp-servertftp-y上面的命令会在/usr/lib/systemd/system目录下为systemd创建tftp.service和tftp.socket目录文件。/usr/lib/systemd/system/tftp.service/usr/lib/systemd/system/tftp.socket接下来将这两个文件复制到/etc/systemd/system目录下并重命名。cp/usr/lib/systemd/system/tftp.service/etc/systemd/system/tftp-server.servicecp/usr/lib/systemd/system/tftp.socket/etc/systemd/system/tftp-server.socket修改文件复制并重命名这些文件后,您可以添加一些额外的参数。下面是tftp-server.service开头的样子:[Unit]Description=TftpServerRequires=tftp.socketDocumentation=man:in.tftpd[Service]ExecStart=/usr/sbin/in.tftpd-s/var/lib/tftpbootStandardInput=socket[Install]Also=tftp.socket在[Unit]部分添加如下内容:Requires=tftp-server.socket修改[ExecStart]行:ExecStart=/usr/sbin/in.tftpd-c-p-s/var/lib/tftpboot以下是这些选项的含义:-c选项允许创建新文件-s上没有其他额外的权限检查建议使用此选项以确保安全性和与一些不易在其请求中包含目录名称的引导ROM的兼容性.默认的上传和下载位置是/var/lib/tftpboot。接下来,修改[Install]部分的内容[Install]WantedBy=multi-user.targetAlso=tftp-server.socket不要忘记保存更改。以下是/etc/systemd/system/tftp-server.service文件的完整内容:[Unit]Description=TftpServerRequires=tftp-server.socketDocumentation=man:in.tftpd[Service]ExecStart=/usr/sbin/in.tftpd-c-p-s/var/lib/tftpbootStandardInput=socket[Install]WantedBy=multi-user.targetAlso=tftp-server.socket启动TFTP服务器重启systemd守护进程:systemctldaemon-reload启动服务器:systemctlenable--nowtftp-server要更改TFTP服务器允许上传下载权限,请使用此命令。注意TFTP是一种本质上不安全的协议,因此不建议您在与其他人共享的网络上执行此操作。chmod777/var/lib/tftpboot配置防火墙启用TFTP:firewall-cmd--add-service=tftp--permfirewall-cmd--reloadclientconfigurationinstallTFTPclientyuminstalltftp-y运行tftp命令连接服务器。下面是启用详细选项的示例:[client@thinclient:~]$tftp192.168.1.164tftp>verboseVerbosemodeon.tftp>getserver.logsgettingfrom192.168.1.164:server.logstoserver.logs[netascii]Received7bytesin0.0seconds[infbits/sec]tftp>quit[c??lient@thinclient:~]$记住,因为TFTP不能列出服务器上的文件,所以在使用get命令之前需要知道文件的确切名称。
