J'essaie d'implémenter un mécanisme de configuration qui permet dans un certain projet de déployer via svn une configuration cron.
J'ai immédiatement pensé que ce que je devais faire était de créer des liens symboliques de /etc/cron.d/ vers le fichier cron de mon projet (qui à son tour est contrôlé par un vcs), mais cela ne semble pas fonctionner.
J'ai trouvé d'anciens messages de forum faisant référence au fait que les liens symboliques n'étaient pas pris en charge et d'autres disant qu'ils le sont. Lequel est-ce?
Y a-t-il autre chose ou tout autre bon moyen d'y parvenir?
la source
/etc/cron.d/bobsjob
pointe vers un fichier appartenant à l'utilisateur "bob" cron échouera avec un message syslogWRONG FILE OWNER (/etc/cron.d/bobsjob)
.sudo -u www-data crontab -e
et ajoutez-le à la crontab de l'utilisateur www-data. Il s'exécutera ensuite en tant qu'utilisateurwww-data
. N'oubliez pas de supprimer la colonne utilisateur explicite, car elle n'existe pas dans les crontabs utilisateur.etc/cron.
? J'avais l'impression que l'outil crontab placerait la tâche ailleurs.crontab -e
n'est pas ce que vous voulez dans ce cas. Je cherche, mais je n'ai pas trouvé de moyen d'exécuter un utilisateur crontab en tant qu'utilisateur non root.Cela a des implications sur la sécurité. Les scripts dans /etc/cron.d/ sont exécutés par root avec les privilèges root. C'est une mauvaise idée de créer un lien symbolique entre les scripts qui sont détenus et accessibles en écriture pour les utilisateurs non root, car votre système pourrait être compromis de cette façon
la source
Je vérifierais la page de manuel cron pour votre version d'Ubuntu (je suppose que nous parlons d'Ubuntu sur ce forum!):
Comme le souligne Florian, si ce fichier est accessible en écriture par des utilisateurs non root, c'est une faille de sécurité car les jobs seront exécutés par root (pour celui qui est nommé propriétaire du job dans le fichier). Notez également, par conséquent, que
c.-à-d. entrez le nom d'utilisateur avant la commande à exécuter.
la source