[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: