Aktionen nach bestimmten Befehlen in Apache Guacamole SSH ausführen

Aktionen nach bestimmten Befehlen in Apache Guacamole SSH ausführen

Ich habe es Apache Guacamole 0.9.14auf meinem CentOS 7als Reverse-Proxy eingerichtet.nginx

Ich möchte einigen meiner Mitarbeiter über eingeschränkten Zugriff auf einige meiner Server gewähren ssh.

Einige davon sind SFTPaktiviert und um absichtliche oder unabsichtliche Sabotage zu verhindern, bearbeite ich die Guacamole-Upload-Funktion, um eine Kopie der auf dem Guacamole-Server selbst hochgeladenen Datei neben dem Zielserver hochzuladen.

wgetIch habe mich gefragt, ob ich eine Kopie der Dateien erstellen könnte, die über , curlusw. auf die Zielserver gelangen.

Wenn ich bestimmte Befehle auf Zielservern steuern und einige Aktionen ausführen kann, bevor ich sie ausführe (z. B. Dateien auf dem Guacamole-Server sichern, bevor ich einen rm -rfBefehl ausführe, oder eine Kopie der 'wget'auf dem Guacamole-Server ausgeführten Datei erstellen), wäre das großartig.

Es gibt über tausend Server mit unterschiedlichen Linux-Betriebssystemen, daher ist es unmöglich, einen beliebigen Server außer dem Guacamole-Server selbst zu bearbeiten.

Irgendeine Idee, wie man Befehle vor der Ausführung auf dem Guacamole-Server, insbesondere, steuert ssh?


Ich habe meine Frage selbst beantwortet, aber wenn Sie meine Antwort lesen, werden Sie erkennen, dass ich meine Frage nicht wirklich beantwortet habe. Daher akzeptiere ich meine nicht und bin für alle besseren Ideen dankbar.

Antwort1

Ich konnte keine Möglichkeit finden, mein Ziel zu erreichen, habe aber einen etwas trickreichen Weg gefunden, dies auf meinen Servern zu tun.

Ich habe einige meiner Befehle geändert wgetund wget2meine eigenen wgetwie folgt geschrieben:

#!/bin/bash
wget2 $1 -P /tmp > /dev/null 2>&1 & wget2 $1

Noch eine kleine Erklärung:

Ich bin /usr/bin/wgetdorthin gewechselt /usr/bin/wget2, daher habe ich das Original wgetund habe dann mein eigenes geschrieben, wgetdas, während es den Link zu diesem Verzeichnis herunterlädt, auch eine Kopie in /tmpeinen Ordner herunterlädt, die keine Ausgabe auf der Befehlszeile anzeigt.

Ich weiß, dass der Benutzer erkennen kann, wget2was läuft, wenn er/sie es ausführt ps(Listenprozess), aber das ist mir egal, weil er weiß, dass ich es beaufsichtige:)

Es handelt sich lediglich um eine Prüfung.

verwandte Informationen