user-avatar
Today is Понедельник
21.05.2012

Tag: службу

04.02.2011

Вешаем свою программу (службу) на порт с помощью xinetd

Вешаем свою программу (службу) на порт с помощью xinetd

Для реализации данной задачи создадим файл с любым именем например myprog

в каталог /etc/xinetd.d

service asad ##Название сервиса

{ ## Разрешить использование

disable = no #задаём тип сокета

socket_type = stream

type = UNLISTED

#сервис не указан в стандартном (системном) файле (например /etc/rpc для RPC служб, или #/etc/services для не RPC сервисов).

port = 2329

# 3задаём порт на котором будет слушать подключения ваш сервис

protocol = tcp

#указываем протокол tcp

wait = no

# Этот атрибут определяет является ли сервис single-threaded или multi-threaded. Если его #значение yes сервис является single-threaded; это означает что xinetd запускает сервер и #затем перестает обрабатывать запросы для этого сервера пока запущенный сервер не #завершит работу. Если значение атрибута no, то значит сервис является multi-threaded и #xinetd продолжит обрабатывать вновь приходящие запросы.

#

user = root #пользовател которым выполняется программа

group = tty

#определяет gid под которым будет выполняться процесс. Имя группы должно существовать #в файле /etc/group. Если группа не указана, будет использована к которой принадлежит user #(из /etc/passwd). Этот параметр не действует если эффективный uid xinetd не соответствует #uid супер-пользователя.

#

server = /home/asad/check #Путь к программе сервису который будет получать строку посланную на данный порт

}

Далее перейдём не подсредственно к програме слушателю /home/asad/check

У меня она реализована так

#!/bin/sh

read -r cmd; # получать строку

………

код программы обрабатывающей строку.

© 2012 asad`s page All rights reserved - Wallow theme v0.46.4 by ([][]) TwoBeers - Powered by WordPress - Have fun!