~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to remakeallusers.py

  • Committer: drtomc
  • Date: 2008-03-04 01:20:09 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:637
remakeallusers: use the db, not the password file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
try:
42
42
    db = common.db.DB()
43
43
    list = db.get_users()
 
44
    res = db.get_all('login', ['login', 'unixid'])
 
45
    def repack(flds):
 
46
        return (flds['login'], flds['unixid'])
 
47
    uids = dict(map(repack,res))
 
48
 
 
49
    return uids[login]
 
50
 
44
51
except Exception, message:
45
52
    print "Error: " + str(message)
46
53
    sys.exit(1)
47
54
 
48
55
list.sort(key=lambda user: user.login)
49
56
for user in list:
50
 
    username = user.login
 
57
    login = user.login
51
58
 
52
59
    try:
53
 
        # Resolve the user's username into a UID
 
60
        # Resolve the user's login into a UID
54
61
        # Create the user if it does not exist
55
62
        try:
56
 
            (_,_,uid,_,_,_,_) = pwd.getpwnam(username)
 
63
            uid = uids[login]
57
64
        except KeyError:
58
 
            raise Exception("User %s does not have a Unix user account"
59
 
                % username)
 
65
            raise Exception("User %s does not have a unixid in the database"
 
66
                % login)
60
67
        # Remake the user's jail
61
 
        common.makeuser.make_jail(username, uid)
 
68
        common.makeuser.make_jail(login, uid)
62
69
    except Exception, message:
63
70
        print "Error: " + str(message)
64
71
        continue
65
72
 
66
 
    print "Successfully recreated user %s's jail." % username
 
73
    print "Successfully recreated user %s's jail." % login