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:
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?
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
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
ich denke, beim cronjob dürften keine probleme entstehen; aber er ist -wie schon bemerkt:- unabhängig von winscp....
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?
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
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
ich denke, beim cronjob dürften keine probleme entstehen; aber er ist -wie schon bemerkt:- unabhängig von winscp....
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 242278
Url: https://administrator.de/contentid/242278
Ausgedruckt am: 14.11.2024 um 17:11 Uhr
4 Kommentare
Neuester Kommentar
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.
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.
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
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
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.
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.