Probleme mit rsh

0

Ich habe Probleme beim Aufrufen eines Remote-Befehls durch verschiedene Benutzer auf verschiedenen Computern. Dieser Fernbefehl soll auf einem einzelnen Rechner ausgeführt werden und die rsh-Sitzung soll sofort nach erfolgreicher Ausführung dieses Befehls beendet werden. Dieser Befehl kann von mehreren Benutzern gleichzeitig ausgeführt werden.

Ich weiß, das rshist unsicher, aber das ist hier kein Thema.

Mein Problem hierbei ist die Konfiguration des Remote-Systems im Hinblick auf Berechtigungen und Speicherort des Skripts.

Lokal heißt der Befehl rsh einfach so:

rsh $HOST -l $USER remote_command

Einige konkrete Fragen hier:

  • Benötige ich einen anderen Benutzer ( $USER) als root, um den Remote-Befehl auszuführen?
  • Welche Rechte sollte dieser Benutzer haben?
  • Nur die Berechtigungen zum Ausführen der erforderlichen Befehle und zum Lesen und Schreiben der Dateien, die diese Befehle verwenden?
  • In welchem ​​Verzeichnis soll sich das Skript befinden? Ich würde es einfügen /usr/bin, aber ich weiß nicht, ob das eine gute Idee ist.
user1812379
quelle
Stellen Sie Ihre Skripte nicht ein /usr/bin, /usr/local/binsondern verwenden Sie stattdessen.

Antworten:

0

Da Sie denken, dass Sicherheit dort keine Rolle spielt ,

Eine konkrete Antwort:

  • Benötige ich einen anderen Benutzer ($ USER) als root, um den Remote-Befehl auszuführen?

    Technisch nein (unabhängig von Sicherheitserwägungen)

  • Welche Rechte sollte dieser Benutzer haben?

    Die erforderliche Berechtigungsstufe hängt nur davon ab, was remote_commandzu tun ist.

  • Nur die Berechtigungen zum Ausführen der erforderlichen Befehle und zum Lesen und Schreiben der Dateien, die diese Befehle verwenden?

    Wenn also alle Skripte und Dateien auf derselben konzeptionellen Ebene sind, ist es meiner Meinung nach der bessere Weg, einen nichtprivilegierten Benutzer mit seinem home Verzeichnis zu erstellen und alle Dateien und Skripte unter dieses homeVerzeichnis zu stellen.

  • In welchem ​​Verzeichnis soll sich das Skript befinden?

    Der beste Ort ist $HOME/bin/(Sicherstellen $HOME/bin, dass Ihre $PATHVariable hinzugefügt wird, von Ihrem .bashrcoder .profile.), Der zweitbeste Ort, wenn andere Benutzer auf demselben Computer auf dieses Skript zugreifen müssen /usr/local/bin(da dieser Pfad standardmäßig in der Standardzuweisung festgelegt ist) $PATH.

F. Hauri
quelle
Vielen Dank. Sicherheit ist nicht wirklich wichtig, da in meinem Fall rsh nur in einem vertrauenswürdigen Netzwerk verwendet werden soll. Die Berechtigungen sollten jedoch auf das Notwendige beschränkt sein. In diesem Fall wird rsh nur zum Aufrufen eines Skripts verwendet, das einen kill-Befehl ausführt, um ein Signal an einen anderen Prozess auf dem Server zu senden. Dieser "Anstoß" sollte so schnell und zuverlässig wie möglich erfolgen. Leider kenne ich keinen Shell-Skriptbefehl, der UDP verwendet.