Archiv verlassen und diese Seite im Standarddesign anzeigen : Cronjob nicht als root ausführen???
jancarsten
27-04-2005, 15:41
Hallo!
Ich bin grad dabei mir ein kleines backupscript zu schreiben. Dieses Backupscript
soll, wenn es fertig ist als cronjob laufen. Wie stellle ich es jetzt an , dass das Script nur all xyz user ausgeführt wird und nicht als root?
peschmae
27-04-2005, 17:28
In /etc/crontab hats eine Spalte für den User - und ausserdem hat eh jeder User eine eigene Crontab.
Einfach crontab -e als der entsprechende User ausführen und das Ding dort eintragen.
MfG Peschmä
Oder als erste Zeile in das Skript
su BENUTZER
eintragen. Geht dann natürlich nur als root aufzurufen.
peschmae
28-04-2005, 15:41
Das geht bei mir aber dann nicht. Das script bricht beim su ab.
MfG Peschmä
Oops. Mybad... So muss es auch heißen:
if [ `id -u` = 0 ]; then
# wir sind root...
exec su BENUTZER $0
# bis hier kommen wir nicht, aber sicher ist sicher
exit
fi
# Ab hier wird das Skript als BENUTZER ausgeführt (zumindest, wenn es als root gestartet wurde)bash nutzer können `id -u` auch durch $UID ersetzen. In diesem Falle natürlich "#!/bin/bash" statt "#!/bin/sh" schreiben.
Hans-Georg Normann
28-04-2005, 19:26
Noch eine Variante:
ich lege mir grundsätzlich die crontabdateien nochmals separat je user ab. (xyz_crontab). Gestartet wird das ganze dann so:
crontab -u xyz xyz_crontab
#nachsehen ob's angekommen ist
crontab -l -u xyzMuss man nicht unbedingt so machen, ich persönlich finde es gut.
Hans
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.