Pour passwd, c est vrai que c est galere. Surtout si tu n as pas chpasswd a dispo.
Pour de la creation de compte (je gere une ptite salle info d eleves, donc a priori je suis loin d avoir des conseils de pros), j utilise useradd, avec l option comme ca (aux erreurs de syntaxe pres, de tete
passwd = rand_passwd(8)
crypt_passwd = crypt.crypt(passwd,rand_passwd(2))
commande = 'useradd -g %s -G users -m -p %s -s /bin/bash %s' % (gid, crypt_passwd, login)
rand_passwd est une fonction du script qui retourne un mot de passe de x caractères, chiffres ou lettres/majuscules, choisies au hasard.
C est porc, mais ca marche
NB: l option --stdin qui apparait dans la page man francaise pour passwd n existe pas en réalité, ca doit etre du a une vetusté quelconque de la page.
Sinon t as plus violent, l edit de /etc/passwd /etc/shadow, a tes risques et périls...
Ca bloque si l utilisateur existe deja, ou si tu utilises d autres services. Donc la y a des bidouilles encore, genre:
smbpasswd -as "login" < "fichier texte temporaire contenant les mots de passes"
Sinon, il te reste le module pexpect:
http://pexpect.sourceforge.net/
Bonne chance a toi. Le module par contre, je ne l ai jamais testé.
Edit: (de scrupule)
Vivement déconseillé de tenter ses scripts avec pexpect en root, sinon prepare quelques sauvegardes sur bande avant, t as les moyens de tout casser avec ce truc.
Message édité par Gf4x3443 le 12-07-2005 à 14:39:08