Wie debuggen, wenn xinetd sagt: Signal 17 erhalten (Kind beendet)

1349
Faizan Shaik

Ich versuche die Dienste vsftpd und sshd mit xinetd zu starten. Meine Konfigurationsdateien sind wie folgt.

  1. /etc/xinetd.conf

    defaults { instances = 60 log_type = FILE /var/log/xinetdlog log_on_success = HOST PID log_on_failure = HOST cps = 25 30 only_from = localhost } includedir /etc/xinetd.d 
  2. /etc/xinetd.d/ftp

    service ftp { disable = no server = /usr/sbin/vsftpd server_args = -l user = root socket_type = stream protocol = tcp wait = no instances = 4 flags = REUSE nice = 10 log_on_success += DURATION HOST USERID only_from = 127.0.0.1 10.0.0.0/24 } 
  3. /etc/xinetd.d/ssh

    service ssh { disable = no log_on_failure += USERID server = /usr/sbin/sshd user = root socket_type = stream protocol = tcp wait = no instances = 20 flags = REUSE only_from = 127.0.0.1 10.0.0.0/24 } 

Obwohl ich nur das Attribut "single_from" hinzugefügt habe, lehnen der vsftp-Server sowie der ssh-Server die Verbindung von localhost ab. Während vsftp- und ssh-Server gut funktionieren, wenn ich mit "service vsftpd start" und "service ssh start" überprüfe. Beim Debuggen mit "xinetd -d" über Terminal habe ich die Ausgabe als erhalten

13/10/20@00:06:08: DEBUG: 3592 Started service: ftp 13/10/20@00:06:08: DEBUG: 3592 Started service: ssh 13/10/20@00:06:08: DEBUG: 3592 mask_max = 8, services_started = 2 13/10/20@00:06:08: NOTICE: 3592 xinetd Version 2.3.14 started with libwrap loadavg options compiled in. 13/10/20@00:06:08: NOTICE: 3592 Started working: 2 available services 13/10/20@00:06:08: DEBUG: 3592 active_services = 2 13/10/20@00:06:16: DEBUG: 3592 select returned 1 13/10/20@00:06:16: DEBUG: 3592 Starting service ftp 13/10/20@00:06:16: DEBUG: 3592 active_services = 2 13/10/20@00:06:16: DEBUG: 3607 duping 9 13/10/20@00:06:16: DEBUG: 3592 active_services = 2 13/10/20@00:06:16: DEBUG: 3592 select returned 1 13/10/20@00:06:16: DEBUG: 3592 Got signal 17 (Child exited) 13/10/20@00:06:16: DEBUG: 3592 waitpid returned = 3607 13/10/20@00:06:16: DEBUG: 3592 ftp server 3607 exited 13/10/20@00:06:16: DEBUG: 3592 Checking log size of ftp service 13/10/20@00:06:16: INFO: 3592 freeing connection 13/10/20@00:06:16: DEBUG: 3592 waitpid returned = -1 

Beide Dienste fangen an, aber keiner von ihnen arbeitet.

nach 3-4 stunden habe ich immer noch keine ahnung von diesem fehler. Jede Hilfe wäre dankbar. Vielen Dank!

0
Ich habe vorgeschlagen, dass diese Frage zu Stack Overflow gehört. Xavierjazz vor 10 Jahren 0
Ja! Ich habe dieselbe Frage vor ein paar Minuten auf stackoverflow gestellt. aber mir wurde vorgeschlagen, auf dieser Website zu posten. superuser.com Danke! Faizan Shaik vor 10 Jahren 1
Dies gehört definitiv zu SuperUser oder ServerFault. Wie auch immer, protokolliert ** vsftpd ** irgendetwas? Cristian Ciupitu vor 10 Jahren 0
Wo finde ich das vsftpd-Protokoll, wenn es von xinetd ausgeführt wird. Als ich /var/log/vsftpd.log überprüfte, hatte es nur Protokolle, wenn es vom vsftpd-Dämon und nicht vom xinetd-Dämon ausgeführt wurde. Faizan Shaik vor 10 Jahren 0

1 Antwort auf die Frage

0
Cristian Ciupitu

Die Signal (7) -Manpage sagt:

Signal Value Action Comment --------------------------------------------------------- SIGCHLD 20,17,18 Ign Child stopped or terminated 

Das heißt, wenn ein untergeordneter Prozess ( zB vsftpd oder sshd) gestoppt wird, empfängt das übergeordnete Element - xinetd - das Signal 17 (das standardmäßig ignoriert würde, in Ihrem Fall jedoch nicht).

Sie müssen auch sshd mit -i:

-ich

Gibt an, dass sshd von inetd (8) ausgeführt wird. sshd wird normalerweise nicht von inetd ausgeführt, da es den Serverschlüssel generieren muss, bevor er auf den Client reagieren kann. Dies kann einige Sekunden dauern. Die Clients müssten zu lange warten, wenn der Schlüssel jedes Mal neu generiert würde. Bei kleinen Schlüsselgrößen (z. B. 512) ist jedoch die Verwendung von sshd von inetd möglich.

Ich weiß nicht, was vsftpd Version Sie verwenden, aber vsftpd-2.2.2-6.el6_0.1 funktioniert gut, wenn ich gesetzt listen=NOin /etc/vsftpd/vsftpd.conf und es ohne Argumente laufen.

Ich habe sshd-Argumente als `server_args = -i` zur Datei /etc/xinetd.d/ssh hinzugefügt. aber es funktioniert nicht. Faizan Shaik vor 10 Jahren 0
@FaizanShaik, es funktioniert gut mit mir ** xinetd-2.3.14-39.el6_4.i686 ** und ** openssh-server-5.3p1-84.1.el6.i686 **. Cristian Ciupitu vor 10 Jahren 0