我正在尝试提供 tftpd 连接(使用 xinetd),但出现了此错误
$ sudo systemctl status xinetd
"tftpd[18566]: unknown option -?"
从远程主机建立连接后,尝试获取文件(或执行任何其他操作)时。我不知道哪里出了问题,因为我按照教程设置了所有权限和所有内容
sudo apt-get install xinetd tftpd tftp
sudo mkdir -p /etc/xinetd.d/
sudo touch /etc/xinetd.d/tftp
sudo vim /etc/xinetd.d/tftp
##copy the text below
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /srv/tftp
disable = no
}
sudo mkdir /srv/tftpd
sudo cp ~/Downloads/openwrt-18.06.1-ar71xx-generic-wndr3800-squashfs-factory.img /srv/tftp
sudo chmod -R 777 /srv/tftp
sudo chown -R nobody /srv/tftp
sudo systemctl restart xinetd.service
答案1
基本上,出于某种原因,我无法让tftpd
包含在与 xinetd“捆绑”的存储库中的内容工作。我找到了使用 opentftpd 的方法,本教程中有一个简短的教程可以解释。这个在 xinetd 之外运行,而且确实有效
https://www.youtube.com/watch?v=K5yOBr3uoGs
wget http://downloads.sourceforge.net/proj...
tar xvf opentftpspV1.66.tar.gz
cd opentftp/
g++ opentftpd.cpp -oopentftpd -lpthread
mkdir /home/pi/files
chmod 777 /home/pi/files/
sudo bash
cp opentftpd /usr/bin/
vi /etc/opentftp.ini
## File contents ##
[LISTEN-ON]
[HOME]
/home/pi/files
[TFTP-OPTIONS]
username=pi
ThreadPoolSize=10
Read=Y
Write=Y
Overwrite=Y
##################
/usr/bin/opentftpd -i /etc/opentftp.ini