[gelöst] cronjob für User in chroot - ist das möglich?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

[gelöst] cronjob für User in chroot - ist das möglich?

Beitrag von McAldo » 20.08.2010 10:03:13

Hallo,

ist es möglich, dass ein User, der sich per SSH in eine chroot-Umgebung einloggt, in dieser einen cronjob ausführen kann? Anlegen mit "crontab -e" funktioniert, jedoch wird der Testjob (Datei in /tmp anlegen) nicht ausgeführt.

Dem User, der nur in der chroot arbeiten kann muss es doch irgendwie möglich sein, für seine Umgebung cronjob zu definieren.

Danke für Infos dazu.

McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
TRex
Moderator
Beiträge: 8366
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: cronjob für User in chroot - ist das möglich?

Beitrag von TRex » 20.08.2010 12:51:43

Überleg doch mal, wie cronjobs ausgeführt werden..der cron-daemon liest /etc/crontab ein, startet dadurch die Scripts in den verschiedenen Verzeichnissen und das wars.

Die Scripts, die in deinem chroot angelegt werden, kommen nie zum Zug, da sie nicht an diesen Stellen erwähnt werden..und das ist gut so: legst du in deinem chroot so etwas an wie touch /tmp/test, dann wird das nicht im chroot angelegt, sondern im echten Dateisystem (Kontext des Daemon).
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: cronjob für User in chroot - ist das möglich?

Beitrag von McAldo » 20.08.2010 13:16:37

Soweit bin ich auch schon. :)

Macht ein User "tux" in der chroot-Umgebung

Code: Alles auswählen

crontab -e
wird in dieser Umgebung die Datei /chrootdir/var/spool/cron/crontabs/tux angelegt, in welcher sich auch der entsprechende Eintrag befindet. Diese Datei wird natürlich nicht vom crond der Host-Umgebung gelesen. Ein leichter Ausweg wäre, den crond in der chroot-Umgebung zu starten. Das scheitert aber nach bisherigen Kenntnissen an der Machbarkeit. Man könnte auch überlegen einen 2. crond zu starten und den so umzubiegen, dass er nur in und für die chroot-Umgebung läuft. Da weiß ich nicht, ob es möglich ist und mit welchem Aufwand. An einer 3. Möglichkeit arbeite ich gerade. :)

McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
TRex
Moderator
Beiträge: 8366
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: cronjob für User in chroot - ist das möglich?

Beitrag von TRex » 20.08.2010 13:35:24

Eine idee hätte ich...weiß aber nicht, ob sie machbar ist.

Die gewöhnlichen Aufrufe in den cronfiles sehen so aus:

Code: Alles auswählen

test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily
Wie wäre es, in der crontab den gesamten Bereich zu duplizieren und so zu modifizieren:

Code: Alles auswählen

chroot /chrootdir/ test -x /usr/sbin/anacron || ( cd / && chroot /chrootdir/ run-parts --report /etc/cron.daily
Könnte das funktionieren? Bei dem cd / bin ich mir nicht sicher.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: cronjob für User in chroot - ist das möglich?

Beitrag von McAldo » 23.08.2010 12:15:57

Leider hat die Idee nicht funktioniert.

Ich habe nun ein Script gebastelt, welches dafür sorgt, dass der Inhalt der User-crontab aus dem chroot ins Hostsystem importiert wird. Dabei wird dann vor die Pfade in der crontab der chroot-Pfad gesetzt, damit es bei Ausführung in der chroot Anwendung findet.

Das Script kann hier angeschaut/geladen (und danach benutzt :) ) werden: http://nopaste.debianforum.de/34875

Ein entsprechender Croneintrag in der Hostumgebung sorgt auch für regelmäßige Anwendung:

vi /etc/crontab

Code: Alles auswählen

*/30 * * * *    root    /usr/local/sbin/cronimport.pl
McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Antworten