как отлаживать, когда xinetd говорит: получил сигнал 17 (ребенок вышел)

1254
Faizan Shaik

Я пытаюсь запустить службы vsftpd и sshd, используя xinetd. мои конфигурационные файлы следующие.

  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 } 

Несмотря на то, что я включил атрибут only_from, сервер vsftp, а также сервер ssh отказывают в подключении от localhost. В то время как серверы vsftp и ssh работают нормально по отдельности, когда я проверяю "service vsftpd start" и "service ssh start". когда я сделал отладку с помощью терминала xinetd -d, я получил вывод

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 

обе службы начинают работу, но ни одна из них не работает.

после 3-4 часов я все еще не понимаю об этой ошибке. Любая помощь будет оценена. Спасибо!

0
Я предположил, что этот вопрос относится к переполнению стека. Xavierjazz 10 лет назад 0
да! я отправил тот же вопрос несколько минут назад на stackoverflow. но мне предложили опубликовать на этом сайте. superuser.com спасибо! Faizan Shaik 10 лет назад 1
Это определенно принадлежит SuperUser или ServerFault. В любом случае, ** vsftpd ** что-нибудь регистрирует? Cristian Ciupitu 10 лет назад 0
где я могу найти журнал vsftpd, если он запущен xinetd. когда я проверял /var/log/vsftpd.log, он имел только журналы, когда он запускался демоном vsftpd, а не демоном xinetd. Faizan Shaik 10 лет назад 0

1 ответ на вопрос

0
Cristian Ciupitu

The signal(7) man page says:

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

This means that whenever a child process stops i.e. vsftpd or sshd, the parent - xinetd - receives signal 17 (which would be ignored by default, but in your case it's not).

You also need to start sshd with -i:

-i

Specifies that sshd is being run from inetd(8). sshd is normally not run from inetd because it needs to generate the server key before it can respond to the client, and this may take tens of seconds. Clients would have to wait too long if the key was regenerated every time. However, with small key sizes (e.g. 512) using sshd from inetd may be feasible.

I don't know what vsftpd version you're using, but vsftpd-2.2.2-6.el6_0.1 works fine if I set listen=NO in /etc/vsftpd/vsftpd.conf and run it without any arguments.

Я добавил аргументы sshd как `server_args = -i` в файл /etc/xinetd.d/ssh. но все же, это не работает. Faizan Shaik 10 лет назад 0
@FaizanShaik, у меня это нормально работает с ** xinetd-2.3.14-39.el6_4.i686 ** и ** openssh-server-5.3p1-84.1.el6.i686 **. Cristian Ciupitu 10 лет назад 0

Похожие вопросы