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

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: