AFS Course Space

From PrattWiki
Revision as of 21:36, 10 January 2015 by DukeEgr93 (talk | contribs)
Jump to navigation Jump to search

This page will describe the structure of the AFS shared spaces given to courses and will explain the process for setting up your account to use it.

Introduction

Prior to 2013, Duke's public computers used the Andrew File System to store files. This system allowed individuals to set seven different permissions to each folder within their space. Users could assign permissions to single users or to groups. While this system was extremely flexible, over time, support for it dwindled. In the Spring semester of 2013, Duke switched to CIFS as a file system. While this system has many positive features, it is entirely lacking in the ability to grant permissions to individual folders. It also does not allow for symbolic links. Given these drawbacks, and given the current lack of an alternate way for students and instructors to set up shared course spaces within CIFS, Duke is maintaining a section of AFS-hosted folders, specifically for courses.

Note In Spring of 2014, the Go* shortcuts were all replaced with symbolic links. Apologies to anyone who took a class with Dr. G in 2013...

Goals

The goals of using the AFS shared spaces are as follows:

  • Allow for file sharing from the instructor to all the students in a class
  • Allow the instructor and teaching assistants to access course-related files for students - this will facilitate both off-line assistance and grading

AFS Location

The AFS folders are all located at

/afs/acpub.duke.edu/courses/YEAR_SEMESTER/DEPARTMENT/CLASS

For example, the Spring 2015 offering of EGR 103L has a set of folders at

/afs/acpub.duke.edu/courses/2015_spr/egr/103l

Within the CLASS folder, there will be a folder for each section (for example, 002). For Dr. Gustafson's courses, however, students will not need to worry about the section folder, only the CLASS folder.

Personal AFS Folders

For Dr. Gustafson's classes, each student will have a folder within the CLASS folder. The folder will be the same as the student's NET ID. For example, in EGR 103L, a student with a NET ID of mrg would have a folder:

/afs/acpub.duke.edu/courses/2015_spr/egr/103l/mrg

If you find that you do not have a folder, be sure to check the directory. If you are in the correct directory and still do not have a folder, let Dr. G. know.

When these folders are created, permissions are set as follows:

  • system:administrators and instructors have all permissions
  • the student and the TAs have read, list, insert, delete, write, and lock permissions, but not administer permissions
  • no one else has any other permissions

Fortunately, whenever a new folder is created, it will take on the permissions of the folder in which it was created. In other words, as long as the student always first changes into the shared AFS space, everything created there can be seen by the student and the instruction team.

There is also a folder called public within the CLASS directory. For this folder,

  • system:administrators and instructors have all permissions
  • all students and TAs have read and list permissions

This way, files that students need to copy can be hosted in the shared space and all students can copy the file without any chance of accidentally (or intentionally) removing those files.

Shortcuts

One problem with the CIFS is that it is in a different structure from AFS. In other words, to get to the public space for EGR 103L, a person would have to type out

cd /afs/acpub.duke.edu/courses/2015_spr/egr/103l/public

every time (unless a path using .. were available).

To make life a little easier, you can either create a symbolic link to your directory or an alias that changes into your space within a particular class.

Creating a Symbolic Link

Creating a symbolic link basically places a "folder" in your home directory that is linked to the AFS folder you want to use. You can then use that link in exactly the same way you would use any other folder. The command to make a symbolic link is:

ln AFS_FOLDER -s LINK_NAME

Also, in UNIX, the code $USER can be used to get a person's user name. As a result, for people to make a symbolic link from their /winhomes/NETID directory to the /afs/acpub.duke.edu/courses/2015_spr/egr/103l/NETID directory, they might type

cd

to get to the home directory, followed by

ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/$USER -s EGR103

After running that command, there should be a "folder" called EGR103 inside the user's home directory. To make sure the ln process worked, type

ls -l

and then look for the shortcut you just made. On PuTTY, the link should be a cyan color and point to the correct directory. If the link in PuTTY is red, it is not pointing to the correct place - you will need to remove it

rm SHORTCUT

where SHORTCUT is the name of the shortcut you just made and then correct the ln command

Once the alias is pointing to the correct place, to switch into the AFS folder it references, the user could just use the cd command:

cd EGR103

or, if not in the home directory to start with,

cd ~/EGR103

For Dr. G's Spring 2015 courses, use the following:

  • EGR 103L
ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/$USER -s EGR103
  • ECE 110L
ln /afs/acpub.duke.edu/courses/2015_spr/ece/110l/$USER -s ECE110
  • EGR 224L
ln /afs/acpub.duke.edu/courses/2015_spr/egr/224l/$USER -s EGR224
  • ME 344L
