General Overview of OpenAFS
The CNF fileservers run OpenAFS (just AFS for short).
AFS (Andrew File System or A File System) is a distributed file system. The top
directory of the AFS hierarchy is the same all over the world, and is /afs.
Every institution in the world with AFS fileservers has its own unique "cell"
subdirectory under /afs. CNF's cell is named "cnf.cornell.edu" and is located at
/afs/cnf.cornell.edu
Within a cell, files are located on fileservers and are grouped within entities
named volumes. Volumes are partition of physical disks (of the data servers), in
which quotas are applied. Backups of data can also be performend on a per-volume
basis. And, data on readonly volumes can be replicated across multiple
fileservers.
Authentication
To have full access to AFS, you need to get a token. You will get tokens
automatically when logging into a CNF windows or linux machine with your Cornell
netid or guestid.
Your token has a limited lifetime, which is 8 hours at CNF. To check your
token's expiration date, do the following:
Windows
Click the lock icon in your system tray. Select the "Tokens" tab
if it is not already selected. If there is no lock icon in your
system tray, from the Start Menu, choose All Programs, OpenAFS, then
Authentication.
Linux
From the "Applications" menu, choose "afstokens". Your tokens are
displayed in the box labeled "My AFS Tokens".
Or from the commandline, type "tokens" to see your tokens.
General
You can both destroy your existing tokens and obtain new tokens using the above
Windows and Linux applications.
When obtaining new tokens, if using a Cornell netid, your username must be
formatted as:
netid@CIT.CORNELL.EDU (@CIT.CORNELL.EDU must be all caps).
If using a Cornell GuestID, your username must be formatted as:
guestid@GUEST.CORNELL.EDU (@GUEST.CORNELL.EDU must be all caps).
Access Control Lists
An Access Control List (ACL) is the AFS mechanism which let you access
directories and files. This access mechanism works as follows:
*base permissions apply to directories (not files)
*new sub-directories inherit from parent directory permissions
*files have no individual protection. They inherit the protection from
the directory they sit in.
ACLs are composed of pairs [ protection group or user, access rights ]. For
example, grp_users (the group of all users) might have read permissions on a
particular directory.
Access Rights
There are seven access rights. Four deal with directories:
*a (administer) : right to administer of the ACLs of this directory
*l (lookup) : right to list the content of the directory
*d (delete) : right to delete files or sub-directories
*i (insert) : right to create new files or directories
The three others, while set on the directory, apply to the files within the
directory:
*r (read) : right to read a file
*w (write) : right to write in a file
*k (lock) : right to lock a file
Some aliases of the above ACLs:
*read = rl
*write = rlidwk
*all = rlidwka
*none = no right at all
Unix group and other mode bits on files are ignored.
Protection Groups
There are several pre-existing AFS protection groups:
*system:administrators
whose members are the AFS administrators of the current cell
*system:anyuser
every user, being or not authenticated within this cell or another cell
*grp_all
everyone who has an account on our fileserver
*grp_staff
all CNF staff
*grp_users
all CNF users
*grp_it
Your friendly CNF IT staff
*cnfhosts
Every computer on the CNF office and lab networks (but not on RedRover)
Working with AFS Protection Groups
Windows
Open up a command prompt (Start - Run - cmd). View your group
membership with the following command:
pts membership
Linux
From the AFSTokens application (under the Applications menu), click
"PTS (Group Mgmt)". To view groups of which you are a member, click
the "Group Membership" button. To work with groups that you own, click
the "Groups I Own" button. Groups you own will be named either:
netid@cit.cornell.edu:groupname or guestid@guest.cornell.edu:groupname
When adding a new group, the part of the groupname before the colon is
automatically filled in.
Working with Directory ACLs
Windows
Right click on a folder in AFS. Choose AFS, and then choose Access
Control Lists. You may edit ACLs on folders for which you have "all"
(rlidwka) permissions (for example, those in your AFS home directory)
Linux
From the Applications menu, choose "afs acl mgr". Click the "Open"
button, and browse to the directory for which you want to view/edit
AFS ACLs. The application defaults to your home directory... afs-land
can be found under "Filesystem" in the leftmost pane. After selecting
a directory in AFS, click "OK".
If you prefer to use the linux commandline...
From a terminal, use fs la directory and fs sa directory acl. For
example:
$ fs la /afs/cnf.cornell.edu Access list for /afs/cnf.cornell.edu is Normal rights: cnfhosts rl grp_all rl grp_it rlidwka system:administrators rlidwka system:anyuser rl
If I was in the system:administrators group, I could change the ACLs
on /afs/cnf.cornell.edu to, for example, give system:anyuser write
access:
$ fs sa /afs/cnf.cornell.edu system:anyuser write
Home Directories
Every CNF user has a personal home directory in its own volume under AFS. User
home directories are located at /afs/cnf.cornell.edu/home/users/username .
Initial quota is TBD. Staff home directories are located at
/afs/cnf.cornell.edu/home/staff/ .
On Windows, your W drive is your AFS home directory. And your X drive is the top
level of the CNF AFS cell.
In your home directory are a few pre-defined folders with permissions set
appropriately:
*public - others can read but not write to this directory. You can
place files to be shared with others, here.
*private - as implied by the name, no one but you can get to or even
see the files here
*incoming - others can place files for you here (but not read or
modify existing files in this directory)
*windows_profile - where your Windows XP roaming profile is stored
(Desktop, My Documents, etc)
*Yesterday - a daily snapshop of the files and folders in your AFS
home directory.
The rest of the folders and files, by default, can be seen, but not read, by
others. So, feel free to create other directories in your home directory. You
can, of course, also change the Access Control Lists on any of these predefined
folders however you choose.
CNF Shares
CNF Public Share
Located at /afs/cnf.cornell.edu/shares/public/cnf
Anyone on a computer on one of the CNF networks any any user
of our files server can read, write, create, modify, and
delete files here.
CNF Outside Users Share
Located at /afs/cnf.cornell.edu/shares/public/outside_users
Only staff can write to this share.
Files in this share can be read by anyone anywhere in the world.