# entry. This little script updates an ldap from old to new.
import string, re, time, ldap, getopt, sys, os, pwd, posix, socket, base64, shutil, errno, tarfile, grp
-from userdir_ldap import *;
+from userdir_ldap import *
UUID_FORMAT = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'
# Connect to the ldap server
l = connectLDAP()
-F = open(PassDir+"/pass-"+pwd.getpwuid(os.getuid())[0],"r");
+F = open(PassDir+"/pass-"+pwd.getpwuid(os.getuid())[0],"r")
Pass = F.readline().strip().split(" ")
-F.close();
-l.simple_bind_s("uid="+Pass[0]+","+BaseDn,Pass[1]);
+F.close()
+l.simple_bind_s("uid="+Pass[0]+","+BaseDn,Pass[1])
-PasswdAttrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"sudoPassword=*", ["uid","sudoPassword"]);
+PasswdAttrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"sudoPassword=*", ["uid","sudoPassword"])
if PasswdAttrs == None:
- raise "No Users";
+ raise Exception("No Users")
for x in PasswdAttrs:
if not x[1].has_key('sudoPassword'):
# ok old format
oldformat = 'confirmed:'+make_hmac(':'.join(['password-is-confirmed', uuid, hosts, cryptedpass]))
- newformat = 'confirmed:'+make_passwd_hmac('password-is-confirmed', 'sudo', x[1]['uid'][0], uuid, hosts, cryptedpass);
+ newformat = 'confirmed:'+make_passwd_hmac('password-is-confirmed', 'sudo', x[1]['uid'][0], uuid, hosts, cryptedpass)
if status == oldformat:
print "Updating sudo password entry for %s."%(uid)
else:
Rec.append((ldap.MOD_ADD, 'sudoPassword', line))
- Dn = "uid=" + uid + "," + BaseDn;
- l.modify_s(Dn,Rec);
+ Dn = "uid=" + uid + "," + BaseDn
+ l.modify_s(Dn,Rec)