Wie kann ich den inetd-Daemon auf Cygwin ausführen?

6972
WilliamKF

Ich möchte, dass der inetd-Daemon auf einem Computer läuft, auf dem Cygwin läuft. Ich weiß, wie man das auf Centos 4 macht, aber auf Cygwin scheint es nicht zu funktionieren.

Befehle, die ich ausprobiert habe, sind:

cygrunsrv -I xinetd -d "Cygwin Xinetd" -p /usr/sbin/xinetd -e CYGWIN=ntsec cygrunsrv -S xinetd /etc/rc.d/init.d/xinetd start 

Unter Linux würde ich einfach Folgendes tun:

/sbin/service xinetd restart 

Nach dem Bearbeiten meiner Konfigurationsdatei:

/etc/xinetd.d/<myAppHere> 

Ich habe diese Datei auf Cygwin erstellt, kann jedoch nicht herausfinden, wie der Dienst gestartet werden soll.


[si-xp-pro-sp3 ~] /etc/rc.d/init.d/xinetd start /etc/rc.d/init.d/xinetd: line 22: /etc/init.d/functions: No such file or directory Starting xinetd: /etc/rc.d/init.d/xinetd: line 59: daemon: command not found  [si-xp-pro-sp3 ~] /usr/sbin/xinetd start Usage: xinetd [-d] [-f config_file] [-filelog filename] [-syslog facility] [-reuse] [-limit proc_limit] [-pidfile filename] [-logprocs limit] [-shutdownprocs limit] [-cc interval] 
1

4 Antworten auf die Frage

3
Aaron

Das Ausführen /usr/bin/xinetd-configvon xinetd sollte diese beiden Fehler beheben:

/etc/rc.d/init.d/xinetd: Zeile 22: /etc/init.d/functions: Keine solche Datei oder Verzeichnis

Xinetd: /etc/rc.d/init.d/xinetd: Zeile 59: Daemon: Befehl nicht gefunden

Ich versuche hier, cygwin + proftpd + xinetd zu installieren. Ich hatte einige Probleme und die obige Antwort funktionierte für mich **, nachdem ich eine Neuinstallation von cygwin durchgeführt hatte. user2426679 vor 8 Jahren 0
1
Michael Dillon

Gibt es /etc/rc.d/init.d/xinetd? Welche Art von Nachrichten bekommst du?

Haben Sie versucht, xinetd oder / usr / sbin / xinetd auszuführen?

Einfach bedeutet nicht "Start" als Argument. Überprüfen Sie die Manpage für xinetd.

Grundsätzlich verwechseln Sie die Verwendung von /etc/init.d und / usr / sbin. Der Ordner init.d enthält Shell-Skripts, die zum automatischen Starten von Serverprozessen verwendet werden, aber auch manuell verwendet werden können. sbin enthält die Binärdateien von Anwendungen. Die Skripte in init.d benötigen alle Argumente wie start und stop. Wenn Sie jedoch wissen möchten, welche Argumente eine sbin-Binärdatei enthält, müssen Sie die Manpage lesen.

Als ich sagte, simpy run xinetd, wollte ich den folgenden Shell-Befehl eingeben.

xinetd

und wenn das nicht funktioniert, dann versuchen Sie es

/usr/sbin/xinetd

Wenn Sie falsche Argumente in die Befehlszeile einfügen, wird xinetd verwirrt und versucht nicht einmal zu starten.

Bitte sehen Sie zusätzliche Informationen in Frage. WilliamKF vor 13 Jahren 0
Die Ausführung von / usr / sbin / xinetd liefert keine Ausgabe und ein Nullstatusergebnis. Sollte es irgendeinen Output geben oder läuft es einfach still an? WilliamKF vor 13 Jahren 0
Ein geeigneter Test für einen Netzwerkdämon wie xinetd ist der Versuch, eine Netzwerkverbindung herzustellen. Oder zumindest, um ps zu verwenden, um zu sehen, ob der Prozess ausgeführt wird, und netstat -a, um zu sehen, ob er alle Ports überwacht, die Sie in der Konfiguration angegeben haben. Michael Dillon vor 13 Jahren 1
Die Netzwerkverbindung schlägt fehl, ein ps zeigt nichts an, dessen Name inetd enthält, und netstat -a zeigt den überwachten Port nicht an. WilliamKF vor 13 Jahren 0
@WilliamKF Sie müssen wirklich die xinetd-Manpage lesen. Was zeigt die Option -d? Michael Dillon vor 13 Jahren 1
1
lcbrevard

cygrunsrv hat den größten Teil der Magie, aber Ihre Windows-Dateisystemberechtigungen müssen geöffnet sein.

Dies ist mehr als nur ls -l

Sie müssen dies über CMD.EXE oder, einfacher, über die EXPLORER.EXE-GUI durchführen.

Sie müssen insbesondere für FULL CONTROL für SYSTEM die folgenden Verzeichnisse (Ordner) öffnen:

C:\CYGWIN C:\CYGWIN\VAR C:\CYGWIN\VAR\LOG 

Wählen Sie die Dateieigenschaften für jede dieser Optionen aus und suchen Sie nach der Registerkarte Sicherheit.

Wenn keine Registerkarte "Sicherheit" vorhanden ist, haben Sie "Einfache Dateifreigabe". Deaktivieren Sie diese Option mit Extras -> Ordneroptionen -> Ansicht und scrollen Sie zum letzten Kontrollkästchen: [] Verwenden Sie die einfache Dateifreigabe (empfohlen).

Stellen Sie sicher, dass Unchecked ist - dann sollten Sie auch die Registerkarte Sicherheit für jeden Ordner aufrufen können.

Stellen Sie sicher, dass SYSTEM unter den Gruppen- oder Benutzernamen aufgeführt ist. Fügen Sie es hinzu, wenn nicht. Stellen Sie dann sicher, dass bei hervorgehobenem SYSTEM die Option Vollzugriff zulassen aktiviert ist.

Weitere Informationen zu diesem Problem finden Sie unter sshd unter http://www.noah.org/ssh/cygwin-sshd.html

0
hawkeye

Hier ist, wie:

xinetd-config cygrunsrv -I xinetd -p /usr/sbin/xinetd -d 'CYGWIN xinetd' -a '-stayalive -pidfile /var/run/xinetd.pid' cygrunsrv -S xinetd 
Dies ist [Aarons Antwort] (http://superuser.com/q/248708/150988#511611) (von vor vier Jahren), plus was das OP bereits gemacht hat, plus die `-a`-Option. Macht das wirklich den Unterschied? Und bist du dir dieser Syntax sicher? Es sieht komisch aus. Kannst du es erklären? Scott vor 8 Jahren 2
Nichts auf dieser Seite hat für mich funktioniert. Ich fand das anderswo und löste mein Problem auf eine Art und Weise, die sonst nichts tat. Ich habe versucht, auf praktische Weise zur Lösung dieses Problems beizutragen. hawkeye vor 8 Jahren 0