J'ai fait un script comme celui-ci:
sync.sh
#!/bin/bash
#1st backup the file
scp user-1@ip-1:/directory/file1 /backup/location/
#2nd sync/overwrite my file to that server
scp /local/file2 user-1@ip-1:/directory/file1
#3rd restart service associated with that file
ssh -t user-1@IP-1 << EOF
sudo systemctl restart some.service
EOF
la permission et les privilèges du script sont les suivants:
-rwxr-x--x. 1 user-1 group-1 ~/sync.sh
J'ai des clés ssh configurées entre user-1@local
to user-1@IP-1
, j’ai configuré visudo pour redémarrer le service et tout fonctionne très bien si je lance le script avec user-1
.
Je veux tout other_user
en group-1
être en mesure d'exécuter ce script, mais la clé ssh ne fonctionne pas de cette façon, il essaie de générer une autre clé. Qu'est-ce qui me manque pour faire ça?
Ou devrais-je utiliser une approche différente? J'ai vu que je pourrais utiliser rsync pour déplacer des fichiers, mais qu'en est-il du redémarrage du service?
Merci à tous.
la source