linux怎么开启tftp
linux怎么开启tftp详细介绍
在 Linux 系统上开启 TFTP(Trivial File Transfer Protocol)服务,主要涉及安装 TFTP 服务器软件、配置服务参数及启动服务。以下是具体操作步骤(以常见的 Ubuntu 和 CentOS 系统为例):
一、Ubuntu/Debian 系统
1. 安装 TFTP 服务器
Ubuntu 默认使用 tftpd-hpa 作为 TFTP 服务器,通过 apt 安装:
bash
updatetftpd-hpa
2. 配置 TFTP 服务
编辑配置文件 /etc/default/tftpd-hpa,设置 TFTP 根目录、端口等参数(根据需求调整):
bash
/etc/default/tftpd-hpa
修改以下内容(示例):
conf
# 服务是否启动(默认已启用)TFTP_ENABLED="true"
# TFTP 根目录(需提前创建并设置权限)
TFTP_DIRECTORY="/var/tftp"
# 服务端口(默认 69/UDP)
TFTP_PORT="69"
# 服务参数(-c 允许上传;-s 指定根目录;-l 记录日志)
TFTP_OPTIONS="-l -c -s /var/tftp"
3. 创建 TFTP 根目录并设置权限
bash
/var/tftp/var/tftp
4. 启动并启用服务
bash
systemctl start tftpd-hpasystemctl tftpd-hpa
5. 验证服务
使用 tftp 客户端测试(需安装 tftp 工具):
bash
tftptftp localhost
tftp get test.txt
tftp put new.txt
二、CentOS/RHEL 系统
1. 安装 TFTP 服务器
CentOS 使用 tftp-server 包(依赖 xinetd 服务管理):
bash
yum tftp-server xinetd
2. 配置 TFTP 服务
编辑 TFTP 配置文件 /etc/xinetd.d/tftp:
bash
/etc/xinetd.d/tftp
修改以下参数(关键部分):
conf
service tftp {socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot -c # -s 指定根目录;-c允许上传
disable = no # 改为 no 启用服务
per_source = 11
cps = 100 2
flags = IPv4
}
3. 创建 TFTP 根目录并设置权限
bash
/var/lib/tftpboot/var/lib/tftpboot
4. 启动并启用服务
bash
systemctl start xinetdsystemctl xinetd
5. 验证服务
安装客户端并测试:
bash
yum tftptftp localhost
三、注意事项
- 防火墙设置:需开放 TFTP 端口(默认 69/UDP),例如:
bashufw allow /udp
firewall-cmd --add-port/udp
firewall-cmd
- 权限问题:TFTP 根目录需确保服务器进程有读写权限(避免
Permission denied错误)。 - 安全建议:生产环境中建议限制 TFTP 目录权限(如仅允许特定用户读写),并关闭不必要的上传功能(移除
-c参数)。
通过以上步骤,即可在 Linux 系统上开启 TFTP 服务。实际使用时,可根据需求调整配置参数(如端口、根目录路径等)。