#1 Le 09/09/2015, à 20:42
- Bbar
[Résolu] Passer un mot de passe à une commande
Bonjour,
Je cherche à faire un script dans lequel j'utilise la commande :
cryptsetup -v luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdc
A l'execution de cette commande on nous demande une confirmation ("YES") et un mot de passe à répéter.
Dans un script; je souhaiterais confirmer automatiquement et envoyer 2 fois un mot de passe (issu d'un fichier par exemple) à cette commande
J'avais pensé à faire
echo -n YES mot_de_passe mot_de_passe | cryptsetup ...
mais cela ne fonctionne pas. D'ailleurs je peux mettre n'importe quoi à la commande echo et l'opération reussi toujours, sans que je sache le mot de passe entré...
D'où ma question : comment puis-je, dans un script, envoyer des "paramètres" (qui n'en sont pas vraiment) à une commande
Merci !
Dernière modification par Bbar (Le 16/09/2015, à 16:52)
Hors ligne
#2 Le 10/09/2015, à 07:04
- serged
Re : [Résolu] Passer un mot de passe à une commande
L'option --key-file n'est pas faite pour ça ?
man cryptsetup
pour les détails...
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#3 Le 10/09/2015, à 08:53
- Bbar
Re : [Résolu] Passer un mot de passe à une commande
En effet, pour cette comande cela est fait pour ! merci, ça m'avait échappé !
Du coup je me permet d'élargir ma question à n'importe quelle autre commande : peut-on répondre à une question est posée à l'utilisateur en cours d'execution (i.e. adduser) ?
Hors ligne
#4 Le 16/09/2015, à 08:47
- tiramiseb
Re : [Résolu] Passer un mot de passe à une commande
Du coup je me permet d'élargir ma question à n'importe quelle autre commande : peut-on répondre à une question est posée à l'utilisateur en cours d'execution (i.e. adduser) ?
Pour "répondre automatiquement à une question posée à l'utilisateur", tu peux utiliser l'outil expect.
Par contre, pour adduser, il n'y a pas besoin d'expect non plus, tout est automatisable (d'ailleurs il vaut mieux utiliser useradd pour faire quelque chose de fin, quand on veut automatiser).
De manière générale, la plupart des commandes "automatisables" ont des options qui permettent de fournir les données par des fichiers ou par des arguments, expect n'est en réalité pas souvent nécessaire.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#5 Le 16/09/2015, à 16:52
- Bbar
Re : [Résolu] Passer un mot de passe à une commande
merci tiramiseb ! c'est très clair
Hors ligne