[chgpass] pour pouvoir l'utiliser dans des scripts
darcs-hash:20090323151329-bd074-e03b8289cd81601eb257dd1c628cb9832fd70152.gz
This commit is contained in:
parent
707074f3bf
commit
562b2864e3
1 changed files with 17 additions and 11 deletions
|
@ -39,7 +39,19 @@ def decode64(chaine):
|
||||||
except:
|
except:
|
||||||
return chaine.decode('utf8','ignore')
|
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.
|
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')
|
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."
|
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 :
|
if mdp != mdp1 :
|
||||||
cprint(u'Les deux mots de passe entrés sont différents, réesayer', 'rouge')
|
cprint(u'Les deux mots de passe entrés sont différents, réesayer', 'rouge')
|
||||||
continue
|
continue
|
||||||
|
|
||||||
break
|
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 :
|
except KeyboardInterrupt :
|
||||||
cprint(u'\nAbandon', 'rouge')
|
cprint(u'\nAbandon', 'rouge')
|
||||||
pass
|
sys.exit(1)
|
||||||
except EOFError :
|
except EOFError :
|
||||||
# Un Ctrl-D
|
# Un Ctrl-D
|
||||||
cprint(u'\nAbandon', 'rouge')
|
cprint(u'\nAbandon', 'rouge')
|
||||||
pass
|
sys.exit(1)
|
||||||
|
|
||||||
|
return mdp
|
||||||
|
|
||||||
if __name__ == '__main__' :
|
if __name__ == '__main__' :
|
||||||
sys.stdout.write('\r \r') # Pour esthétique lors de l'utilisation par sudo
|
sys.stdout.write('\r \r') # Pour esthétique lors de l'utilisation par sudo
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue