Le 19/12/16 à 12:57, bernard schoenacker <bernard.schoenac...@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