Tcpserver (vs. inetd) - Verständnisfrage

Moin,

also die Gründe, die dafür sprechen, inetd durch tcpserver zu ersetzen sind mir einigermaßen klar. installiert ist er auch schon, wenn ich ihn von der bash aus aufrufe, läuft er auch und lauscht auch brav, aber, große Verständnisfrage:

inetd hat doch den Sinn, daß eben nicht ein Dutzend Programme warten und laufen, wenn nix los ist, sondern eben ein zentraler Prozeß, der das Programm, was jeweils benötigt wird, startet, wenn es dran ist.
Dafür ruft inetd seine conf-Datei auf und liest die zu belauschenden Ports sowie die zugeordneten Aktionen aus.

WO ist die conf Datei für tcpserver? Oder muß ich tatsächlich für jeden Port einen eigenen tcpserver Prozeß laufen lassen und für jeden eine Zeile mit dem Aufruf tcpserver [flags] 0 [port] [path] in ein shell script oder sowas reinschreiben, das bei Systemstart ausgeführt wird?

Dann wäre ja der einzige Vorteil, daß eben „nur“ tcpserver läuft, und nicht die Anwendung dahinter. Aber ich hätte für jeden Port einen eigenen Prozeß, eine eigene „fork“ von tcpserver.

Was hab ich hier nicht begriffen?

[OS: FreeBSD 4.7]

Dank & Gruß,

Doc.

also die Gründe, die dafür sprechen, inetd durch tcpserver zu
ersetzen sind mir einigermaßen klar.

Du erinnerst, daß man mit tcpserver Dienste einzeln an- oder abschalten kann, bei denen es miit inetd nur „en bloc“ ginge?

installiert ist er auch
schon, wenn ich ihn von der bash aus aufrufe, läuft er auch
und lauscht auch brav, aber, große Verständnisfrage:

inetd hat doch den Sinn, daß eben nicht ein Dutzend Programme
warten und laufen, wenn nix los ist, sondern eben ein
zentraler Prozeß, der das Programm, was jeweils benötigt wird,
startet, wenn es dran ist.
Dafür ruft inetd seine conf-Datei auf und liest die zu
belauschenden Ports sowie die zugeordneten Aktionen aus.

Ja.

WO ist die conf Datei für tcpserver? Oder muß ich tatsächlich
für jeden Port einen eigenen tcpserver Prozeß laufen lassen

Ja. Die sind aber recht klein.

und für jeden eine Zeile mit dem Aufruf tcpserver [flags] 0
[port] [path] in ein shell script oder sowas reinschreiben,
das bei Systemstart ausgeführt wird?

Ja. Tip: Du solltest tcpserver aber besser unter supervise/daemontools laufen lassen. Das ist unfefähr noch eine Mildliarden mal netter.

Dann wäre ja der einzige Vorteil, daß eben „nur“ tcpserver
läuft, und nicht die Anwendung dahinter. Aber ich hätte für
jeden Port einen eigenen Prozeß, eine eigene „fork“ von
tcpserver.

Das ist schon korrekt. Anderer Vorteil: mit tcpserver kannst Du die gleichzeitig eingehenden Verbindungen limitieren, unter inetd kommt dann „Der DoS“

Was hab ich hier nicht begriffen?

Vermutlich, wie nett supervise/scanboot ist.

Se „svc -d /service/*“ bastian