Pour des besoins dans mon travail, je dois déployer un même fichier crontab sur plusieurs machines Unix.
les crontabs sont dans
/var/spool/crontabs/mon_user_crontab
le hic c'est que ce fichier je ne peux le modifier qu'en faisant un
crontab-e
je peux pas le manipuler physiquement pour par exemple le déplacer, et remplacer par un nouveau fichier, pas les droits dessus, il appartient au user root et à mon groupe ?Je ne suis pas root sur cette machine.
Y'a-t-il à votre avis un moyen de faire un déploiement massif en déposant le nouveau fichier crontab par ftp, plutôt que de me taper des crontab -e sur chacune des machines, ce qui est source d'erreur.
Moi je ne vois pas trop de solution
avez-vous des idées ?
Merci de m'avoir lu.
E.
# ssh/scp
Posté par nono14 (site web personnel) . Évalué à 0.
Pour copier le fichier:
for machine in machine1 machine2 ; do
scp /tmp/monfichier root@$machine
done
Cela pourait etre un script shell que tu recopie sur chaque machine
puis l'execute en local en faisant:
for machine in machine1 machine2 ; do
ssh root@$machine /tmp/monscript
done
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # man crontab
Posté par nono14 (site web personnel) . Évalué à 2.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: ssh/scp
Posté par FueL . Évalué à 1.
[^] # Re: ssh/scp
Posté par nono14 (site web personnel) . Évalué à 0.
scp /tmp/file user@machine:/le_rep_de_destination
ça marche aussi dans l'autre sens
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
# ssh + crontab
Posté par Mouns (site web personnel) . Évalué à 6.
* crontab - permet de prendre l'entrée standard, comme contenu de la crontab
* | ssh host crontab - permet de prendre la sortie standard local pour l'envoyer en entrée standard distante sur la machine host
en gros l'idée est :
for host in 'h1 h2 h3 h4'; do
cat crontab | ssh $host crontab -
done
apres, il te suffit de deployer des sur les machines h1, h2, h3 et h4 et surtout de spécifier dans ton authorized_keys et le sshd_config distants certaines contraintes pour securiser un peul l'ensemble en empechant d'offrir un shell à un attaquant.
* tu as l'option command= pour ton authorized_keys qui permet de n'autoriser qu'un seul programme à fonctionner quand on lance ssh avec la clé correspondant ( par exemple un filtre de contenu avant de risquer d'ecrire un wget dans ta crontab avec un bete crontab - )
* tu as l'option PermitRootLogin force-command-only qui si tu dois autoriser le login root par ssh, te permet de fournir qu'un shell restreint.
[^] # Re: ssh + crontab
Posté par FueL . Évalué à 1.
dans l'idée c'est ce qui me fallait
merci d'avoir répondu.
[^] # Re: ssh + crontab
Posté par Mouns (site web personnel) . Évalué à 2.
pense à regarder l'option command= elle pourra t'assurer un petit plus en cas d'attaque contre les clés, si tu sais coder un peu ;)
# le plus simple
Posté par FueL . Évalué à 1.
$crontab < manouvellecron.txt
c'est précis efficace, et ça répond à ma question.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.