Groups

There are many situations when you need to work in groups on projects. There are many problems that can occur when trying to share files with a group:

Creating a student group solves these problems and will help you be more productive when working with others.

Group Policies

You must agree to these policies to use the group server:

  • Do not share code for class projects that are not group projects. That is cheating and will be referred to the Honor Code Office. Group directories are checked regularly for students sharing inappropriate files.
  • Do not create groups for personal data storage. The group server is to only be used for group class projects and department research.
  • Undergrads, guests, and visitors may be the manager (owner) of three groups. Graduate students may be the manager of five groups, and faculty can be the manager of twenty-five groups. A user can be a member of an unlimited number of groups.
  • Each group has a 100MB quota.
  • Make sure to backup your own data.
  • At the end of each semester, group files will be moved into the group owner's home directory and the group directory will be removed.

Web Configuration Interface

Please note that the web interface for group creating and management is currently not working, and we have taken it offline!

You may create, edit, and delete groups from the CS Department account editor page. This page is located at http://accounts.cs.byu.edu/

The web interface is as simple as we could make it. Let us know if you have questions.

In order for your changes to take effect you need to log out and log back in.

Using Groups

Basic Usage

You may access your group's files from any Linux Open Lab computer. All group directories are located at /users/groups. There is a directory called groups created in your home directory that contains symlinks for the directory of each group to which you belong.

You can tell what groups you are a member of by typing groups For example:

[emcnabb@grape emcnabb]$ groups
admin my428grp cs462grp testgrp mygroup

You can see the owner of each group by doing an ls -ld on the group's directory. For example:

[emcnabb@grape emcnabb]$ ls -ld /users/groups/mygroup/
drwxrws---    2 emcnabb  mygroup      4096 Jan 29 17:38 /users/groups/mygroup/

This shows that the group mygroup is owned by emcnabb.

Group Quotas

Each group has a 100MB quota. You may check your group's quota by typing quota -g groupname. An example is:

[emcnabb@grape emcnabb]$ quota -g testgrp

Group testgrp is UNDER quota.

Details:
  Using 8 Kb of disk space.
  Quota is 100,000 Kb.
  Hard limit is 125,000 Kb.

Version Control

If you're planning on working on code with others, you should probably use a version control system. In fact, you definitely should.

A common version control system in use is SVN. You could also look into using git.

Also, as you use version control, members of your group might not be able to commit to your repository. This occurs because permissions on certain files might changed as users make commits. To fix this, DO NOT set the permissions on your group folder to allow global access. Instead, execute the command:

chown -R :<YourGroupName> /users/groups/<YourGroupName>

and then add the command to your post-commit file inside of your repository's hooks folder.