Re: automatiser sudo avec echo et read
Le 19/12/16 à 12:57, bernard schoenacker <bernard.schoenacker@free.fr> a écrit :
BS> je souhaite automatiser la connection sudo et je pense
BS> employer echo et read :
Pas compris
BS> exemple de base :
BS>
BS> sudo apt-get update --fix-missing
cette commande lance apt si le user qui lance le script est dans sudoers (sinon demande le pass)
BS> echo toto
affiche "toto"
BS> read toto
attend une saisie utilisateur qui sera affectée à la variable toto
BS> est ce correct ?
Je sais pas ce que tu veux faire, mais si c'est un script qui se connecte en ssh pour lancer un
update ou upgrade, il vaut mieux ajouter la clé ssh du user qui lancera le script directement au
root de la machine sur laquelle le lancer, éventuellement avec un shell de ton cru pour ne
lancer que les commandes auquel il a droit.
Par ex, dans le /root/.ssh/authorized_keys de la machine concernée
command="/root/bin/mon-shell-a-moi.sh",no-port-forwarding,from="ip autorisées" ssh-rsa laClé
et dans /root/bin/mon-shell-a-moi.sh un truc du genre
#!/bin/bash
case "$SSH_ORIGINAL_COMMAND" in
ping) echo "pong";;
apt-update) apt-get update --fix-missing;;
# autres commandes autorisées
…
# par défaut un message (ici il donne la commande mais c'est pas obligatoire évidemment)
*) echo "Commande « $SSH_ORIGINAL_COMMAND » non autorisée" >&2; exit 1;;
esac
et tu testes avec `ssh root@tamachine ping` qui devrait afficher pong.
--
Daniel
L'argent a rendu l'homme esclave et
personne ne fera de l'argent son esclave.
Gilles Olive
Reply to: