cron laeuft nicht!!!
Hallo Liste, Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab 5 12 * * * root /etc/init.d/xy Somit sollte das Script xy jeden Tag um 5 nach 12 gestartet werden. Leider funktioniert das nicht. Das Script selber laeuft aber wenn ich in der bash /etc/init.d/xy eingebe und bestaetige. Muss ich nachdem ich die crontab geaendert habe noch etwas machen? (SuSEconfig oder so was aehnliches) Bin fuer jeden Hinweis dankbar. mfg Thomas Mayr
Am Fre, 2002-04-12 um 09.14 schrieb Thomas:
Hallo Liste,
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab 5 12 * * * root /etc/init.d/xy
Somit sollte das Script xy jeden Tag um 5 nach 12 gestartet werden. Leider funktioniert das nicht. Das Script selber laeuft aber wenn ich in der bash /etc/init.d/xy eingebe und bestaetige. Muss ich nachdem ich die crontab geaendert habe noch etwas machen? (SuSEconfig oder so was aehnliches)
Bin fuer jeden Hinweis dankbar.
du musst den cron neu starten. /etc/init.d/cron {stop,start} -- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free
Alexander Thoma
Am Fre, 2002-04-12 um 09.14 schrieb Thomas:
Hallo Liste,
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab 5 12 * * * root /etc/init.d/xy
Somit sollte das Script xy jeden Tag um 5 nach 12 gestartet werden. Leider funktioniert das nicht. Das Script selber laeuft aber wenn ich in der bash /etc/init.d/xy eingebe und bestaetige. Muss ich nachdem ich die crontab geaendert habe noch etwas machen? (SuSEconfig oder so was aehnliches)
Bin fuer jeden Hinweis dankbar.
du musst den cron neu starten.
/etc/init.d/cron {stop,start}
Na - das halte ich noch für ein Gerücht. Wenn, dann würde ein kill -1 <crond-pid> schon ausreichen, damit der cron-demon die Config neu lädt. Aber dies ist laut man-page auch nicht notwendig (Wie mich vor einiger Zeit Bernd darauf aufmerksam gemacht hat!) http://linux.ctyme.com/man/man0305.htm "Additionally, cron checks each minute to see if its spool directory's modtime (or the modtime on /etc/crontab) has changed, and if it has, cron will then examine the modtime on all crontabs and reload those which have changed. Thus cron need not be restarted whenever a crontab file is modified. Note that the Crontab (1) command updates the modtime of the spool directory whenever it changes a crontab." ==> "Thus cron need not be restarted whenever a crontab file is modified." Mit den besten Grüßen, Konrad Neitzel -- SoftMediaTec GmbH Tel: 0172 / 689 31 45 Fax: 069 / 90 50 99 53
Am Freitag 12 April 2002 09:29 schrieben Sie:
Am Fre, 2002-04-12 um 09.14 schrieb Thomas:
Hallo Liste,
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab 5 12 * * * root /etc/init.d/xy
Somit sollte das Script xy jeden Tag um 5 nach 12 gestartet werden. Leider funktioniert das nicht. Das Script selber laeuft aber wenn ich in der bash /etc/init.d/xy eingebe und bestaetige. Muss ich nachdem ich die crontab geaendert habe noch etwas machen? (SuSEconfig oder so was aehnliches)
Bin fuer jeden Hinweis dankbar.
du musst den cron neu starten.
/etc/init.d/cron {stop,start}
Hi, Hab ich ausprobiert aber leider ohne Erfolg. Das Script schaut zum testen wie folgt aus : #!/bin/sh # ipchains -P input REJECT exit Wieso funktioniert es wenn ich es von der bash aus starte aber nicht ueber cron? mfg Thomas Mayr
On 12 Apr 2002 at 11:42, Thomas wrote:
Am Freitag 12 April 2002 09:29 schrieben Sie:
Am Fre, 2002-04-12 um 09.14 schrieb Thomas:
Hallo Liste,
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab 5 12 * * * root /etc/init.d/xy
Somit sollte das Script xy jeden Tag um 5 nach 12 gestartet werden. Leider funktioniert das nicht. Das Script selber laeuft aber wenn ich in der bash /etc/init.d/xy eingebe und bestaetige. Muss ich nachdem ich die crontab geaendert habe noch etwas machen? (SuSEconfig oder so was aehnliches)
Bin fuer jeden Hinweis dankbar.
du musst den cron neu starten.
/etc/init.d/cron {stop,start}
Quatsch, aber das hatten wir schon. (Wenn auch die Erklärung von Konrad hier nicht greift, denn die Einträge in /etc/crontab sind eigentliche keine direkten Cronjobs, sondern eine Skriptsammlung, die von einem Cronjob gestartet wird)
Hi,
Hab ich ausprobiert aber leider ohne Erfolg. Das Script schaut zum testen wie folgt aus : #!/bin/sh # ipchains -P input REJECT exit
Wieso funktioniert es wenn ich es von der bash aus starte aber nicht ueber cron?
Du wirst wahrscheinlich am cron-environment scheitern. Versuch mal, ipchains mit vollem Pfad anzusprechen. Alle jobs, die vom cron gestartet werden, haben nur ein sehr engeschränktes Environment. Vielleicht liegt ipchains nicht im Pfad dieses Environments? Andreas
* Alexander Thoma schrieb am 12.Apr.2002:
Am Fre, 2002-04-12 um 09.14 schrieb Thomas:
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab 5 12 * * * root /etc/init.d/xy
Somit sollte das Script xy jeden Tag um 5 nach 12 gestartet werden.
Richtig
Leider funktioniert das nicht.
Glaube ich nicht. Es sei /etc/init.d/xy ist nicht ausführbar. Was hat das überhaupt in /etc/init.d zu suchen? Ein denkbar ungünstiger Ort. Aber das hat nichts damit zu tun.
Das Script selber laeuft aber wenn ich in der bash /etc/init.d/xy eingebe und bestaetige.
Was läuft denn? Wenn Du auf eine Bildschirmausgabe wartest, dann hohl doch mal Mail ab. Kann sein, daß cron Dir die Ausbage per Mail zuschickt. cron ist keinem Bildschirm zugeordnet, alle Ausgaben werden per Mail zugeschickt, oder wenn man es so eingestellt hat verworfen. Es kann auch sein, daß irgend ein Befehl im Skript nicht gefunden wird. cron hat einen wesentlich eingeschränkteren Pfad als die bash, nachdem /etc/profile durchlaufen ist. Daher sollten sich skripte nicht allzusehr auf Pfade verlassen, außer vielleicht /bin und /usr/bin, die es auch in cron und andere Dämonen, etwa /etc/ppp/ip-up gibt.
Muss ich nachdem ich die crontab geaendert habe noch etwas machen? (SuSEconfig oder so was aehnliches)
Bin fuer jeden Hinweis dankbar.
du musst den cron neu starten.
/etc/init.d/cron {stop,start}
NEIN! Natürlich nicht. Leute, Linux ist ein Mehrbenutzersystem. Da können an einem Rechner viele Menschen arbeiten, und nicht alle haben rootrechte. Normalerweise haben die meisten Mitarbeiter keine Möglichkeit root zu werden, da sie das Paßwort nicht wissen. Wie soll sojemand einen eigenen croneintrag machen, wenn er anschließend cron neustarten müßte, oder auch SuSEconfig ausführen? Es muß nichts gemacht werden, und sollte auch nicht. Aber darauf achten, daß alle Ausgaben umgelenkt werden und das alle Kommandos, außer die in /bin und /usr/bin mit vollem Pfad angegeben werden, auch innerhalb des skriptes. Bernd -- Welches Buch ist zu empfehlen? Schon mal bei SuSE vorbeigesehen? http://www.suse.de/de/products/books/index.html oder die Empfehlungen der SuSE-Entwickler auf dem eigenen Rechner? file:///usr/share/doc/sdb/de/html/literatur.html |Zufallssignatur 5
Am Fre, 2002-04-12 um 13.09 schrieb Bernd Brodesser:
* Alexander Thoma schrieb am 12.Apr.2002:
Am Fre, 2002-04-12 um 09.14 schrieb Thomas:
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab
wichtig !!! wir merken uns mal /etc/crontab (kann nur von root bearbeitet werden, oder ???)
5 12 * * * root /etc/init.d/xy
Somit sollte das Script xy jeden Tag um 5 nach 12 gestartet werden.
Richtig
Leider funktioniert das nicht.
Glaube ich nicht. Es sei /etc/init.d/xy ist nicht ausführbar.
Was hat das überhaupt in /etc/init.d zu suchen? Ein denkbar ungünstiger Ort. Aber das hat nichts damit zu tun.
Das Script selber laeuft aber wenn ich in der bash /etc/init.d/xy eingebe und bestaetige.
Was läuft denn? Wenn Du auf eine Bildschirmausgabe wartest, dann hohl doch mal Mail ab. Kann sein, daß cron Dir die Ausbage per Mail zuschickt.
cron ist keinem Bildschirm zugeordnet, alle Ausgaben werden per Mail zugeschickt, oder wenn man es so eingestellt hat verworfen.
Es kann auch sein, daß irgend ein Befehl im Skript nicht gefunden wird. cron hat einen wesentlich eingeschränkteren Pfad als die bash, nachdem /etc/profile durchlaufen ist.
Daher sollten sich skripte nicht allzusehr auf Pfade verlassen, außer vielleicht /bin und /usr/bin, die es auch in cron und andere Dämonen, etwa /etc/ppp/ip-up gibt.
Muss ich nachdem ich die crontab geaendert habe noch etwas machen? (SuSEconfig oder so was aehnliches)
Bin fuer jeden Hinweis dankbar.
du musst den cron neu starten.
/etc/init.d/cron {stop,start}
NEIN! Natürlich nicht. Leute, Linux ist ein Mehrbenutzersystem. Da können an einem Rechner viele Menschen arbeiten, und nicht alle haben rootrechte. Normalerweise haben die meisten Mitarbeiter keine Möglichkeit root zu werden, da sie das Paßwort nicht wissen. Wie soll sojemand einen eigenen croneintrag machen, wenn er anschließend cron neustarten müßte, oder auch SuSEconfig ausführen?
ein crontab eines users erfolg mittels des befehls crontab. dier ist SUID !!!!!!! damit hat man fuer diesen befehl rootrechte !!!!! damit hat ein normaler nutzer doch die moeglichkeit fuer diese taetigkeit rootrechte zu erlangen. in diesem fall wurde aber /etc/inittab bearbeitet. in dieser datei darf kein normaler user arbeiten. diese datei hat nix mit multiuser oder nict zu tun. leute haengt euch nicht am sterten des deamons auf. ich habe inzwischen, dass cron inzwischen alle minute des aenderungsdatum der /etc/crontab schaut und diese neu einliest, wenn sie veraendert wurde. war fuer mich neu. -- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free
Alexander Thoma
ein crontab eines users erfolg mittels des befehls crontab. dier ist SUID !!!!!!! damit hat man fuer diesen befehl rootrechte !!!!! damit hat ein normaler nutzer doch die moeglichkeit fuer diese taetigkeit rootrechte zu erlangen.
NEIN!!!! Lediglich der crontab Prozess läuft dann als root (oder eben der suid Prozess, wenn es nicht crontab ist!) und der User kann NICHT rootrechte kriegen! Wäre ja noch viel Schöner, wenn dies so einfach möglich wäre! Und der eigentliche Editor wird tatsächlich nicht als root gestartet! Wäre ja auch noch schöner! Sonst setzte ich $EDITOR="rm -rf /" und starte dann ein crontab -e. (Oder ich lasse mir vom Editor eine Shell geben.)
in diesem fall wurde aber /etc/inittab bearbeitet. in dieser datei darf kein normaler user arbeiten. diese datei hat nix mit multiuser oder nict zu tun. leute haengt euch nicht am sterten des deamons auf. ich habe inzwischen, dass cron inzwischen alle minute des aenderungsdatum der /etc/crontab schaut und diese neu einliest, wenn sie veraendert wurde. war fuer mich neu.
Dagegen spricht auch nichts. Aber trotzdem ist es UNSINN, einen Service neu zu starten, nur weil an der Config etwas getan hat. Am besten gleich den ganzen Rechner neu starten, oder wie? Oder noch besser: Runter fahren, 10 sek. warten und neu einschalten. :-)) Ein kill -1 <pid> reicht normalerweise aus! Ich wundere mich ehh, wie "hier" an vielen Config-Files so rumgebastelt wird. Wie es sein sollte zeigt z.B. der innd (Newsserver). - Die Config-Files liegen in einem seperaten Verzeichnis ein weiteres mal. ($INNSRC/site) - Diese Config-Files kann man dann beliebig editieren. - Ein make-Aufruf (hier make reload-install) installiert veränderte Config-Files und sorgt für ein Einlesen der Config-Files. Dies hat man natürlich nicht, wenn man die Schrott-RPMs von SuSE nimmt, oder irre ich mich da? Bei mail hat man das übrigens ähnlich hab ich bei mir vor kurzem gesehen. Da ist in /etc/mail auch ein Makefile, dass hier etwas unterstützend eingreift. Hintergrund ist hier einfach: - Eine Änderung kann ja länger dauern. Und ich will alle Änderungen mehrfach checken. Evtl. soll morgen noch ein Kollege drüber sehen! Und zur Not soll die Kiste auch rebooten können und so. - Ich will die Config-Files evtl. durch ein Script checken lassen. - ich will mir nicht merken, was ich denn nun genau zu tuen habe, damit irgend eine SOftware ihre Änderungen übernimmt. Ist dies nun ein kill -1 <pid>? Oder gibt es eine CLI über die ich ein reload absetzen muss oder kann? Wie ist es z.B. beim Apache? Muss ich denn komplett beenden? Oder muss ich auf die x Prozesse alle ein kill -1 <pid> machen? Oder was? Muss ich jetzt alle Software genau bis ins Detail kennen? Ich hoffe doch nicht! In /etc kann die Konfig liegen, aber ich möchte irgendwo eine 2. Config liegen haben, die ich gezielt anpassen kann. Und ja: ich habe es bei Linux nicht und das kotzt mich etwas an (sorry für diese Umgangsart!). Das nur einmal, weil es hier etwas rein passt. (Und bitte keine Aussagen wie: Man sollte doch genau wissen, was man macht. Dies ist halt recht grosser Unsinn. Ich schaue mir einmal an, wie ich das Teil zu konfigurieren habe und wenn ich dann nur eine Kleinigkeit am Config-File anpassen will, dann habe ich keine Lust a) erneut gross Doku zu stöbern, nur weil Software XYZ die Änderung übernehmen soll. b) zu Rebooten a.la. Windows) Mit den besten Grüßen, Konrad Neitzel -- SoftMediaTec GmbH Tel: 0172 / 689 31 45 Fax: 069 / 90 50 99 53
Am Fre, 2002-04-12 um 13.35 schrieb Konrad Neitzel:
Alexander Thoma
schrieb: ein crontab eines users erfolg mittels des befehls crontab. dier ist SUID !!!!!!! damit hat man fuer diesen befehl rootrechte !!!!! damit hat ein normaler nutzer doch die moeglichkeit fuer diese taetigkeit rootrechte zu erlangen.
NEIN!!!! Lediglich der crontab Prozess läuft dann als root (oder eben der suid Prozess, wenn es nicht crontab ist!) und der User kann NICHT rootrechte kriegen! Wäre ja noch viel Schöner, wenn dies so einfach möglich wäre!
richtig, das entscheidet aber das programm das SUID laeuft. ich kann aus einem SUID-programm ein child-precess mit der UID des aufrufers oder mit UID 0 starten. ich habe auch nicht gesagt, dass man root wird, sondern dass man fuer _diese_ taetigkeit rootrechte hat. natuerlich nur insoweit man sie benoetigt. damit kann ich aber auch fuer child-process root-rechte haben und nicht nur fuer den process selbst. mir ging es aber um etwas anderes. es ist richtig, dass es ander moeglichkeiten gibt, als den service neu zu starten (das das automatisch geht war mir wie gesagt neu). die erklaerung von bernd, warum man den service nicht starten muss war in diesem fall faktisch falsch, da eine system-datei veraendert wurde und nicht ein user mittels des befehls crontab seine crontabs aendert. in so einem fall kann ich naemlich einen suchlmeisterton alla: " NEIN! Natürlich nicht. Leute, Linux ist ein Mehrbenutzersystem. Da können an einem Rechner viele Menschen arbeiten, und nicht alle haben rootrechte. " kann ich nicht ab, wenn jemand an der eigenlichen problemstellung vorbeiargumentiert. habe ich keine rootrechte, kann ich /etc/crontab nicht editieren, also greift das multiuser-gefasele nicht. da bin ich admin und habe die recht die ich brauche. btw: linux ist ein unix aenliches system. unix ist aus dem code des verworfenen multics projektes hervorgegangen. (in multics steckt multi=viele). nachdem einige beteiligte des multics systems des unix sahen, waren sie der meinung das es im vergleich zu den faehigkeiten die fuer multics als multiuser-os geplant waren doch eher ein sigeluser system sei. daher in anlehnung an den namen multics (multi=viele) der name unix (uno = einer).
Und der eigentliche Editor wird tatsächlich nicht als root gestartet! Wäre ja auch noch schöner! Sonst setzte ich $EDITOR="rm -rf /" und starte dann ein crontab -e. (Oder ich lasse mir vom Editor eine Shell geben.)
das ist voellig klar. das waer ja wirklich noch schoener.
in diesem fall wurde aber /etc/inittab bearbeitet. in dieser datei darf kein normaler user arbeiten. diese datei hat nix mit multiuser oder nict zu tun. leute haengt euch nicht am sterten des deamons auf. ich habe inzwischen, dass cron inzwischen alle minute des aenderungsdatum der /etc/crontab schaut und diese neu einliest, wenn sie veraendert wurde. war fuer mich neu.
Dagegen spricht auch nichts. Aber trotzdem ist es UNSINN, einen Service neu zu starten, nur weil an der Config etwas getan hat. Am besten gleich den ganzen Rechner neu starten, oder wie? Oder noch besser: Runter fahren, 10 sek. warten und neu einschalten. :-))
Ein kill -1 <pid> reicht normalerweise aus!
richtig. dazu braucht man aber die pid. manchmal ist es einfacher zu erlaeren, dass man den service neu starten soll, statt auch nicht zu erklaeren, wie man die pid kommt. wobei die meisten service-scripte inzwischen eine option reload bzw restart haben sollten. dabei wird AFAIK im prinzip auch nur ein SIGHUP geschickt.
Ich wundere mich ehh, wie "hier" an vielen Config-Files so rumgebastelt wird. Wie es sein sollte zeigt z.B. der innd (Newsserver). - Die Config-Files liegen in einem seperaten Verzeichnis ein weiteres mal. ($INNSRC/site) - Diese Config-Files kann man dann beliebig editieren. - Ein make-Aufruf (hier make reload-install) installiert veränderte Config-Files und sorgt für ein Einlesen der Config-Files.
Dies hat man natürlich nicht, wenn man die Schrott-RPMs von SuSE nimmt, oder irre ich mich da?
Bei mail hat man das übrigens ähnlich hab ich bei mir vor kurzem gesehen. Da ist in /etc/mail auch ein Makefile, dass hier etwas unterstützend eingreift.
Hintergrund ist hier einfach: - Eine Änderung kann ja länger dauern. Und ich will alle Änderungen mehrfach checken. Evtl. soll morgen noch ein Kollege drüber sehen! Und zur Not soll die Kiste auch rebooten können und so. - Ich will die Config-Files evtl. durch ein Script checken lassen. - ich will mir nicht merken, was ich denn nun genau zu tuen habe, damit irgend eine SOftware ihre Änderungen übernimmt.
siehste, daher starte ich services in /etc/init.d einfach neu, wenn ich die config geaendert habe. nicht jeder service liest seine config automatisch neu ein. kostet mich nicht viel und funktioniert sicher.
Ist dies nun ein kill -1 <pid>? Oder gibt es eine CLI über die ich ein reload absetzen muss oder kann? Wie ist es z.B. beim Apache? Muss ich denn komplett beenden? Oder muss ich auf die x Prozesse alle ein kill -1 <pid> machen? Oder was? Muss ich jetzt alle Software genau bis ins Detail kennen? Ich hoffe doch nicht!
In /etc kann die Konfig liegen, aber ich möchte irgendwo eine 2. Config liegen haben, die ich gezielt anpassen kann. Und ja: ich habe es bei Linux nicht und das kotzt mich etwas an (sorry für diese Umgangsart!).
Das nur einmal, weil es hier etwas rein passt.
(Und bitte keine Aussagen wie: Man sollte doch genau wissen, was man macht. Dies ist halt recht grosser Unsinn. Ich schaue mir einmal an, wie ich das Teil zu konfigurieren habe und wenn ich dann nur eine Kleinigkeit am Config-File anpassen will, dann habe ich keine Lust a) erneut gross Doku zu stöbern, nur weil Software XYZ die Änderung übernehmen soll. b) zu Rebooten a.la. Windows)
Mit den besten Grüßen,
Konrad Neitzel
-- SoftMediaTec GmbH Tel: 0172 / 689 31 45 Fax: 069 / 90 50 99 53
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
nix fuer ungut -- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free
Am Fre, 2002-04-12 um 15.19 schrieb Alexander Thoma:
richtig, das entscheidet aber das programm das SUID laeuft. ich kann aus einem SUID-programm ein child-precess mit der UID des aufrufers oder mit UID 0 starten. ich habe auch nicht gesagt, dass man root wird,
um protesten entgegen zu wirken: ich kann einen child-process mit der UID des aufrufers oder der UID des besitzters der datei die SUID augefuehrt wird, in diesem fall SUID=0, da SUID root.
sondern dass man fuer _diese_ taetigkeit rootrechte hat. natuerlich nur insoweit man sie benoetigt. damit kann ich aber auch fuer child-process root-rechte haben und nicht nur fuer den process selbst.
-- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free
Am Freitag 12 April 2002 15:40 schrieben Sie:
Am Fre, 2002-04-12 um 15.19 schrieb Alexander Thoma:
richtig, das entscheidet aber das programm das SUID laeuft. ich kann aus einem SUID-programm ein child-precess mit der UID des aufrufers oder mit UID 0 starten. ich habe auch nicht gesagt, dass man root wird,
um protesten entgegen zu wirken: ich kann einen child-process mit der UID des aufrufers oder der UID des besitzters der datei die SUID augefuehrt wird, in diesem fall SUID=0, da SUID root.
sondern dass man fuer _diese_ taetigkeit rootrechte hat. natuerlich nur insoweit man sie benoetigt. damit kann ich aber auch fuer child-process root-rechte haben und nicht nur fuer den process selbst.
Hallo Liste Aus all der vielen Info scheint es so zu sein, dass cron ipchain bzw iptables nicht direkt kennt; wegen des Pfades. Also wie muss ich das Script abaendern damit cron ipchains bzw iptables kennt? Hier mein Testscript xy #!/bin/sh # ipchains -P input REJECT exit Es soll mir nur die Policy umsetzen. wenn ich es in der bash starte funktionierts - nur nicht mit cron. mfg Thomas Mayr
Am Fre, 2002-04-12 um 15.55 schrieb Thomas:
Am Freitag 12 April 2002 15:40 schrieben Sie:
Am Fre, 2002-04-12 um 15.19 schrieb Alexander Thoma:
richtig, das entscheidet aber das programm das SUID laeuft. ich kann aus einem SUID-programm ein child-precess mit der UID des aufrufers oder mit UID 0 starten. ich habe auch nicht gesagt, dass man root wird,
um protesten entgegen zu wirken: ich kann einen child-process mit der UID des aufrufers oder der UID des besitzters der datei die SUID augefuehrt wird, in diesem fall SUID=0, da SUID root.
sondern dass man fuer _diese_ taetigkeit rootrechte hat. natuerlich nur insoweit man sie benoetigt. damit kann ich aber auch fuer child-process root-rechte haben und nicht nur fuer den process selbst.
Hallo Liste
Aus all der vielen Info scheint es so zu sein, dass cron ipchain bzw iptables nicht direkt kennt; wegen des Pfades. Also wie muss ich das Script abaendern damit cron ipchains bzw iptables kennt? Hier mein Testscript xy
#!/bin/sh # ipchains -P input REJECT exit
Es soll mir nur die Policy umsetzen. wenn ich es in der bash starte funktionierts - nur nicht mit cron.
du kannst ipchains aus deinem script mit pfad (/sbin/ipchains) aufrufen. du kannst auch die path-variable der crontab erweitern (flapsig ausgedrueckt, ich weiss). dazu kann man am anfang der crontab datei einige variablen definieriern. unter anderem auch PATH. die variablen meiner crontab siehen wie folgt aus: SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin damit wuerde cron auch ipchains in /sbin finden.
mfg Thomas Mayr
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
-- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free
<schnip schnap>
Also wie muss ich das Script abaendern damit cron ipchains bzw iptables kennt? Hier mein Testscript xy
#!/bin/sh # ipchains -P input REJECT exit
Es soll mir nur die Policy umsetzen. wenn ich es in der bash starte funktionierts - nur nicht mit cron.
du kannst ipchains aus deinem script mit pfad (/sbin/ipchains) aufrufen. du kannst auch die path-variable der crontab erweitern (flapsig ausgedrueckt, ich weiss). dazu kann man am anfang der crontab datei einige variablen definieriern. unter anderem auch PATH. die variablen meiner crontab siehen wie folgt aus:
SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
damit wuerde cron auch ipchains in /sbin finden.
mfg Thomas Mayr
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hi, In crontab sieht mein PATH und SHELL genau gleich aus. Auch das Abaendern des Scriptes auf /sbin/ipchains hat nichts gebracht. Was muss man noch alles beachten damit dieses Script von cron aufgerufen wird???? Wer kann mir (noch) helfen? mfg Thomas Mayr
* Thomas schrieb am 16.Apr.2002: Bitte Deinen vollständigen Namen angeben, Thomas haben wir hier viele. Und bitte auch die Namen derjenigen nennen, die Du zitierst. Das ist doch Standardeinstellung von kmail, Du mußt die Zeile schon händisch weggenommen haben. Den Listenfooter brauchst Du nun wirklich nicht zu zitieren.
du kannst ipchains aus deinem script mit pfad (/sbin/ipchains) aufrufen. du kannst auch die path-variable der crontab erweitern (flapsig ausgedrueckt, ich weiss). dazu kann man am anfang der crontab datei einige variablen definieriern. unter anderem auch PATH. die variablen meiner crontab siehen wie folgt aus:
SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
damit wuerde cron auch ipchains in /sbin finden.
In crontab sieht mein PATH und SHELL genau gleich aus. Auch das Abaendern des Scriptes auf /sbin/ipchains hat nichts gebracht. Was muss man noch alles beachten damit dieses Script von cron aufgerufen wird???? Wer kann mir (noch) helfen?
Wie gleich? Hast Du beachtet, daß cron kein tty zugeordnet ist? Etwaige Ausgaben kommen nicht auf dem Bildschirm. Du mußt sie umlenken, entweder in eine Datei oder auf einem Bildschirm wie /dev/tty12, die Console, die Du mit ALT-CTRL-F12 erreichst. Ist Dein Skript ausführbar? Hast Du in der crontab die volle Adresse Deines Skriptes angegeben? Stimmen die Zeitangaben? Bernd -- Homepages von deutschsprachigen Linux-Gurus: Kristian Köhntopp: http://www.koehntopp.de/kris/artikel/ Sven Guckes: http://www.math.fu-berlin.de/~guckes/sven Robin S Socha: http://socha.net/index2.html |Zufallssignatur 10
On Tue, Apr 16, 2002 at 08:39:50AM +0200, Thomas wrote:
In crontab sieht mein PATH und SHELL genau gleich aus. Auch das Abaendern des Scriptes auf /sbin/ipchains hat nichts gebracht. Was muss man noch alles beachten damit dieses Script von cron aufgerufen wird????
Das die Zeilenenden im Unix-Format sind.
Wer kann mir (noch) helfen?
file, od und recode Die Entfernen-Taste in deinem Mailprogramm um diese Fullquotes und ueberfluessige Zeilen zu entfernen. Peter
* Alexander Thoma schrieb am 12.Apr.2002:
Am Fre, 2002-04-12 um 13.09 schrieb Bernd Brodesser:
* Alexander Thoma schrieb am 12.Apr.2002:
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab
wichtig !!! wir merken uns mal /etc/crontab (kann nur von root bearbeitet werden, oder ???)
Ja, aber es gibt ja auch noch die /var/spool/cron/tabs/$USER
du musst den cron neu starten.
/etc/init.d/cron {stop,start}
NEIN! Natürlich nicht. Leute, Linux ist ein Mehrbenutzersystem. Da können an einem Rechner viele Menschen arbeiten, und nicht alle haben rootrechte. Normalerweise haben die meisten Mitarbeiter keine Möglichkeit root zu werden, da sie das Paßwort nicht wissen. Wie soll sojemand einen eigenen croneintrag machen, wenn er anschließend cron neustarten müßte, oder auch SuSEconfig ausführen?
ein crontab eines users erfolg mittels des befehls crontab. dier ist SUID !!!!!!! damit hat man fuer diesen befehl rootrechte !!!!!
Ja, und?
damit hat ein normaler nutzer doch die moeglichkeit fuer diese taetigkeit rootrechte zu erlangen.
Ja, aber damit wird cron nicht neu gestartet.
in diesem fall wurde aber /etc/inittab bearbeitet. in dieser datei darf
Hä? Was ist los? Die /etc/inittab? Ganz bestimmt nicht. Aus der inittab liest init, was zu machen ist. Da wird ganz bestimmt nichts dran geändert.
kein normaler user arbeiten. diese datei hat nix mit multiuser oder nict zu tun.
Natürlich hat die inittab was mit Multiuser zu tun. init wird nach dem Hochfahren vom Kernel angeworfen und init schaut in der inittab nach, was gemacht werden muß. In der inittab steht denn drinn, daß /etc/init.d/boot ausgeführt werden muß und dann /etc/init.d/rc das bootsystem von SuSE. Außerdem werden noch die Terminals auf tty1 bis tty6 eingerichtet. Aber mit cron hat das ganz bestimmt nichts zu tun.
leute haengt euch nicht am sterten des deamons auf. ich habe inzwischen, dass cron inzwischen alle minute des aenderungsdatum der /etc/crontab schaut und diese neu einliest, wenn sie veraendert wurde. war fuer mich neu.
Es wird nichts neu installiert. Es wird nachgeschaut, ob gerade was gemacht werden muß. Bernd -- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6
Am Fre, 2002-04-12 um 14.56 schrieb Bernd Brodesser:
* Alexander Thoma schrieb am 12.Apr.2002:
Am Fre, 2002-04-12 um 13.09 schrieb Bernd Brodesser:
* Alexander Thoma schrieb am 12.Apr.2002:
Ich moechte einen CRON Job erstellen. Dazu schreibe ich in /etc/crontab
wichtig !!! wir merken uns mal /etc/crontab (kann nur von root bearbeitet werden, oder ???)
Ja, aber es gibt ja auch noch die /var/spool/cron/tabs/$USER
du musst den cron neu starten.
/etc/init.d/cron {stop,start}
NEIN! Natürlich nicht. Leute, Linux ist ein Mehrbenutzersystem. Da können an einem Rechner viele Menschen arbeiten, und nicht alle haben rootrechte. Normalerweise haben die meisten Mitarbeiter keine Möglichkeit root zu werden, da sie das Paßwort nicht wissen. Wie soll sojemand einen eigenen croneintrag machen, wenn er anschließend cron neustarten müßte, oder auch SuSEconfig ausführen?
ein crontab eines users erfolg mittels des befehls crontab. dier ist SUID !!!!!!! damit hat man fuer diesen befehl rootrechte !!!!!
Ja, und?
damit hat ein normaler nutzer doch die moeglichkeit fuer diese taetigkeit rootrechte zu erlangen.
Ja, aber damit wird cron nicht neu gestartet.
in diesem fall wurde aber /etc/inittab bearbeitet. in dieser datei darf
Hä? Was ist los? Die /etc/inittab? Ganz bestimmt nicht. Aus der inittab liest init, was zu machen ist. Da wird ganz bestimmt nichts dran geändert.
richtig. ich hab auch die /etc/crontab gemeint,. darum geht es auch die ganze zeit. diese datei wurde geaendert und keine eines users. und diese datei hat nichts mit multiuser zu tun.
kein normaler user arbeiten. diese datei hat nix mit multiuser oder nict zu tun.
Natürlich hat die inittab was mit Multiuser zu tun. init wird nach dem Hochfahren vom Kernel angeworfen und init schaut in der inittab nach, was gemacht werden muß. In der inittab steht denn drinn, daß /etc/init.d/boot ausgeführt werden muß und dann /etc/init.d/rc das bootsystem von SuSE. Außerdem werden noch die Terminals auf tty1 bis tty6 eingerichtet. Aber mit cron hat das ganz bestimmt nichts zu tun.
nein. selbst wenn ein sys tem nur im singelusermode arbeitet wird die inttab benoetigt oder kannst du ohne inittab ins runlevel S booten oder wechsel ????? unter welchem user die gestarteten processe laufen ist eine voellig andere sache und hat mit dem init-process selbst nichts zu tun.
leute haengt euch nicht am sterten des deamons auf. ich habe inzwischen, dass cron inzwischen alle minute des aenderungsdatum der /etc/crontab schaut und diese neu einliest, wenn sie veraendert wurde. war fuer mich neu.
Es wird nichts neu installiert. Es wird nachgeschaut, ob gerade was gemacht werden muß.
Bernd
-- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
-- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free
participants (6)
-
Alexander Thoma
-
Andreas Kyek
-
B.Brodesser@t-online.de
-
Konrad Neitzel
-
Peter Wiersig
-
Thomas