From 6bcb989fea7bf536788752c42b64f94d3b3d22d3 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Thu, 22 May 2008 21:50:12 +0200 Subject: [PATCH] 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". --- debian/changelog | 10 +++++++++- ud-info | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 5c1b602..9ad0104 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 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 Thu, 22 May 2008 21:38:56 +0200 diff --git a/ud-info b/ud-info index e533a9e..8cedd1d 100755 --- 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? "); -- 2.20.1