Batchfile als anderer User ausführen

Bib

Enthusiast
Thread Starter
Mitglied seit
20.12.2006
Beiträge
714
Hallo,
kann ich ein Batchfile erstellen, welches ein User "A" ausführen darf, in dem aber dann ein Befehl ausgeführt wird, denn nur User "B" ausführen darf?


Also ssh keygen-Zugriff von Linux 1 (Ubuntu) auf Linux 2 (Debian) ist mit dem User "B" möglich. rsa-key usw alles schon erfolgreich auf Debian kopiert.


Wenn User "A" aber nun von Ubuntu aus auf Debian zugreifen möchte, dann kommt "Access denied", weil der ssh keygen ja von "B erstellt wurde. Auch der root kann nicht auf Debian zugreifen... Geht komischerweise nur mit User "B".

Jetzt war die Idee, ein Batchfile zu schreiben, wlches User "A" ausführen darf, welches den ssh-Befehl aber dann als User "B" ausführt und somit eine Verbindung ohne Passwortabfrage zustande kommen kann.



Geht das? Wenn ja, wie muss so ein Batch-File aussehen und wie müssen die Berechtigungen gesetzt werden?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Geht komischerweise nur mit User "B".

Natürlich. Weil der SSH-Key im Homeverzeichnis von User B liegt. Also wird der auch nur von User B benutzt. Generiere doch einfach für User A ebenfalls einen Private Key und trage ihn auf dem Debian-Server in die authorized_keys ein.
 
Der User, mit welchem ich den Befehl absenden muss, ist kein "richtiger" Benutzer, ich kann mich damit nicht auf der Konsole einloggen. Der ist nur dafür da, ein bestimmtes Programm zu starten (Openhab).

Folglich kann ich mich nicht mit dem User einloggen und den ssh key erstellen.


Also wenn ich den User openhab in die Gruppe des Users hinzufüge, der den ssh key erzeugt hat, dann sollte es gehen, wenn der User openhab den Befehl ausführt? Werd ich gleich mal testen.

- - - Updated - - -

Geht leider nicht.

Exectest state updated to Warning: Identity file .ssh/key_openhab not accessible: No such file or directory.
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
 
Was willst du genau machen? Den Rechner fernwarten/-steuern? Warum muss es ein anderer Benutzer sein?
 
Also der Nutzer ist ein richtiger Nutzer, hat vermutlich aber keine shell eingestellt. Mit
su openhab -s /bin/bash
kannst dich einloggen.

Die Gruppe ist relativ egal, weil private keys chmod 600 haben muessen.

Um deine eigentliche Frage zu beantworten:
su username -s /bin/bash -c 'command'

Glaube aber, dass eine sinnvolle konfiguration dich weiter bringen wuerde
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh