Xinetd Beispiel Eigener Dienst: Unterschied zwischen den Versionen

Aus
(typos)
Zeile 1: Zeile 1:
= Eigenen Dienst für Xinetd erstellen =
= Eigenen Dienst für Xinetd erstellen =
Über den Xinet Deamon kann man so ziemlich viel anstellen. So kann man jede Bash-Ausgabe auch auf den Browser anzeigen lassen.
Über den Xinet Daemon kann man so ziemlich viel anstellen. So kann man jede Bash-Ausgabe auch auf den Browser anzeigen lassen.
Als Beispiel übergebe ich die top-Anzeige direkt auf den Port 8111
Als Beispiel übergebe ich die top-Anzeige direkt auf den Port 8111


Zeile 44: Zeile 44:
</pre>
</pre>


== xinet Deamon ==
== xinet Daemon ==
Den Xinet Deamon starten, bez. startet neu
Den Xinet Daemon starten, bez. startet neu
<pre>
<pre>
/opt/etc/init.d/S10xinetd
/opt/etc/init.d/S10xinetd
Zeile 59: Zeile 59:
=== Xinet Dienst testen ===
=== Xinet Dienst testen ===


Über das log kann man sehen ob der Deamon geschlossen (Exiting) wird. Das deutet auf eine falsche Konfiguration hin.
Über das log kann man sehen ob der Daemon geschlossen (Exiting) wird. Das deutet auf eine falsche Konfiguration hin.
<pre>
<pre>
tail /var/log/messages
tail /var/log/messages
Zeile 74: Zeile 74:


=== Ob der Dienst läuft ===
=== Ob der Dienst läuft ===
Mit diesem Befehl kann man sehen ob der xinet Deamon überhaupt läuft
Mit diesem Befehl kann man sehen ob der xinet Daemon überhaupt läuft
<pre>
<pre>
ps -aux | grep xinet
ps -aux | grep xinet

Version vom 24. Juli 2011, 04:44 Uhr

Eigenen Dienst für Xinetd erstellen

Über den Xinet Daemon kann man so ziemlich viel anstellen. So kann man jede Bash-Ausgabe auch auf den Browser anzeigen lassen. Als Beispiel übergebe ich die top-Anzeige direkt auf den Port 8111

Zur Anleitung

Diese Anleitung bezieht sich auf die DS211+ mit Xinetd 2.3.14-11 

Voraussetzung

/etc/services

Port des Dienstes eintragen:

##Eigener Dienst
topbash        8111/tcp     # topbash

/opt/etc/xinetd.d/topbash

Service definieren: [USER] durch einen vorhanden Benutzer ersetzen

service topbash
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = [USER]
server = /opt/bin/show.bash
}

/opt/bin/show.bash

Bashscript für top (Perl habe ich wegen der Formatierung benutzt)

#!/bin/bash
date | sed -e 's/$/\r/' | perl -pe 's/\r\n|\n|\r/\r\n/g'
echo "_________________________________________________________________" | sed -e 's/$/\r/' | perl -
pe 's/\r\n|\n|\r/\r\n/g'
topvar=/bin/bash /usr/bin/top -b -n 1 | head -15 | sed -e 's/$/\r/' | perl -pe 's/\r\n|\n|\r/\r\n/g'

 echo  $topvar
 exit

xinet Daemon

Den Xinet Daemon starten, bez. startet neu

/opt/etc/init.d/S10xinetd

Browser starten

top kann nun direkt im Browser abgefragt werden, ohne sich anzumelden. http://[IP-ADRESSE]:8111/

Fehler finden

Fehler können immer wieder auftreten. Hier sind die wichtigsten Befehle um den Xinet Dienst zu prüfen:

Xinet Dienst testen

Über das log kann man sehen ob der Daemon geschlossen (Exiting) wird. Das deutet auf eine falsche Konfiguration hin.

tail /var/log/messages

May 24 13:02:40 xinetd[4724]: Exiting...
May 24 13:04:22 xinetd[15315]: Exiting...

Mit -d kann man den xinetd im Debug-Modus starten. So sieht man detailierter ob man was falsches konfiguriert hat.

xinetd -d


Ob der Dienst läuft

Mit diesem Befehl kann man sehen ob der xinet Daemon überhaupt läuft

ps -aux | grep xinet

Port prüfen

Mit Netstat kann man schauen ob der Port auch wirklich abgehört wird:

netstat -tanp | grep 8111
tcp        0      0 0.0.0.0:8111            0.0.0.0:*               LISTEN      28368/xinetd