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

« back to all changes in this revision

Viewing changes to ivle/makeuser.py

  • Committer: William Grant
  • Date: 2009-06-24 09:57:42 UTC
  • Revision ID: grantw@unimelb.edu.au-20090624095742-0mk2uzne2glpk7xf
Add default messages to our HTTP errors. Fixes issue #98.

Show diffs side-by-side

added added

removed removed

Lines of Context:
258
258
        os.mkdir(tempdir)
259
259
    userdir = os.path.join(jail_src_base, user.login)
260
260
    homedir = os.path.join(userdir, 'home')
261
 
    tmpdir = os.path.join(userdir, 'tmp')
262
261
    userhomedir = os.path.join(homedir, user.login)   # Return value
263
262
 
264
263
    if os.path.exists(userdir):
276
275
        # NOTE that shutil.move changed in Python 2.6, it now moves a
277
276
        # directory INTO the target (like `mv`), which it didn't use to do.
278
277
        # This code works regardless.
279
 
        shutil.move(userhomedir, homebackup)
 
278
        shutil.move(homedir, homebackup)
280
279
        shutil.rmtree(userdir)
281
 
        os.makedirs(homedir)
282
 
        shutil.move(homebackup, userhomedir)
 
280
        os.makedirs(userdir)
 
281
        shutil.move(homebackup, homedir)
283
282
        # Change the ownership of all the files to the right unixid
284
283
        logging.debug("chown %s's home directory files to uid %d"
285
284
            %(user.login, user.unixid))
297
296
    make_ivle_conf(user.login, userdir, user.svn_pass, config)
298
297
    make_etc_passwd(user.login, userdir, config['paths']['jails']['template'],
299
298
                    user.unixid)
300
 
    os.makedirs(tmpdir)
301
 
    os.chmod(tmpdir, 01777)
302
299
 
303
300
    return userhomedir
304
301
 
313
310
    @param svn_pass: User's SVN password.
314
311
    @param sys_config: An ivle.config.Config object (the system-wide config).
315
312
    """
316
 
    conf_path = os.path.join(user_jail_dir, "home/.ivle.conf")
317
 
    if not os.path.exists(os.path.dirname(conf_path)):
318
 
        os.makedirs(os.path.dirname(conf_path))
 
313
    conf_path = os.path.join(user_jail_dir, "etc/ivle/ivle.conf")
 
314
    os.makedirs(os.path.dirname(conf_path))
319
315
 
320
316
    # In the "in-jail" version of conf, we don't need MOST of the details
321
317
    # (it would be a security risk to have them here).
340
336
    Creates /etc/passwd in the given user's jail. This will be identical to
341
337
    that in the template jail, except for the added entry for this user.
342
338
    """
343
 
    template_passwd_path = os.path.join(template_dir, "home/.passwd")
344
 
    passwd_path = os.path.join(user_jail_dir, "home/.passwd")
 
339
    template_passwd_path = os.path.join(template_dir, "etc/passwd")
 
340
    passwd_path = os.path.join(user_jail_dir, "etc/passwd")
345
341
    passwd_dir = os.path.dirname(passwd_path)
346
342
    if not os.path.exists(passwd_dir):
347
343
        os.makedirs(passwd_dir)