Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

13.03.2007, 14:53

[gelöst] Bashscript fehler via Cronjob!

Hallo Leute,
Ich habe mir ein kleines Script geschrieben das ich min cronjob ausführe.
Das Script grept die /var/log/messages nach ssh und Invalid - wenn es Einträge dieser Art gefunden hat grept es die Ip-Adresse des Angreifers

Quellcode

1
tail /var/log/messages | grep ssh | grep Invalid | cut -d ' ' -f10 | uniq


Diese IP Speichere ich in einer Variable und Sperre diese Adresse via IPTABLES.
Soweit ist alles gut.

Das Script funktioniert, nur wenn ich es per cron ausführen lasse, bekomm ich zwar die Warnmeldung aber die Ip-Adresse wird nicht zu den IPTABLES Regeln hinzugefügt. Starte ich das Script per Hand funktioniert es.

Hat jemand eine Idee woran das Liegen kann?

Dieses Script ist durch dieses GentooForum Thread entstanden und soll die Lizenz GPL bekommen.
SSH ANGRIFF

Der Code hat sich Grundlegend verändert, ich leg ihn mal bei, ich hoffe das jemand damit was anfangen kann. Danke
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »knasan« (13.03.2007, 15:58)


2

13.03.2007, 15:58

[gelöst] Bashscript fehler via Cronjob!

Hi,

es hat sich erledigt.
Der Fehler lag darin, das das Script Iptables (/sbin/iptables) nicht gefunden hatte wenn ich es per Cron ausführen lies.
Ich musste also nur den path mit angeben.

Die Frage nach weshalb und warum werde ich mir lieber nicht stellen, denn per hand funzte es ja.
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

3

13.03.2007, 16:30

RE: [gelöst] Bashscript fehler via Cronjob!

gans einfach:

deine Userumgebung wird nicht geladen, wenn der CRON-Job ein Script aufruft. Deshalb ist es bei einem Script für Cron IMMER gut, den Kompletten Pfad mit anzugeben.

Mann kann zwar auch die Umgebung laden, aber warum soll z.B. bei einem alle 5 Minuten laufenden Script jedesmal die Umgebung .....

Ist übrigens ein Fehler, den jeder mir bekannte Unix-Script-Schreiber schon hatte ...
Meine Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind explizit unter die GPL gestellt .....

Außerdem sind sie ein Ausdruck der Persönlichkeit des Schreibers!

4

13.03.2007, 19:02

Sorry das ich jetzt hier doch noch mal schreibe,

das interessiert mich jetzt doch.
Warum erkennt das Script grep tail less cat aber nicht iptables?

Wäre es dann besser, das script so zu schreiben

Quellcode

1
/usr/bin/tail /var/log/messages | /bin/grep Invalid | /usr/bin/cut -d ' ' -f10 |  /usr/bin/uniq


Das wäre dann ja eine menge Arbeit!
Eine ZusatzKonsole für which wäre somit unerlässlich

Danke
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

5

13.03.2007, 19:12

Muß jetzt gestehen, das ich Sicherheitshalber die Cron-Scripte immer so schreibe ;o)
Meine Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind explizit unter die GPL gestellt .....

Außerdem sind sie ein Ausdruck der Persönlichkeit des Schreibers!

6

13.03.2007, 20:26

Zitat

Original von knasan
Warum erkennt das Script grep tail less cat aber nicht iptables?

Wenn ich recht informiert bin, hat (f)cron im Environment die Pfad-Einstellung aus /etc/login.defs - bei mir:

Quellcode

1
ENV_PATH        PATH=/bin:/usr/bin
Und darin wird der Standard-Kram wie grep etc. gefunden, nicht aber iptables (welches vermutlich unter /sbin oder /usr/sbin installiert wird).

Zitat

Original von Wernieman
Muß jetzt gestehen, das ich Sicherheitshalber die Cron-Scripte immer so schreibe ;o)

Genau das dürfte auch der Grund dafür sein, daß die verschiedenen Crons einen so bescheidenen Path haben.

HTH
Rudi
Seien Sie vorsichtig mit Gesundheitsbüchern - Sie könnten an einem Druckfehler sterben. [Mark Twain]

7

13.03.2007, 21:16

Da per cron durchaus Anspruchsfolle Scripte gestartet werden, möchte man ja nicht, das immer der Komplette Pfad durchsucht wird (abgesehen von de bösen Jungs, die dann böse Programme versuchen einem unterzujubeln...)

schon einem Script das alle 5 Minuten leuft wird 12*24 mal am Tag aufgerufen .....
Meine Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind explizit unter die GPL gestellt .....

Außerdem sind sie ein Ausdruck der Persönlichkeit des Schreibers!