Course groups

Course Groups - A Guide for Course Administrators


Several CSE courses require students work together in groups on common projects, sharing access to common files.

To manage these groups, course administrators have access to the priv update-groups command.

This will create and populate a numbered set of user groups, with designated students in each one.

CSG sets up the initial configuration, then course administrators can manage group creation and membership for their course.

This page is the guide for course administrators - CSG staff should see the Systems page for administering the back end.

Initial setup

  • Create the course group membership file (see below for details)
  • Send a mail to System Support, requesting they create a group config file for your course, with attributes as listed below.
  • Wait for the go-ahead from System Support.
  • Log into the course account and run priv update-groups with the prefix attribute - eg priv update-groups osprj
  • This will create the group accounts and home directories.
  • Members of each group can access now access group home directories from their own account.
  • Group home directories take the form /home/<prefix><number> - eg. /home/osprj01

Group attributes

The following attributes need to be defined for CSG to create the config file for your course groups:

The group prefix to which the group number is appended.
The width of the group number appended to the group prefix.
The course code associated with the group.
The full pathname of the group membership file - see below for details.
The expiry date of the group accounts - if unspecfied, accounts expire just before the next session starts. This can also be set in the group membership file.
Authorised posters
The users authorised to send email to the virtual mail address group.coursegroup-list.
By default, this is all users within CSE.
Home base
The filesystem the home directories are kept on. The system default is usually fine, but it can be overriddend.
Extra Classes
Any additional UDB classes that allow for things like extra disc quota, or access to specific servers.
Group Description
Defaults to Group NN for $Course if not specified.

The group membership file

The group membership file is the file that you will need to edit to determine group membership and expiry.

File location

The group membership file is best located somewhere in the course account - eg /home/cs1234/

The full pathname of the group membership file needs to set in the attribute file created by CSG.

Since only CSG can edit the attribute file, this could create extra work when updating the file for the next year/session.

To avoid having to involve SS each year/session, it's easy to use a symlink instead:

  1. Create the file as normal in the directory.
  2. Create a symlink in the main course account home directory, pointing to the file.
    (eg. ln -s /home/cs1234/ /home/cs1234/groups)
  3. Use the pathname of the symlink (/home/cs1234/groups) when requesting CSG to create the attributes file
  4. Next session, just repeat steps 1 and 2.

File format

The group membership file has the following format:

valid_until = 29oct2017 00 = z1234567,z2345678 01 = z3456789,z4567890,z5678901

with additional lines for each numbered group.

The valid until field is optional, and can be either set in the attributes file, or left to the system default.

Managing course groups

Once you have created the membership file and CSG has created the attributes file, you can create or update the groups.

To do this, run priv update-groups $prefix, where $prefix is the group prefix attribute.

Important Notes

Group home directories are archived and cleaned out when group membership changes.

Specifically, this happens when there is no overlap between a group's current members and its entry in the membership file.

This is done to ensure that users do not inadvertently get access to previous groups' files.


  • Adding new members to a group, or deleting some members from a group, will retain that group's home account (with all its existing directories and files), and make them accessible to all new members of the group.
  • Changing the valid_until date by itself will not archive old groups even if the old groups and their membership had technically expired, as long as the old existing groups have at least one member in common with the new defined groups.
  • Renumbering an existing group will cause the old group account to be cleaned out and archived, and a new group account to be created.

If groups are not being created correctly, and you are certain that the group membership file is correct, contact SS to check that the group attribute file (which is only accessible to SS) is correctly set up.

Last edited by jbc 09/01/2018

Tags for this page:

course, group