Re: automatiser sudo avec echo et read
On Tue, 20 Dec 2016 01:30:54 +0100
Francois Lafont <mathsattacks@free.fr> wrote:
> Bonsoir,
>
> On 12/19/2016 05:17 PM, bernard schoenacker wrote:
>
> > Daniel Caillibaud <ml@lairdutemps.org> wrote:
> >
> >> echo toto | ssh root@machine 'sudo -S uneCommande'
> >
> > bonjour,
> >
> > j'ai essayé et c'est un échec, qui peut me trouver une astuce ?
> >
> > je continue de chercher
>
> Personnellement je n'ai pas trop compris où il était question
> de ssh dans le premier message (assez laconique) de ce fil. En
> revanche, je peux confirmer que l'option -S (ou --stdin) indiquée
> par Daniel fait bien le job de lire le mot de passe sudo sur stdin.
> Par exemple :
>
> ~$ whoami
> flaf
>
> ~$ pwd='mauvais-mot-de-passe'
>
> ~$ printf '%s\n' "$pwd" | sudo --stdin --prompt='' touch /tmp/test
> Sorry, try again.
>
> sudo: 1 incorrect password attempt
>
> ~$ ls -l /tmp/test
> ls: cannot access /tmp/test: No such file or directory
>
> ~$ pwd='le-bon-mot-de-passe'
> ~$ printf '%s\n' "$pwd" | sudo --stdin --prompt='' touch /tmp/test
>
> ~$ ls -l /tmp/test
> -rw-r--r-- 1 root root 0 Dec 20 01:26 /tmp/test
>
> Il faut se méfier de "echo" pour envoyer le mot de passe, surtout
> si celui-ci contient des caractères « exotiques » et plutôt utiliser
> printf comme ci-dessus qui est plus robuste par rapport à ça.
>
> --
> François Lafont
>
bonjour,
merci beaucoup, la syntaxe est correcte même pour d'autres
instructions (apt-get update)
slt
bernard
--
bernard schoenacker <bernard.schoenacker@free.fr>
Reply to: