Sous debian 9 j’utilise régulièrement lxc et pour des essais je souhaite pouvoir modifier le mdp root automatiquement.
La cde suivante ne fonctionne pas :
lxc-atttach -n name – echo root:pwd | chpasswd
Celles-ci fonctionnent, mais je suis obligé de saisir le mdp
lxc-attach -n name – passwd
lxc-attach -n name
echo root:pwd | chpasswd
exit
En effet. C’est la même erreur courante qu’avec sudo. Toute l’expression, et notamment la redirection (pipe), est interprétée par le shell de l’hôte de la façon suivante :
exécuter la commande lxc-attach -n name – echo root:pwd
envoyer la sortie standard de la commande lxcattach à l’entrée standard de la commande chpasswd
chpasswpd est exécuté dans le shell de l’hôte, pas dans le conteneur.
Pour effectuer la redirection dans le conteneur, Il faut l’envoyer à un shell du conteneur :
lxc-attach -n name – sh -c "echo root:pwd | chpasswd"