ln /afs/acpub.duke.edu/courses/2015_spr/me/344l/$USER -s ME344
  • ECE 382 (note - no "l" after course number)
ln /afs/acpub.duke.edu/courses/2015_spr/ece/382/$USER -s ECE382


Creating a Symbolic Link (for Lab TA use)

Creating a symbolic link basically places a "folder" in your home directory that is linked to the AFS folder you want to use. The issue is that TAs will not have personal folders in the classes for which they are a TA. If you create a link, you can then use that link in exactly the same way you would use any other folder. As a result, teaching assistants should make a link to the class directory one level above the students' directories. For example, TAs to make a symbolic links from their /winhomes/NETID directory to the /afs/acpub.duke.edu/courses/2015_spr/egr/103l/ directory, they might type

cd

to get to the home directory, followed by

ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/ -s EGR103ta

After running that command, there should be a "folder" called EGR103ta inside the user's home directory. To make sure the ln process worked, type

ls -l

and then look for the shortcut you just made. On PuTTY, the link should be a cyan color and point to the correct directory. If the link in PuTTY is red, it is not pointing to the correct place - you will need to remove it

rm SHORTCUT

where SHORTCUT is the name of the shortcut you just made and then correct the ln command

Note: returning TAs may already have one of these; best bet is to move the old one before making a new one - for instance

mv EGR103ta EGR103taF14

to move the link from the Fall 2014 semester before making a new one for Spring of 2015.

Once the alias is pointing to the correct place, to switch into the AFS folder it references, the user could just use the cd command:

cd EGR103ta

or, if not in the home directory to start with,

cd ~/EGR103ta

For Dr. G's Spring 2015 courses, TAs only should use use the following:

  • EGR 103L
ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/ -s EGR103ta
  • ECE 110L
ln /afs/acpub.duke.edu/courses/2015_spr/ece/110l/ -s ECE110ta
  • EGR 224L
ln /afs/acpub.duke.edu/courses/2015_spr/egr/224l/ -s EGR224ta
  • ME 344L
ln /afs/acpub.duke.edu/courses/2015_spr/me/344l/ -s ME344ta
  • ECE 382 (note - no "l" after course number)
ln /afs/acpub.duke.edu/courses/2015_spr/ece/382/ -s ECE382ta

Creating an Alias

The method of using aliases pioneered in 2013 has been retired in favor of the aliases above. This section will remain, but commented out, in case it turns out the aliases fail...


Copying public files

Many times you will need to copy files from the public space into your own directory. For example, in EGR 103L, Lab 1 has several files you will need. Once you get into the appropriate AFS directory, you will just use .. to go up the directory structure the the CLASS folder, then down into the public folder. For example, if user NETID needs to get the Lab 1 files from the public directory and put them into NETID's own lab1 directory, that might be:

cd ~/EGR103

to get into the user's own egr/103l/NETID space, followed by

mkdir lab1

to make a folder for that assignment. Then

cd lab1

to get into the folder and, finally,

cp -i ../../public/lab1/* .

to go up two levels (the CLASS folder), then go into public and from there into public's lab1 folder. Don't forget the space and . at the end.

Transferring Files

The slightly odd location of the AFS space makes transferring files from a personal or lab computer over to the AFS space a little more complicated. The basic process is as follows:

  • Start a file transfer client. In the B209 lab, this means SSH Secure Shell's Secure File Transfer Client; the rest of the instructions are based on that program.
  • Click "Quick Connect"
    If you get an error opening the default file, click OK
    • In "Host Name," enter your favorite Teer machine
    • In "User Name," enter your NET ID
    • Click "Connect"
      If you get a warning about Host Identification, click "Yes" to save the new host key
    • Enter your password when prompted
  • The window should now be divided in two sections - a Local section and a Remote section. Click on the folder that represents the shortcut to your AFS space - for instance, for EGR 103 that would be the EGR103 folder. This should take you to your AFS course space.
  • In the Remote section, click the new folder icon to add a new folder for the particular assignment; give the folder an appropriate name
  • In the Remote section, double-click the folder you just created. The Remote section should now have a window pointing to your (empty) folder.

You can now drag files in from either the Local section on the left of the SSH Secure File Transfer client, from the MATLAB "Current Directory" window, or from any other place you can click and drag an icon.

Questions

Post your questions by editing the discussion page of this article. Edit the page, then scroll to the bottom and add a question by putting in the characters *{{Q}}, followed by your question and finally your signature (with four tildes, i.e. ~~~~). Using the {{Q}} will automatically put the page in the category of pages with questions - other editors hoping to help out can then go to that category page to see where the questions are. See the page for Template:Q for details and examples.

External Links

References