- 安装
yum install tftp-server
- 查看状态
[root@localhost ~]# systemctl status tftp
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: active (running) since Thu 2024-05-16 17:33:52 CST; 5min ago
Docs: man:in.tftpd
Main PID: 5422 (in.tftpd)
Tasks: 1
CGroup: /system.slice/tftp.service
└─5422 /usr/sbin/in.tftpd -s /var/lib/tftpboot -c
May 16 17:33:52 localhost.localdomain systemd[1]: Started Tftp Server.
其中,/usr/lib/systemd/system/tftp.service 是配置。
/usr/sbin/in.tftpd 是可执行文件
/var/lib/tftpboot 是下载/上传文件的根目录
- 如果可以下载,但是不能上传。上传文件报错:
Error code 1: File not found
则修改/usr/lib/systemd/system/tftp.service,在 ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot后 加 -c
或者文件名中不能有路径分割符,只能有文件名?
[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd
[Service]
ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot -c
StandardInput=socket
[Install]
Also=tftp.socket
- 上传文件报错Error code 0: Permission denied,或者上传文件大小为0
修改tftp根目录权限 ,需要other用户的写权限。tftp进程写入根目录的文件的用户是nobody。说明tftp进程以root用户启动,但是是以非root用户运行。
chmod 777 <tftpRootDir>
- 关闭tftp服务
systemctl stop tftp.socket