Tftpd
tftp啟動問題:recvfrom: Socket operation on non-socket
我正在嘗試
tftpd
(在沒有 的拱門上inetd
)開始一個簡單的(或者我認為是這樣的)操作(不是永久性的)。但是,
tftpd <directory>
按照手冊中的建議啟動失敗,並在 syslog 中顯示此註釋:tftpd[PID]: recvfrom: Socket operation on non-socket
strace tftpd
說:(...) geteuid() = 0 setgid(65534) = 0 setuid(65534) = 0 ioctl(0, FIONBIO, [1]) = 0 recvfrom(0, 0x603600, 516, 0, 0x6035d0, 0x603828) = -1 ENOTSOCK (Socket operation on non-socket) brk(0) = 0xbe9000 brk(0xc0a000) = 0xc0a000 (...)
那麼發生了什麼?還沒有人使用 UDP 埠 69,我暫時禁用了防火牆。
tftpd
有多種實現方式;有些只能在inetd
守護程序下執行,而另一些則支持獨立操作。撰寫本文時的 Linuxiputils
tftpd
僅支持在inetd
守護程序下執行,因此必須以這種方式執行。其他實現可能具有作為獨立守護程序執行的選項-l
。--listen