Modif pour que ca marche aussi si on est pas dans le groupe adm.

darcs-hash:20041017203312-41617-cb0068f611f402251963d4f6d6b4d5ee416b3b9d.gz
This commit is contained in:
pauget 2004-10-17 22:33:12 +02:00
parent 094e874558
commit fdc8c72cf6

View file

@ -10,7 +10,9 @@ try :
except : except :
ldap_password = '' ldap_password = ''
ldap_auth_dn = '' ldap_auth_dn = ''
uri = 'ldaps://zamok.crans.org'
def chgpass(dn) : def chgpass(dn) :
cprint("""Le nouveau mot de passe doit comporter au minimum 6 caractères. cprint("""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')
@ -67,7 +69,7 @@ Il ne doit pas
break break
# Changement mdp # Changement mdp
if os.system("/usr/bin/ldappasswd -x -D '%s' -w '%s' '%s' -s '%s' > /dev/null" % (ldap_auth_dn, ldap_password, dn, 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('Erreur lors du changement de mot de passe','rouge') cprint('Erreur lors du changement de mot de passe','rouge')
else : else :
cprint('Changement effectué avec succès','vert') cprint('Changement effectué avec succès','vert')
@ -104,7 +106,10 @@ if __name__ == '__main__' :
cprint('Utiliser passwd pour changer son propre mot de passe','rouge') cprint('Utiliser passwd pour changer son propre mot de passe','rouge')
sys.exit(2) sys.exit(2)
s = commands.getoutput("/usr/bin/ldapsearch -x -LLL '(&(objectClass=posixAccount)(uid=%s))' dn nom prenom droits" % login).strip() if self_mode :
s = commands.getoutput('sudo -u respbats ldap_whoami')
else :
s = commands.getoutput("/usr/bin/ldapsearch -x -LLL '(&(objectClass=posixAccount)(uid=%s))' dn nom prenom droits" % login).strip()
if not s : if not s :
cprint('Login non trouvé dans la base LDAP','rouge') cprint('Login non trouvé dans la base LDAP','rouge')
sys.exit(3) sys.exit(3)
@ -127,7 +132,7 @@ if __name__ == '__main__' :
# Il faut vérifier l'ancien mot de passe # Il faut vérifier l'ancien mot de passe
ldap_auth_dn = dn ldap_auth_dn = dn
ldap_password = getpass.getpass('Mot de passe actuel : ') ldap_password = getpass.getpass('Mot de passe actuel : ')
s = commands.getoutput("/usr/bin/ldapwhoami -x -D '%s' -w '%s'" % ( ldap_auth_dn, ldap_password ) ).strip() s = commands.getoutput("/usr/bin/ldapwhoami -H '%s' -x -D '%s' -w '%s'" % ( uri, ldap_auth_dn, ldap_password ) ).strip()
try : try :
resultat = s.split(':')[1].strip() resultat = s.split(':')[1].strip()
except : except :