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 rsh
ist 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.
/usr/bin
,/usr/local/bin
sondern verwenden Sie stattdessen.Antworten:
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_command
zu 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 dieseshome
Verzeichnis zu stellen.In welchem Verzeichnis soll sich das Skript befinden?
Der beste Ort ist
$HOME/bin/
(Sicherstellen$HOME/bin
, dass Ihre$PATH
Variable hinzugefügt wird, von Ihrem.bashrc
oder.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
.quelle