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:
- Where do we put the shared files?
- How do we deal with file and directory permissions?
- Whose quota are files counted against?
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.