user crontab in /var/spool/cron/tabs will nur bei einem User nicht
Ich habe für user "anmeld" in /var/spool/cron/tabs als root eine Datei "anmeld" mit: * * * * * echo "asdfasdf" > /tmp/~test eingestellt. Der cronjob wird aber *nicht* ausgeführt. Nehme ich den User "gerlach" und richte ebenfalls eine Datei "gerlach" ein, dann gehts: /var/log/messages: Nov 9 09:13:00 pserver /USR/SBIN/CRON[25648]: (gerlach) CMD (echo "asdfasdf" > /tmp/~test) Beide Dateien sind gleich: -rw------- 1 root root 282 Nov 9 09:12 anmeld -rw------- 1 root root 40 Nov 9 09:11 gerlach und haben den gleichen Eintrag. Ich stelle gerade fest, daß irgenein daemon in die "anmeld" geschrieben hat: pserver:/var/spool/cron/tabs # cat anmeld # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.2884 installed on Tue Nov 9 04:23:25 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) * * * * * echo "asdfasdf" > /tmp/~test_anmeld WAS SOLL DENN DAS? Wer war das? Hängt das mit der Fehlfunktion zusammen? Wo ist das "Master"-File? - Spiel Suse da rein? danke schon mal Ekkard
On Tue, Nov 09, 2004 at 09:19:08AM +0100, Ekkard Gerlach wrote:
Ich habe für user "anmeld" in /var/spool/cron/tabs als root eine Datei "anmeld" mit:
* * * * * echo "asdfasdf" > /tmp/~test
eingestellt. Der cronjob wird aber *nicht* ausgeführt.
Der richtige Weg für einen User eine crontab einzurichten oder zu ändern ist der folgende: crontab -u user -e Gruß, Jürgen
Ekkard Gerlach
Ich habe für user "anmeld" in /var/spool/cron/tabs als root eine Datei "anmeld" mit:
* * * * * echo "asdfasdf" > /tmp/~test
eingestellt. Der cronjob wird aber *nicht* ausgeführt.
Existiert der User auch in /etc/passwd?
Nehme ich den User "gerlach" und richte ebenfalls eine Datei "gerlach" ein, dann gehts:
/var/log/messages: Nov 9 09:13:00 pserver /USR/SBIN/CRON[25648]: (gerlach) CMD (echo "asdfasdf" > /tmp/~test)
Beide Dateien sind gleich: -rw------- 1 root root 282 Nov 9 09:12 anmeld -rw------- 1 root root 40 Nov 9 09:11 gerlach
und haben den gleichen Eintrag.
Du bist doch schon lange genug dabei und solltest eigentlich wissen, daß Anwender ihre Crontabellen tunlichst mit dem croneigenen Editor erstellen sollten, also mit 'crontab -e'. Cron nimmt die Identität des jeweiligen Users an, also in deinem Falle anmeld, der User anmeld hat aber nicht das Recht, die Datei zu lesen, möglicherweise hat der User anmeld auch nicht das Recht, in /tmp zu schreiben. Zur Strafe schreibst du jetzt 100 mal 'Ich soll nicht als root arbeiten'. :-)
Ich stelle gerade fest, daß irgenein daemon in die "anmeld" geschrieben hat: pserver:/var/spool/cron/tabs # cat anmeld # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.2884 installed on Tue Nov 9 04:23:25 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) * * * * * echo "asdfasdf" > /tmp/~test_anmeld
WAS SOLL DENN DAS? Wer war das? Hängt das mit der Fehlfunktion zusammen? Wo ist das "Master"-File? - Spiel Suse da rein?
Wie 'WAS SOLL DENN DAS?, das solltest du doch eigentlich wissen, das ist Cron, der da meckert, und zwar mit Recht. Der Master ist die Datei /var/spool/cron/tabs/anmeld. Nein, SuSE spielt da nicht hinein. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
* Dieter Kluenter schrieb:
eingestellt. Der cronjob wird aber *nicht* ausgeführt.
Existiert der User auch in /etc/passwd? ja
Du bist doch schon lange genug dabei und solltest eigentlich wissen, daß Anwender ihre Crontabellen tunlichst mit dem croneigenen Editor erstellen sollten, also mit 'crontab -e'. ;-) bisher noch nie darüber gestolpert. Es war bisher nur root-cron notwendig und den trage ich direkt in /etc/crontab ein. Nun gut, ich könnte nun auch mittels crontab -e -u root mit dem root-jobs befüllen und nicht /etc/crontab. Ist das besser so? (BTW: Installationen bei Kunden laufen eigentlich mit Skripten und die schreiben natürlich
[...] direkt den lauffähigen Code rein .. wenn er läuft!)
Cron nimmt die Identität des jeweiligen Users an, also in deinem Falle anmeld, der User anmeld hat aber nicht das Recht, die Datei zu lesen, möglicherweise hat der User anmeld auch nicht das Recht, in /tmp zu schreiben. ich entdecke gerade:
pserver:~ # crontab -e -u anmeld crontab: installing new crontab Da scheint cron wieder "besänftigt" zu sein, wenn ich die crontab von anmeld so behandle. Jetzt gehts!!!!!!
Zur Strafe schreibst du jetzt 100 mal 'Ich soll nicht als root arbeiten'. :-) ja, Papa ..
Übringens: unter google habe ich gestern schon crontab -e -u <user> entdeckt, habe damit auch schon was gemacht, aber irgendwie gings halt nicht. Aber bitte: sooo häufig war das Thema nicht in der Liste. Ich lese eigentlich regelmäßig mit. Dankeschön!! Gruss Ekkard
Ekkard Gerlach
Ich stelle gerade fest, daß irgenein daemon in die "anmeld" geschrieben hat: pserver:/var/spool/cron/tabs # cat anmeld # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.2884 installed on Tue Nov 9 04:23:25 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) * * * * * echo "asdfasdf" > /tmp/~test_anmeld
Da habe ich meine vorhergehende Mail zu schnell abgeschickt. Cron kann natürlich nicht eine Datei zweimal für unterschiedliche User beschreiben, daher auch der Hinweis, den Master entsprechend dem Vorschlag neu zu editieren und in die Datei /tmp/~test_anmeld schreiben zu lassen, denn die Datei /tmp/~test wird ja schon von gerlach beschrieben. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
participants (3)
-
Dieter Kluenter
-
Ekkard Gerlach
-
Jürgen Knelangen