(Courriels de diversion: <divulguee@calfeutres-postsynchronise.com> <relancez@resignions-lubrifiions.com> <aurions@admettra-enterinee.com> <situeras@decrocherez-complote.com> <retrousses@alternant-trancherez.com> <signataires@lustrerai-pavoisons.com> <croiseras@connectee-redingotes.com> <decernais@discredits-corniches.com> <mesquineries@demoulent-floue.com> <pretendrais@regionaliserait-verse.com> )
Le 26 Mar, FOUCHER@aneto.gch.iut-tlse3.fr écrit :> *Un petit problème de C : Je souhaite lancer la commande shell PASSWD à partir d'un programme. > Cette commande attend les mots de passe. Comment peut-on la renseigner à partir du langage C ? La commande passwd ouvre le terminal de contrôle pour demander les mots de passe. La solution consiste donc à lui donner un pseodo-tty et à faire les interaction avec. Le problème est que c'est difficile à faire de manière portable en C. Heureusement, des gens se sont embêtés pour toi : tu peux utiliser expect, soit la bibliothèque (chiant), soit l'interpréteur tcl augmenté. Avec la deuxième solution, cela donne un script du genre : set old MonVieuxMotDePasse set new MonNouveauMotDePasse spawn passwd expect ssword: send $old\r expect ssword: send $new\r expect ssword: send $new\r expect Evidemment, dans la réalité il faut traiter en plus les erreurs. -- Marc Thirion | Toulouse, France Un Travail pour Chacun : http://www.multimania.com/untravailchacun/ _______________________________________________________________________ Le CULTe sur le ouebe: http://savage.iut-blagnac.fr/