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

« back to all changes in this revision

Viewing changes to makeuser.py

  • Committer: mattgiuca
  • Date: 2008-02-05 03:04:05 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:413
fileservice: Accidentally forgot to add __init__.py. (So last commit was an
    empty directory).

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
# Script to create a new user. This can also be done through the
24
24
# administration interface.
 
25
# This script wraps common.makeuser.
 
26
# It also creates a unix account which common.makeuser does not.
 
27
# (This script may not be appropriate for production on a multi-node
 
28
# environment).
25
29
 
26
30
import sys
27
31
import os
28
32
import os.path
 
33
import pwd
29
34
# Import modules from the website is tricky since they're in the www
30
35
# directory.
31
36
sys.path.append(os.path.join(os.getcwd(), 'www'))
32
37
import conf
33
38
import common.makeuser
34
39
 
35
 
if len(sys.argv) <= 1:
36
 
    print "Usage: python makeuser.py <username>"
 
40
if len(sys.argv) <= 6:
 
41
    print "Usage: python makeuser.py <username> <password> <nick> " \
 
42
        "<fullname> <rolenm> <studentid>"
 
43
    sys.exit()
 
44
 
 
45
if os.getuid() != 0:
 
46
    print "Must run makeuser.py as root."
37
47
    sys.exit()
38
48
 
39
49
username = sys.argv[1]
 
50
password = sys.argv[2]
 
51
nick = sys.argv[3]
 
52
fullname = sys.argv[4]
 
53
rolenm = sys.argv[5]
 
54
studentid = sys.argv[6]
40
55
 
41
56
try:
42
 
    common.makeuser.makeuser(username)
 
57
    # Resolve the user's username into a UID
 
58
    # Create the user if it does not exist
 
59
    try:
 
60
        (_,_,uid,_,_,_,_) = pwd.getpwnam(username)
 
61
    except KeyError:
 
62
        if os.system("useradd '%s'" % username) != 0:
 
63
            raise Exception("Failed to add Unix user account")
 
64
        try:
 
65
            (_,_,uid,_,_,_,_) = pwd.getpwnam(username)
 
66
        except KeyError:
 
67
            raise Exception("Failed to add Unix user account")
 
68
    # Make the user's jail
 
69
    common.makeuser.make_jail(username, uid)
 
70
    # Make the user's database entry
 
71
    common.makeuser.make_user_db(username, password, nick, fullname, rolenm,
 
72
        studentid)
43
73
except Exception, message:
44
74
    print "Error: " + str(message)
45
75
    sys.exit(1)
46
76
 
47
 
print "Successfully created user " + username + "."
 
77
print "Successfully created user %s (%s)." % (username, fullname)