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使用Ubuntu14.04.2LTS。
我正在努力运行tftp本地主机。
试过:
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现在我发现了错误:
root@ravi-Inspiron-N5010:/home/ravi/Desktop# tftp 127.0.0.1
tftp> put test
Error code 2: Access violation
tftp> 我试图放置的文件的权限是:
root@ravi-Inspiron-N5010:/home/ravi/Desktop# ls -ld test
-rwxrwxrwx 1 ravi ravi 0 Mar 21 20:09 test/tftpboot文件夹的权限:
root@ravi-Inspiron-N5010:/# ls -ld tftpboot/
drwxrwxrwx 2 nobody root 4096 Mar 15 15:34 tftpboot/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
}请帮我解决这个问题。
发布于 2015-06-03 10:30:05
要通过tftp放置的文件必须存在于目标目录中,并且具有允许覆盖它的权限。就您而言,test必须存在于/tftpboot中。
您可以在tftp手册页BUGS部分看到原因。
我正在努力解决如何通过tftp放置一个新的文件,但仍然不知道如何。
发布于 2016-04-20 13:20:51
检查syslog,您将看到:
tftpd: serving file from /srv/tftp基本上存在一个bug,在您的情况下,您需要将所有文件从文件夹/tftpboot移动到/srv/tftp (如果不存在,请使文件夹/srv/tftp ),并确保您给出了777权限和所有文件,重新启动xinetd,它就能工作了!
发布于 2017-12-19 14:04:51
正如leondgarse提到的,你不能直接用你的设置上传新文件。但是您可以将"-c“添加到server_args中,例如:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -c -s /tftpboot
disable = no
}有关详细信息,您可以看到“in.tftpd”的手册页:
--create, -c
Allow new files to be created. By default, tftpd will only allow upload of files that already exist. Files are created with default permissions allow‐
ing anyone to read or write them, unless the --permissive or --umask options are specified.https://askubuntu.com/questions/599558
复制相似问题