Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Argument an Service in xinetd uebergeben

  1. #1
    dem rovdyr sein gott Avatar von tholle
    Registriert seit
    Jan 2003
    Beiträge
    365

    Argument an Service in xinetd uebergeben

    Hi Leute,

    ich habe ein python-Skript als Service im xinetd laufen. Der Zugriff via
    Code:
    nc <SERVER> <PORT>
    klappt einwandfrei.
    Wuerde ich das python-Skript manuell starten, koennte ich ihm Argumente uebergeben und das Skript verhaelt sich entsprechend. Wie aber kann ich Argumente uebergeben, wenn ich das Skript ueber den xinetd anspreche, z.B. mit der oben genannten Methode?

    Vielen Dank und Gruss,
    tholle

  2. #2
    Elefantenversteher Avatar von florian0285
    Registriert seit
    Jun 2016
    Beiträge
    1.054
    Du meinst das?

    Code:
    service MeinPy 
    { 
    socket_type = stream 
    protocol = tcp 
    port = 0815 
    type = UNLISTED 
    wait = no 
    user = carmen 
    server = /bin/mein.py 
    server_args = 192.199.199.1 80 
    }
    Matthäus 7:3 Was siehst du aber den Splitter in deines Bruders Auge, und wirst nicht gewahr des Balkens in deinem Auge?

  3. #3
    dem rovdyr sein gott Avatar von tholle
    Registriert seit
    Jan 2003
    Beiträge
    365
    Hi,

    nicht so ganz.

    server_args = arg
    ist ja nur deine Moeglichkeit um Argumente statisch an das skript "/bin/mein.py" zu uebergeben.
    Ich suche aber nach einer Moeglichkeit, um Argumente an xinetd zu uebergeben.
    So etwas in der Art:

    nc <SERVER> <ARGUMENT> <PORT>
    Aber mit dieser Sythax funktioniert das nicht.

    Vielen Dank und Gruss,
    tholle

  4. #4
    Elefantenversteher Avatar von florian0285
    Registriert seit
    Jun 2016
    Beiträge
    1.054
    Du möchtest xinetd selbst damit remote steuern/verwalten?

    Dann kenn ich da nichts.
    Matthäus 7:3 Was siehst du aber den Splitter in deines Bruders Auge, und wirst nicht gewahr des Balkens in deinem Auge?

  5. #5
    dem rovdyr sein gott Avatar von tholle
    Registriert seit
    Jan 2003
    Beiträge
    365
    Ne, nicht xindetd selbst. Sorry, ich habe mich da etwas umstaendlich ausgedrueckt.

    Ich wuerde gern einem Pythonskritp, welches als Service durch xinetd bereitgestellt wird, beim Aufruf ueber eine TCP-Verbindung ein Argument mit uebergeben.
    Ich versuch das mal anhand eines Beispiels zu erklaeren:

    auf einem Rechner liegt unter /etc/xinetd/ eine Config namens "gong" mit folgendem Inhalt.
    Code:
    service gong
    {
    disable = no
    socket_type = stream
    protocol = tcp
    wait = no
    user = loxberry
    server = /opt/loxberry/skripte/gong/gong.py
    }

    Zu diesem Dienst ist ein Port in der /etc/services zugeordnet.
    Code:
    gong		60666/tcp			# Service fuer Hausgong
    Wie man diesen Infos vielleicht entnehmen kann, handelt es sich um einen Simulation einer Tuerklingel, die ueber einen zentralen Musikserver abgespielt werden soll.
    Jetzt moechte ich aber nicht, dass zu jeder Tageszeit immer in allen Raeumen, der Gong ertoent, sondern nur in denen, die ich als Argument an gong.py uebergebe.
    Und genau deswegen geht die Option nicht, die Argumente in die "/etc/xinetd.d/gong" einzutragen, da sie dann ja statisch waeren.
    Viel mehr suche ich nach einer Moeglichkeit, beim Aufruf des gong-Skripts dynamisch Argumente zu uebergeben.

    so z.B:
    Code:
    nc server -BUERO,KUECHE,WOHNZIMMER 60666
    Dies geht so natuerlich nicht, soll aber demonstrieren, dass bei Aufruf des "Gongs" die Argumente BUERO, KUECHE, WOHNZIMMER an das Skript gong.py uebergeben werden.
    Bein naechsten Gong koennte es dann z.B: "KINDERZIMMER", "SCHLAFZIMMER", "KUECHE" sein, oder was auch immer.

    Gibt es da eine Moeglichkeit, wie man solche Argumente im TCP-Stream mit uebergeben kann?

    Vielen Dank und Gruss,
    tholle

  6. #6
    Elefantenversteher Avatar von florian0285
    Registriert seit
    Jun 2016
    Beiträge
    1.054
    Wüsst ich auch nichts. Das müsstest du in dein Gong.py einbauen. Entweder über Sockets oder Conf-Files z. B.
    Matthäus 7:3 Was siehst du aber den Splitter in deines Bruders Auge, und wirst nicht gewahr des Balkens in deinem Auge?

  7. #7
    Registrierter Benutzer Avatar von drcux
    Registriert seit
    Oct 2003
    Beiträge
    6.989
    Verstehe ich das jetzt richtig: Das Skript selber lauscht nicht am Netz, du lässt es halt nur beim Zugriff auf Port 60666 starten?

    Wenn ja, vergebe doch für jede Raumgruppe einen extra Port/Service. so löst ein "nc server 60666" etwas anderes aus als "nc server 60667"

  8. #8
    dem rovdyr sein gott Avatar von tholle
    Registriert seit
    Jan 2003
    Beiträge
    365
    Hi Florian0285 und drcux,

    vielen Dank fuer eure Ideen. Ich werde damit mal experimentieren und schauen, wie sich das verhaelt und ob man einen der beiden Wege gehen kann.

    Viele Gruesse,
    tholle

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 18.02.14, 14:33
  2. Mit Firefox eine URL an ein script uebergeben.
    Von Painkiller im Forum Anwendungen Allgemein, Software
    Antworten: 7
    Letzter Beitrag: 25.07.09, 11:47
  3. awk Variablen als Suchstring uebergeben
    Von Kinglui im Forum Linux Allgemein
    Antworten: 1
    Letzter Beitrag: 06.05.09, 14:23
  4. useradd argumente uebergeben
    Von golddachs im Forum System installieren und konfigurieren
    Antworten: 6
    Letzter Beitrag: 12.08.05, 10:22
  5. lynx und vim: Suche schon als Option uebergeben?
    Von Samsara im Forum Anwendungen Allgemein, Software
    Antworten: 0
    Letzter Beitrag: 24.08.03, 00:30

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •