Nettoyage et PEP8 pour chgpass
This commit is contained in:
parent
525c77c2ce
commit
8f715ff771
1 changed files with 62 additions and 47 deletions
|
@ -47,7 +47,7 @@ def check_password(password, no_cracklib=False, dialog=False):
|
||||||
# Nounou mode
|
# Nounou mode
|
||||||
if no_cracklib:
|
if no_cracklib:
|
||||||
if len(password) >= config.password.root_min_len:
|
if len(password) >= config.password.root_min_len:
|
||||||
return True
|
return True, msg
|
||||||
else:
|
else:
|
||||||
upp = 0
|
upp = 0
|
||||||
low = 0
|
low = 0
|
||||||
|
@ -119,7 +119,7 @@ def check_password(password, no_cracklib=False, dialog=False):
|
||||||
return False, msg
|
return False, msg
|
||||||
|
|
||||||
@lc_ldap.shortcuts.with_ldap_conn(retries=2, delay=5, constructor=lc_ldap.shortcuts.lc_ldap_admin)
|
@lc_ldap.shortcuts.with_ldap_conn(retries=2, delay=5, constructor=lc_ldap.shortcuts.lc_ldap_admin)
|
||||||
def change_password(ldap, login=None, verbose=False, no_cracklib=False, **args):
|
def change_password(ldap, login=None, verbose=False, no_cracklib=False, **kwargs):
|
||||||
"""
|
"""
|
||||||
Change le mot de passe en fonction des arguments
|
Change le mot de passe en fonction des arguments
|
||||||
"""
|
"""
|
||||||
|
@ -155,11 +155,11 @@ To: %s
|
||||||
Subject: Tentative de changement de mot de passe !
|
Subject: Tentative de changement de mot de passe !
|
||||||
|
|
||||||
Tentative de changement du mot de passe de %s par %s.
|
Tentative de changement du mot de passe de %s par %s.
|
||||||
""" % (From, To , login.encode(config.out_encoding), current_user)
|
""" % (From, To, login.encode(config.out_encoding), current_user)
|
||||||
|
|
||||||
# Envoi mail
|
# Envoi mail
|
||||||
with mail_module.ServerConnection() as conn:
|
with mail_module.ServerConnection() as conn:
|
||||||
conn.sendmail(From, To , mail )
|
conn.sendmail(From, To, mail)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# On peut modifier le MDP
|
# On peut modifier le MDP
|
||||||
|
@ -167,19 +167,23 @@ Tentative de changement du mot de passe de %s par %s.
|
||||||
prenom = "Club"
|
prenom = "Club"
|
||||||
else:
|
else:
|
||||||
prenom = user['prenom'][0]
|
prenom = user['prenom'][0]
|
||||||
affich_tools.cprint("Changement du mot de passe de %s %s." %
|
affich_tools.cprint(
|
||||||
(prenom, user['nom'][0]),
|
"Changement du mot de passe de %s %s." % (
|
||||||
"vert")
|
prenom,
|
||||||
|
user['nom'][0]
|
||||||
|
),
|
||||||
|
"vert",
|
||||||
|
)
|
||||||
|
|
||||||
# Règles du jeu
|
# Règles du jeu
|
||||||
# (J'ai perdu)
|
# (J'ai perdu)
|
||||||
if verbose:
|
if verbose:
|
||||||
affich_tools.cprint(u"""Règles :
|
affich_tools.cprint(
|
||||||
|
u"""Règles :
|
||||||
Longueur standard : %s, root : %s,
|
Longueur standard : %s, root : %s,
|
||||||
Minimums : chiffres : %s, minuscules : %s, majuscules : %s, autres : %s,
|
Minimums : chiffres : %s, minuscules : %s, majuscules : %s, autres : %s,
|
||||||
Scores de longueur : chiffres : %s, minuscules : %s, majuscules : %s, autres : %s,
|
Scores de longueur : chiffres : %s, minuscules : %s, majuscules : %s, autres : %s,
|
||||||
Cracklib : %s.""" % (
|
Cracklib : %s.""" % (config.password.min_len,
|
||||||
config.password.min_len,
|
|
||||||
config.password.root_min_len,
|
config.password.root_min_len,
|
||||||
config.password.min_cif,
|
config.password.min_cif,
|
||||||
config.password.min_low,
|
config.password.min_low,
|
||||||
|
@ -189,22 +193,24 @@ Cracklib : %s.""" % (
|
||||||
config.password.low_value,
|
config.password.low_value,
|
||||||
config.password.upp_value,
|
config.password.upp_value,
|
||||||
config.password.oth_value,
|
config.password.oth_value,
|
||||||
"Oui" * (not no_cracklib) + "Non" * (no_cracklib)
|
"Oui" * (not no_cracklib) + "Non" * (no_cracklib),
|
||||||
),
|
),
|
||||||
'jaune')
|
'jaune',
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
affich_tools.cprint(u"""Le nouveau mot de passe doit comporter au minimum %s caractères.
|
affich_tools.cprint(
|
||||||
|
u"""Le nouveau mot de passe doit comporter au minimum %s caractères.
|
||||||
Il ne doit pas être basé sur un mot du dictionnaire.
|
Il ne doit pas être basé sur un mot du dictionnaire.
|
||||||
Il doit contenir au moins %s chiffre(s), %s minuscule(s),
|
Il doit contenir au moins %s chiffre(s), %s minuscule(s),
|
||||||
%s majuscule(s) et au moins %s autre(s) caractère(s).
|
%s majuscule(s) et au moins %s autre(s) caractère(s).
|
||||||
CTRL+D ou CTRL+C provoquent un abandon.""" %
|
CTRL+D ou CTRL+C provoquent un abandon.""" % (config.password.min_len,
|
||||||
(
|
|
||||||
config.password.min_len,
|
|
||||||
config.password.min_cif,
|
config.password.min_cif,
|
||||||
config.password.min_low,
|
config.password.min_low,
|
||||||
config.password.min_upp,
|
config.password.min_upp,
|
||||||
config.password.min_oth
|
config.password.min_oth
|
||||||
), 'jaune')
|
),
|
||||||
|
'jaune',
|
||||||
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
while True:
|
while True:
|
||||||
|
@ -234,22 +240,31 @@ CTRL+D ou CTRL+C provoquent un abandon.""" %
|
||||||
affich_tools.cprint(u"Mot de passe de %s changé." % (user['uid'][0]), "vert")
|
affich_tools.cprint(u"Mot de passe de %s changé." % (user['uid'][0]), "vert")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(description="Recherche dans la base des adhérents",
|
||||||
description="Recherche dans la base des adhérents",
|
add_help=False,
|
||||||
add_help=False)
|
)
|
||||||
parser.add_argument('-h', '--help',
|
parser.add_argument('-h',
|
||||||
|
'--help',
|
||||||
help="Affiche ce message et quitte.",
|
help="Affiche ce message et quitte.",
|
||||||
action="store_true")
|
action="store_true",
|
||||||
parser.add_argument('-n', '--no-cracklib',
|
)
|
||||||
|
parser.add_argument('-n',
|
||||||
|
'--no-cracklib',
|
||||||
help="Permet de contourner les règles de choix du mot de passe" +
|
help="Permet de contourner les règles de choix du mot de passe" +
|
||||||
"(réservé aux nounous).",
|
"(réservé aux nounous).",
|
||||||
action="store_true")
|
action="store_true",
|
||||||
parser.add_argument('-v', '--verbose',
|
)
|
||||||
|
parser.add_argument('-v',
|
||||||
|
'--verbose',
|
||||||
help="Permet de contourner les règles de choix du mot de passe" +
|
help="Permet de contourner les règles de choix du mot de passe" +
|
||||||
"(réservé aux nounous).",
|
"(réservé aux nounous).",
|
||||||
action="store_true")
|
action="store_true",
|
||||||
parser.add_argument('login', type=str, nargs="?",
|
)
|
||||||
help="L'utilisateur dont on veut changer le mot de passe.")
|
parser.add_argument('login',
|
||||||
|
type=str,
|
||||||
|
nargs="?",
|
||||||
|
help="L'utilisateur dont on veut changer le mot de passe.",
|
||||||
|
)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue