From a9e248434e10153fc321f3d830051693a9b64948 Mon Sep 17 00:00:00 2001 From: pauget Date: Fri, 22 Oct 2004 14:22:57 +0200 Subject: [PATCH] Possibilit de changer le mdp d'un adhrent avec droits en tant root. Petite doc. darcs-hash:20041022122257-41617-7f657141e679d73e323a000ee779379bc31a73ff.gz --- gestion/chgpass.py | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/gestion/chgpass.py b/gestion/chgpass.py index 596c148f..cd806143 100755 --- a/gestion/chgpass.py +++ b/gestion/chgpass.py @@ -1,6 +1,23 @@ #! /usr/bin/env python # -*- coding: iso-8859-15 -*- +""" +Script de changement de mots de passe LDAP + +Utilisation : + * cas 1 : sans arguements par un utlisateur lambda : + changement de son propre mdp + * cas 2 : avec argument par un utilisateur ayant accès + total à la base LDAP (respbats) mais PAS ROOT : + changement du mdp de l'adhérent fourni en argument, + impossibilité de modifier le mdp d'un compte privilégié + * cas 3 : lancé par root : possibilité de modifier + tous les mots de passe LDAP + +Copyright (C) Frédéric Pauget +Licence : GPLv2 +""" + import getpass, commands, os, sys from user_tests import getuser @@ -94,7 +111,7 @@ if __name__ == '__main__' : print "Changement du mot de passe du compte choisi." sys.exit(255) else : - # Changement du mot de passe par un admin câbleur ou une nounou + # Changement du mot de passe par un câbleur ou une nounou login = sys.argv[1] self_mode = False for c in login[:] : @@ -127,7 +144,7 @@ if __name__ == '__main__' : except : cprint('Erreur lors de la recherche du login','rouge') sys.exit(5) - + if self_mode : # Il faut vérifier l'ancien mot de passe ldap_auth_dn = dn @@ -139,12 +156,11 @@ if __name__ == '__main__' : cprint("Erreur lors de l'authentification",'rouge') sys.exit(7) if resultat != dn : - print '|%s|' % resultat cprint({ 'Invalid credentials (49)' : 'Mot de passe invalide' }.get(resultat,resultat),'rouge') sys.exit(8) - - elif len(s) > 3 : - # Adhérent avec droits + + elif len(s) > 3 and os.getuid()!=0 : + # Adhérent avec droits et on est pas root From = 'roots@crans.org' To = 'roots@crans.org' mail = """From: Root <%s>