如何使用 inetd 启动 tftp 服务器?

如何使用 inetd 启动 tftp 服务器?

我想启动一个 tftp 服务器。这里我使用 inetd。

inetd.conf.d 文件夹中的 tftp 配置文件包含:

tftp dgram udp wait nobody /sbin/tftpd tftpd -l /var/tftp

我已将 tftp 文件夹权限更改为 777,并将所有者更改为 nobody。

当我跑步时:

 systemctl start /etc/init.d/tftpd

它引发了这个错误:

Failed to start etc-init.d-tftpd.mount: Unit etc-init.d-tftpd.mount failed to load: No such file or directory.

这个错误是什么?我该如何解决这个错误?

非常感谢任何指导。

谢谢...!

答案1

工作设置

安装以下软件包。

sudo apt-get install xinetd tftpd tftp

创建/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
disable         = no
}

创建一个文件夹,/tftpboot该文件夹应与您提供的内容相匹配server_args。大多数情况下它将是tftpboot

sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot

重新启动 xinetd 服务。

sudo /etc/init.d/xinetd restart

我的建议是tftpd-hpa

sudo apt install tftpd-hpa

安装后编辑conf文件

sudo vi /etc/default/tftpd-hpa

文件必须包含类似这样的内容

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -c"

相关内容