Xinetd Beispiel Eigener Dienst
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