[chgpass] pour pouvoir l'utiliser dans des scripts

darcs-hash:20090323151329-bd074-e03b8289cd81601eb257dd1c628cb9832fd70152.gz
parent 707074f3
......@@ -39,7 +39,19 @@ def decode64(chaine):
except:
return chaine.decode('utf8','ignore')
def chgpass(dn) :
def chgpass(dn, mdp = None) :
if mdp == None:
mdp = promptpass(dn)
# Changement mdp
if os.system("/usr/bin/ldappasswd -H '%s' -x -D '%s' -w '%s' '%s' -s '%s' > /dev/null" % (uri, ldap_auth_dn, ldap_password, dn, mdp) ):
cprint(u'Erreur lors du changement de mot de passe', 'rouge')
syslog.syslog("LDAP password changed for dn=%s" % dn)
else :
cprint(u'Changement effectué avec succès', u'vert')
def promptpass(dn):
cprint(u"""Le nouveau mot de passe doit comporter au minimum 6 caractères.
Il ne doit pas être basé sur un mot du dictionnaire.""", 'jaune')
print "Il est conseillé d'utiliser une combinaison de minuscules, majuscules,\nde chiffres et d'au moins un caractère spécial."
......@@ -106,23 +118,17 @@ Il ne doit pas être basé sur un mot du dictionnaire.""", 'jaune')
if mdp != mdp1 :
cprint(u'Les deux mots de passe entrés sont différents, réesayer', 'rouge')
continue
break
# Changement mdp
if os.system("/usr/bin/ldappasswd -H '%s' -x -D '%s' -w '%s' '%s' -s '%s' > /dev/null" % (uri, ldap_auth_dn, ldap_password, dn, mdp) ):
cprint(u'Erreur lors du changement de mot de passe', 'rouge')
syslog.syslog("LDAP password changed for dn=%s" % dn)
else :
cprint(u'Changement effectué avec succès', u'vert')
except KeyboardInterrupt :
cprint(u'\nAbandon', 'rouge')
pass
sys.exit(1)
except EOFError :
# Un Ctrl-D
cprint(u'\nAbandon', 'rouge')
pass
sys.exit(1)
return mdp
if __name__ == '__main__' :
sys.stdout.write('\r \r') # Pour esthétique lors de l'utilisation par sudo
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment