ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/ccs/admin/passwd.py
Revision: 701
Committed: 2010-08-14T23:43:50-07:00 (14 years, 10 months ago) by douglas
Content type: text/x-python
File size: 1047 byte(s)
Log Message:
OpenBSD stuff!

File Contents

# User Rev Content
1 douglas 587 #!/usr/bin/env python
2     # CCS Computer Science
3 douglas 687 # Password
4 douglas 587 #
5     # Douglas Thrift
6     #
7     # $Id$
8    
9 douglas 591 import admin
10 douglas 590 import common
11 douglas 593 import ldap
12 douglas 680 import MySQLdb
13 douglas 593 import os
14 douglas 587
15     if __name__ == '__main__':
16 douglas 681 parser = admin.parser(description = 'Change CCS CS Lab user password')
17    
18 douglas 687 parser.add_option('-u', '--user', default = '', help = 'change password of USER (only works when run as root)')
19 douglas 681
20 douglas 587 try:
21 douglas 687 user = admin.user(parser.parse_args()[0])
22 douglas 593 old_password = os.environ.get('OLD_PASSWORD')
23 douglas 587
24 douglas 593 if old_password:
25 douglas 701 with open(old_password, 'rb') as password_file:
26 douglas 597 if not old_password.startswith('/dev/fd/'):
27     os.unlink(old_password)
28    
29 douglas 701 old_password = password_file.read()
30 douglas 587
31 douglas 593 new_password = common.new_password()
32    
33 douglas 591 if admin.master():
34 douglas 593 admin.passwd(user, old_password, new_password)
35 douglas 598
36 douglas 593 admin.run(common.change_all(user, old_password, new_password) if old_password else common.reset_all(user, new_password))
37 douglas 681 except (common.PasswordError, IOError, ldap.LDAPError, MySQLdb.MySQLError), error:
38 douglas 593 admin.error(error)
39 douglas 587 except (EOFError, KeyboardInterrupt):
40 douglas 592 admin.eof()

Properties

Name Value
svn:executable *
svn:keywords Id