ud-info: Add an option "L" to lock accounts in the interactive interface. userdir-ldap-0.3.29
authorPeter Palfrader <peter@palfrader.org>
Thu, 22 May 2008 19:50:12 +0000 (21:50 +0200)
committerPeter Palfrader <peter@palfrader.org>
Thu, 22 May 2008 19:50:12 +0000 (21:50 +0200)
Locking an account sets a user's password to "{crypt}*LK*" and sets a
mailDisableMessage of "account locked".

debian/changelog
ud-info

index 5c1b602..9ad0104 100644 (file)
@@ -1,6 +1,14 @@
+userdir-ldap (0.3.29) unstable; urgency=low
+
+  * ud-info: Add an option "L" to lock accounts in the interactive
+    interface.  Locking an account sets a user's password to "{crypt}*LK*"
+    and sets a mailDisableMessage of "account locked".
+
+ -- Peter Palfrader <weasel@debian.org>  Thu, 22 May 2008 21:49:19 +0200
+
 userdir-ldap (0.3.28) unstable; urgency=low
 
-  * Do not disable mail just because the account is locked.
+  * ud-generate: Do not disable mail just because the account is locked.
 
  -- Peter Palfrader <weasel@debian.org>  Thu, 22 May 2008 21:38:56 +0200
 
diff --git a/ud-info b/ud-info
index e533a9e..8cedd1d 100755 (executable)
--- a/ud-info
+++ b/ud-info
@@ -328,6 +328,7 @@ while(1):
       print "   a) Arbitary Change";
       print "   R) Randomize Password";
    print "   p) Change Password";
+   print "   L) Lock account";
    print "   u) Switch Users";
    print "   x) Exit";
    
@@ -399,6 +400,20 @@ while(1):
       Attrs[0][1]["userPassword"] = [Pass];
       continue;
 
+   # Lock account
+   if Response == 'L' and RootMode == 1:
+      Resp = raw_input("Really lock account? [no/yes]");
+      if Resp != "yes":
+         continue;
+
+      print "Setting password..";
+      l.modify_s(UserDn,[
+         (ldap.MOD_REPLACE,"userPassword","{crypt}*LK*"),
+         (ldap.MOD_REPLACE,"mailDisableMessage","account locked"), ]);
+      Attrs[0][1]["userPassword"] = ["{crypt}*LK*"];
+      Attrs[0][1]["mailDisableMessage"] = ["account locked"];
+      continue;
+
    # Handle changing an arbitary value
    if (Response == "a"):
       Attr = raw_input("Attr? ");