我想启动一个 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"