Re: automatiser sudo avec echo et read
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
Reply to: