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

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: