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地址

相关推荐
我没想到原来他们都是一堆坏人25 分钟前
利用vmware快速安装一个可以使用的centos7系统
linux·虚拟机
x-cmd31 分钟前
[250331] Paozhu 发布 1.9.0:C++ Web 框架,比肩脚本语言 | DeaDBeeF 播放器发布 1.10.0
android·linux·开发语言·c++·web·音乐播放器·脚本语言
weitinting43 分钟前
Ali linux 通过yum安装redis
linux·redis
myloveasuka1 小时前
[Linux]从硬件到软件理解操作系统
linux·开发语言·c++
CC.cc.1 小时前
Linux系统之systemctl管理服务及编译安装配置文件安装实现systemctl管理服务
linux·运维·服务器
ghostwritten2 小时前
k8s黑科技:Linux+Vagrant+VirtualBox开启Kubernetes奇幻之旅
linux·科技·kubernetes
the_nov2 小时前
14.网络套接字TCP
linux·c++·网络协议
电星托马斯2 小时前
C++中顺序容器vector、list和deque的使用方法
linux·c语言·c++·windows·笔记·学习·程序人生
爱写代码的小朋友3 小时前
华三交换机配置常用命令
运维·服务器·网络
wangjun51593 小时前
jenkins 参数化发布到服务器 publish over ssh、label、Parameterized publishing
服务器·ssh·jenkins