klausph
Goto Top

Als nichtroot von aussen root-befehle ausführen -geht das? (z.B. mit winscp?)

Guten Tag
mit meinem Ziel bin ich schon weitgekommen. Kleine Vorgeschichte:
per eMail bekomme ich Dateien in gepacktem Format. (*.arj,*.a01,*.a02 usw), meistens in der Größe von je 3MB.
Manchmal sind auch die Dateien über mehrere eMails verteilt.

Geschafft habe ich folgendes:
dem eMail-Programm "TheBat" zu sagen (per "Filter"):
von dem und dem Absender nimm die attachments, packe sie in ein bestimmtes -jedesmal ein anderes Verzeichnis- und entpacke und verarbeite sie!
Wenn die Verarbeitung (mit aufruf von %1) dann fertig ist, nimm winscp und mache folgendes:

"%ProgramFiles(x86)%\WinSCP\winscp.exe" /console /command "option confirm off" "open sftp://dummi:12345abc67890@schiessmichtot.org/" "put f:\%1-int.arj" "exit"  

so, das ist alles prima.
aber ich bin zu dem Zeitpunkt der user "dummi". der darf gar nischt, auf meinem linuxserver. ein root darf sich z.b. NICHT einloggen.
also als user root MUSS ich per hand später dann einige arbeiten erledigen.

sind alle mir gefolgt? face-wink

jetzt meine frage:

kann ich winscp root-befehle übermitten?
z.b. cd directory
unarj %1-int.art in ein ganz bestimmtes verzeichnis
und ausführen eines scriptes, der z.b. die attribute und berechtigungen korrekt setzt.
oder muss ich was anderes nehmen?


für die obige lösung habe ich ca 2 volle tage benötigt face-wink

ein anderer ansatz wäre es:
einen cronjob zu definieren, der selbsttätig jeden tag 1x ausgeübt wird, wird und die aufgaben übernimmt:
z.b. cd directory
unarj %1-int.art in ein ganz bestimmtes verzeichnis
und ausführen eines scriptes, der z.b. die attribute und berechtigungen korrekt setzt.


hat jemand einen lösungsansatz?
viele grüße und dank im voraus
Klaus


PS: eine lösung mit winscp wäre mir am liebsten, dann wird alles von einem (windows)-skript gestartet face-wink
ich denke, beim cronjob dürften keine probleme entstehen; aber er ist -wie schon bemerkt:- unabhängig von winscp....

Content-ID: 242278

Url: https://administrator.de/contentid/242278

Ausgedruckt am: 14.11.2024 um 17:11 Uhr

kingkong
kingkong 30.06.2014 aktualisiert um 22:41:27 Uhr
Goto Top
Sorry, aber welche Aufgaben sind das, dass sie root-Rechte benötigen? Eigentlich sind die Rechte nur dann gerechtfertigt, wenn Änderungen am System selbst durchgeführt werden müssen. Und das muss (außer bei Aktualisierungen) eigentlich nicht regelmäßig passiert.
Für mich klingt das irgendwie so, als ob irgendwelche Verzeichnisse als normaler Nutzer nicht beschreibbar/lesbar sind - aber das wäre eine lokale Rechtegeschichte, für die man keinen Root-Zugriff braucht. Du willst ja nicht die Attribute von irgendwelchen Systemdateien ändern!

Prinzipiell würde ich für sowas übrigens ssh benutzen (wenn Du sftp benutzen kannst, dann auch ssh). Einfach die Aufgaben z.B. mittels "screen" starten, dann kann die ssh-Session auch geschlossen werden, und die Aufgaben laufen trotzdem weiter.

EDIT: Ok, ein Fall ist denkbar, wo Du tatsächlich die Rechte brauchst. Nämlich dann, wenn Du die Dateien in die Verzeichnisse verschiedener Benutzer verschieben und dann die Rechte jeweils anpassen möchtest. Aber das würde ich tatsächlich mit einem Cronjob machen.
bytecounter
Lösung bytecounter 01.07.2014, aktualisiert am 02.09.2014 um 13:53:05 Uhr
Goto Top
Hallo,

Dein Ansatz passt doch schon. Allerdings solltest Du auch die Hinweise von KingKong beachten!

Also ich hatte so etwas mal wie folgt gelöst:
- Das Mailprogramm holt Mails ab, überprüft die Mail auf bestimmte Kriterien und speichert den Inhalt in einem temporären Verzeichnis.
- Dort holt sich ein Cron-Job der mit den entsprechenden Berechtigungen ausgeführt wird, den Inhalt und verarbeitet ihn (natürlich auch nicht ungeprüft!)

Man könnte z. B. einen speziellen User einrichten, der genau die Berechtigungen bekommt, die er braucht. (z.. B. Schreib/Leserechte in diesem bestimmten Verzeichnis). Dass dieser User aber auch das Ausführen-Flag einer Datei setzen darf, ist natürlich ein Sicherheitsproblem!

Aber da ich ja die Hintergründe nicht kenne, möchte ich auch nur darauf hinweisen und nicht weiter darauf eingehen. Zum Experimentieren im eigenen (privaten) LAN ist das wohl eher zu vernachlässigen. Allerdings auf keinen Fall bei produktiven Systemen!

vg
Bytecounter
apfelqoo
apfelqoo 01.07.2014 um 11:08:18 Uhr
Goto Top
Hallo!

ist sudo eine Option ? Dies sollte auch bei winscp nach dem Login eines normalen users funktionieren.
Da ist antürlich das "Problem" mit dem root password, welches man aber auch lösen kann.

http://winscp.net/eng/docs/faq_su#use_sudo_on_login

Am sichersten und zuverlässigsten ist natürlich der cronjob.
klausph
klausph 04.07.2014 um 16:22:25 Uhr
Goto Top
guten tag,
danke Euch dreien!
scheine also mit meiner denke auf der richtigen spur zu sein face-wink
ja, es sieht nach cronjob aus.
also, wohlauf: ran an die arbeit! face-wink
danke nochmal
gruß klaus lehmann