web-dev-qa-db-fra.com

Sous quel utilisateur les scripts des dossiers cron s'exécutent-ils? (c'est-à-dire cron.daily, cron.hourly, etc.)

Si je mets un script dans /etc/cron.daily sur CentOS sous quel utilisateur s'exécutera-t-il? Fonctionnent-ils tous en tant que root ou en tant que propriétaire?

53
Kyle MacFarlane

Ils fonctionnent tous comme root. Si vous en avez besoin autrement, utilisez su dans le script ou ajoutez une entrée crontab à la crontab de l'utilisateur (man crontab) ou le crontab à l'échelle du système (dont je ne pourrais pas vous dire l'emplacement sur CentOS).

53
geekosaur

Edit: ma réponse ne s'applique pas réellement dans ce cas, voir le commentaire de Zoredache ci-dessous. Désolé, tout (surtout geekosaure). Kyle, notez que si vous souhaitez exécuter un script régulièrement en tant qu'utilisateur non root, les éléments suivants peuvent être utiles; il suffit de le faire via cron.d plutôt que cron. {horaire, quotidien, hebdomadaire, mensuel}.

Je déteste contredire, mais je crains que le geekosaure ne soit pas tout à fait raison. Ils s'exécutent en tant que root sauf indication contraire. Voici une partie de la boîte de mon CentOS /etc/cron.d/munin fichier:

# cron-jobs for munin
MAILTO=root
1-56/5 * * * *     munin /usr/share/munin/munin-limits --force

Notez comment, sur la ligne de fond (ligne 3), il y a un nom d'utilisateur spécifié avant l'exécutable. Cette entrée cron particulière fonctionne en tant qu'utilisateur munin, donc à condition que votre cron soit similaire à celui de CentOS 5 (vixie-cron-4.1-77), vous devriez pouvoir faire de même.

17
MadHatter