tftp 错误代码 2 访问冲突(tftp 不工作)

Rav*_*rma 5 server permissions tftp

系统信息:

Linux ravi-Inspiron-N5010 3.13.0-46-generic #79-Ubuntu SMP Tue Mar 10
20:08:14 UTC 2015 i686 i686 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

使用 Ubuntu 14.04.2 LTS。

我正在努力运行 tftp localhost。

尝试过:

root@ravi-Inspiron-N5010:/home/ravi/Desktop# service tftpd-hpa restart
tftpd-hpa stop/waiting
tftpd-hpa start/running
root@ravi-Inspiron-N5010:/home/ravi/Desktop# service tftpd-hpa status
tftpd-hpa start/running
Run Code Online (Sandbox Code Playgroud)

现在我收到错误:

root@ravi-Inspiron-N5010:/home/ravi/Desktop# tftp 127.0.0.1
tftp> put test
Error code 2: Access violation
tftp> 
Run Code Online (Sandbox Code Playgroud)

我试图放置的文件的权限是:

root@ravi-Inspiron-N5010:/home/ravi/Desktop# ls -ld test 
-rwxrwxrwx 1 ravi ravi 0 Mar 21 20:09 test
Run Code Online (Sandbox Code Playgroud)

/tftpboot文件夹的权限:

root@ravi-Inspiron-N5010:/# ls -ld  tftpboot/
drwxrwxrwx 2 nobody root 4096 Mar 15 15:34 tftpboot/
Run Code Online (Sandbox Code Playgroud)

附加信息

root@ravi-Inspiron-N5010:/home/ravi/Desktop# nano /etc/xinetd.d/tftp

service tftp


{
   protocol = udp
   port = 69
   socket_type = dgram
   wait = yes
   user = nobody
   server = /usr/sbin/in.tftpd
   server_args = /tftpboot -s
   disable = no
}
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

小智 5

您想要通过 tftp 放置的文件必须存在于目标目录中,并且具有允许覆盖该文件的权限。对于您的实例,test必须存在于/tftpboot.

您可以在 tftp 手册页 BUGS 部分查看原因。

我正在努力解决如何通过 tftp 放置新文件,但仍然不知道如何。