There are several filesystems associated with each course, each intended for a specific purpose. The top-level filesystems are as follows:
Individual courses within these directories are located under semester directories, e.g. fall05, spring06, summer07. The courses directories are also symlinked into the top-level directory, so the directory for the current semester CPS110 class can be found at
/usr/project/courses/cps110The cwd employ a slightly different linking strategy: the top-level directory contains directories for each class which in turn contain links for all past and current semesters. For example, the Fall 2005 semester directory can be found at
/usr/project/cwd/cps110/fall05While somewhat obscure, this system has persisted for some time due to historical reasons and faculty preference. In each case, the instructor of the course (as noted in the files /u/dept/schedules/sched???) is made the owner of the directories for that course.
Each of the above directories are assigned a UNIX permission group, and the group read/write permissions are enabled. This group is intended primarly for the sharing of files between the instructor and their TA's (and UTA's), though in some circumstances may be used to share files within the class. By default any listed TAs are added to the group. If you do not want your TA to have read/write access to any of these directories, please make sure to use the chgrp and chmod commands as needed. Alternatively you can contact the Lab Staff for changes to the group membership.
Note: each user should be aware of the group permissions on their files. Files must have group write permission enabled in order for other within the group to modify them.
The current status of the group can be determined using the getent command.
% getent group cps110 cps110:*:1110:angela,carla
Commands such as these can be used to set access:
% cd /usr/project/cwd/fall05 % chgrp cps130 newfile % chmod g+w newfile
Usually, this will have already been done.
Instructors can request term accounts for TA's, UTA's or general class use.
A default mailing list is set up for each course: simply add one email address per line, to the file MailingList in your course directory. For example:
/usr/project/courses/fall05/cps110/MailingListThe email address of this course list is: cps110@cs.duke.edu. Additional lists can be set up upon request.
Note: the MailingList file must have world-read permission in order to work. Additionally the enclosing directories must all have the world-execute bit set, in order for the mail server to read the file.
Course bulletin boards are available for each class; most 100-level classes are already set up, others are available upon request.
Submit/Listen binaries are built for each course by the Lab Staff. Listen processes are normally run on the host submit.cs.duke.edu and should have a crontab entry to ensure the process is always active. Binaries are also built for the ACPUB systems.
Note: make sure the submit directory does not have world read permission! This allows anyone with a CS account to read the submissions of others.
If you have any questions, or have a problem with your course setup, please let us know.