tftp 起動の問題: recvfrom: 非ソケットでのソケットの操作

tftp 起動の問題: recvfrom: 非ソケットでのソケットの操作

私はtftpd(ないアーチでinetd)簡単な(私の考えでは)仕事(永続的な仕事ではない)を始めようとしています。

ただし、tftpd <directory>マニュアルで推奨されているように起動すると、システムログに次の説明が表示されて失敗します。

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を使用している人はいません。ファイアウォールを一時的に無効にしました。

ベストアンサー1

tftpdいくつかの実装があります。一部はinetdデーモンでのみ実行でき、他の一部はスタンドアロン操作をサポートします。iputils tftpdこの記事を書いている時点で、Linuxはinetdデーモンの下での実行のみをサポートしているので、その方法で実行する必要があります。他の実装には、スタンドアロンデーモンとして実行するための1つ-l以上のオプションがあります。--listen

おすすめ記事