Xinetd Beispiel Eigener Dienst: Unterschied zwischen den Versionen
imported>Raymond |
imported>Raymond typo |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= Eigenen Dienst für Xinetd erstellen = | = Eigenen Dienst für Xinetd erstellen = | ||
Über den Xinet | Ü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 | == xinet Daemon == | ||
Den Xinet | Den Xinet Daemon starten, bez. startet neu | ||
<pre> | <pre> | ||
/opt/etc/init.d/S10xinetd | /opt/etc/init.d/S10xinetd | ||
Zeile 55: | Zeile 55: | ||
== Fehler finden == | == Fehler finden == | ||
Fehler können immer wieder auftreten. Hier sind die | Fehler können immer wieder auftreten. Hier sind die wichtigsten Befehle um den Xinet Dienst zu prüfen: | ||
=== Xinet Dienst testen === | === Xinet Dienst testen === | ||
Über das log kann man sehen ob der | Ü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 71: | Zeile 71: | ||
xinetd -d | xinetd -d | ||
</pre> | </pre> | ||
=== Ob der Dienst läuft === | === Ob der Dienst läuft === | ||
Mit diesem Befehl kann man sehen ob der xinet | Mit diesem Befehl kann man sehen ob der xinet Daemon überhaupt läuft | ||
<pre> | <pre> | ||
ps -aux | grep xinet | ps -aux | grep xinet |
Aktuelle Version vom 24. Juli 2011, 04:45 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
- Shell-Zugang
- Xinetd (Xinetd via IPKG installieren)
- vi oder nano
/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