ubuntu下安装TFTP服务器

在 Ubuntu 系统下安装和配置 TFTP(Trivial File Transfer Protocol)服务器可以按照以下步骤进行:

1. 安装 TFTP 服务器软件包

TFTP 服务器通常使用 tftpd-hpa 软件包,你可以使用以下命令进行安装:

复制代码
sudo apt update
sudo apt install tftpd-hpa

2. 配置 TFTP 服务器

安装完成后,需要对 TFTP 服务器进行配置。配置文件位于 /etc/default/tftpd-hpa,使用以下命令编辑该文件:

复制代码
sudo nano /etc/default/tftpd-hpa

在文件中,你可以根据需要修改以下参数:

复制代码
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
  • TFTP_USERNAME:指定运行 TFTP 服务器的用户。
  • TFTP_DIRECTORY:指定 TFTP 服务器的根目录,客户端将从该目录下载和上传文件。你可以根据需要修改该目录的路径。
  • TFTP_ADDRESS:指定 TFTP 服务器监听的地址和端口,默认端口为 69。
  • TFTP_OPTIONS:指定 TFTP 服务器的选项,其中:
    • -l 表示以独立模式运行服务器。
    • -c 允许客户端创建新文件。
    • -s 表示使用指定的根目录作为服务器的根,防止客户端访问根目录以外的文件。

编辑完成后,按 Ctrl + X,然后按 Y 保存修改,最后按 Enter 退出编辑器。

3. 创建 TFTP 根目录

根据前面配置的 TFTP_DIRECTORY,创建相应的目录,并设置正确的权限:

复制代码
sudo mkdir -p /srv/tftp
sudo chown -R tftp:tftp /srv/tftp
sudo chmod -R 777 /srv/tftp

这里将 /srv/tftp 目录的所有权赋予 tftp 用户和组,并设置该目录及其子目录的权限为 777,以允许读写操作。

4. 启动和设置 TFTP 服务器开机自启

使用以下命令启动 TFTP 服务器:

复制代码
sudo systemctl start tftpd-hpa

设置 TFTP 服务器在系统启动时自动启动:

复制代码
sudo systemctl enable tftpd-hpa

5. 验证 TFTP 服务器是否正常工作

你可以使用 tftp 客户端来验证服务器是否正常工作。首先,安装 tftp 客户端:

复制代码
sudo apt install tftp

然后,连接到本地的 TFTP 服务器:

复制代码
tftp localhost

tftp> 提示符下,使用 put 命令上传一个文件,或使用 get 命令下载一个文件,例如:

复制代码
tftp> put test.txt
tftp> get test.txt

如果上传和下载操作都能正常完成,则说明 TFTP 服务器已经成功安装和配置。

6. 关闭 TFTP 服务器(可选)

如果你需要停止 TFTP 服务器,可以使用以下命令:

复制代码
sudo systemctl stop tftpd-hpa

如果你不想让 TFTP 服务器在系统启动时自动启动,可以使用以下命令:

复制代码
sudo systemctl disable tftpd-hpa

通过以上步骤,你就可以在 Ubuntu 系统下成功安装和配置 TFTP 服务器。

客户端操作:

下载:ttfp -g -r 文件名 服务器IP地址

上行:tftp -p -r 文件名 服务器IP地址

相关推荐
.小墨迹23 分钟前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_42 分钟前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield1 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑1 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴1 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道1 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家1 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
代码AC不AC1 小时前
【Linux】深入理解缓冲区
linux·缓冲区·标准错误
Doro再努力1 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
Lsir10110_2 小时前
【Linux】进程信号(上半)
linux·运维·服务器