Re: automatiser sudo avec echo et read
On Mon, 19 Dec 2016 13:12:01 +0100
Daniel Caillibaud <ml@lairdutemps.org> wrote:
> 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
>
bonjour,
après quelques tatônements :
cat>script-connect.sh<<EOF
#!/bin/bash
# script-connect.sh
# set chmod 644
sudo apt-get update --fix-missing
read toto
echo $
EOF
merci pour tout
slt
bernard
--
bernard schoenacker <bernard.schoenacker@free.fr>
Reply to: