come eseguire il debug quando xinetd dice: ottenuto il segnale 17 (bambino uscito)


0

Sto cercando di avviare i servizi vsftpd e sshd usando xinetd. i miei file di configurazione sono i seguenti.

  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
    }
    

Anche se ho incluso l'attributo only_from, il server vsftp e il server ssh stanno rifiutando la connessione da localhost. mentre i server vsftp e ssh funzionano bene individualmente quando controllo con "service vsftpd start" e "service ssh start". quando ho fatto il debug usando il terminale throug "xinetd -d" ho ottenuto l'output come

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

entrambi i servizi stanno iniziando, ma nessuno dei due funziona.

dopo aver battuto per 3-4 ore non ho ancora idea di questo errore. Qualsiasi aiuto sarebbe apprezzato. Grazie!


Ho suggerito che questa domanda appartiene allo StackTranslate.it.
Xavierjazz,

1
sì! ho pubblicato la stessa domanda qualche minuto indietro su StackOverflow. ma mi è stato suggerito di pubblicare su questo sito. grazie superuser.com!
Faizan Shaik,

Questo appartiene sicuramente a SuperUser o ServerFault. Ad ogni modo, vsftpd registra qualcosa?
Cristian Ciupitu,

dove posso trovare il registro vsftpd se è gestito da xinetd. quando ho controllato /var/log/vsftpd.log aveva solo i log quando era stato eseguito dal demone vsftpd e non dal demone xinetd.
Faizan Shaik,

Risposte:


0

La pagina man signal (7) dice:

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

Ciò significa che ogni volta che un processo figlio si interrompe, cioè vsftpd o sshd , il genitore - xinetd - riceve il segnale 17 (che sarebbe ignorato di default, ma nel tuo caso non lo è).

Devi anche iniziare sshd con -i:

-io

Specifica che sshd è in esecuzione da inetd (8). Normalmente sshd non viene eseguito da inetd perché deve generare la chiave del server prima che possa rispondere al client e ciò può richiedere decine di secondi. I clienti dovrebbero aspettare troppo a lungo se la chiave viene rigenerata ogni volta. Tuttavia, con chiavi di piccole dimensioni (ad es. 512) è possibile utilizzare sshd da inetd.

Non so quale versione di vsftpd stai usando, ma vsftpd-2.2.2-6.el6_0.1 funziona bene se imposto listen=NOin /etc/vsftpd/vsftpd.conf e lo eseguo senza argomenti.


Ho aggiunto argomenti sshd come server_args = -ifile /etc/xinetd.d/ssh. ma comunque non funziona.
Faizan Shaik,

@FaizanShaik, funziona bene con me con xinetd-2.3.14-39.el6_4.i686 e openssh-server-5.3p1-84.1.el6.i686 .
Cristian Ciupitu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.