Linux tftp:服务器错误:(2)访问冲突

Linux tftp:服务器错误:(2)访问冲突,linux,tftp,Linux,Tftp,我正在尝试使用以下命令将文件发送到tftp服务器: tftp -p -l test.txt xx.xx.xx.xx tftp的用途是: BusyBox v1.13.2(2011-03-2418:58:44 CDT)多呼叫二进制 用法:tftp[选项]。。。主机[端口] 从tftp服务器传输文件/将文件传输到tftp服务器 选项: -l FILE Local FILE -r FILE Remote FILE -g Get file -p Put

我正在尝试使用以下命令将文件发送到tftp服务器:

tftp -p -l test.txt xx.xx.xx.xx
tftp的用途是:

BusyBox v1.13.2(2011-03-2418:58:44 CDT)多呼叫二进制

用法:tftp[选项]。。。主机[端口]

从tftp服务器传输文件/将文件传输到tftp服务器

选项:

    -l FILE Local FILE
    -r FILE Remote FILE
    -g      Get file
    -p      Put file
现在,当我试图发送文件但出现以下错误时,使用上述命令:

tftp:服务器错误:(2)访问冲突

但若我在服务器中手动创建test.txt(需要发送的文件名),然后尝试传输到服务器,它就会成功上传

如何在不手动创建的情况下发送文件?

我正在为tftp服务器使用xinetd服务。下面是它的配置文件:

#/etc/xinetd.d/tftp :

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = /tftpboot/
disable = no
}

请建议进行更改,使其在不在服务器中创建文件的情况下工作。

所以我就是这样调试这个问题的

# tail /var/log/syslog
上述命令的输出表示tftpd提供来自
/srv/tftp
的文件,但是
/etc/xinetd.d/tftp
中没有提到
/srv/tftp

这篇文章还帮助调试了以下问题:。 在调试模式下运行xinetd不会导致此问题

罪魁祸首是
/etc/inetd.conf
中的tftp行,如以下链接所述: 最可能的情况是,当xinetd作为守护程序运行时,
/etc/inetd.conf
优先于
/etc/xinetd.d
目录中的配置文件,这就是为什么xinetd作为守护程序运行时会出现此问题

注释掉
/etc/inetd.conf
中的tftp行,然后重新启动xinetd,这就解决了这个问题