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

相关推荐
爆肝疯学大模型11 分钟前
SQL server数据库实现远程跨服务器定时同步传输数据
运维·服务器·数据库
luck_me542 分钟前
k8s v1.26 实战csi-nfs 部署
linux·docker·云原生·容器·kubernetes
不摆烂选手43 分钟前
Linux 阻塞和非阻塞 I/O 简明指南
linux·驱动开发·ubuntu·正点原子imx6ull学习笔记
溪饱鱼44 分钟前
第6章: SEO与交互指标
服务器·前端·microsoft
wanhengidc1 小时前
服务器中存储空间不足该怎么办?
运维·服务器·网络
FrozenLove_G1 小时前
服务器制造业中,L2、L6、L10等表示什么意思
服务器
SweerItTer1 小时前
由镜像源配置错误导致的软件包依赖问题
linux·vscode·ubuntu
kedvellek1 小时前
Linux 内核链表宏的详细解释
linux·运维·链表
chennalC#c.h.JA Ptho2 小时前
lubuntu 系统详解
linux·经验分享·笔记·系统架构·系统安全
冼紫菜2 小时前
解决 CentOS 7 镜像源无法访问的问题
linux·运维·服务器·centos