\section{File Protection: How to be less fascist, and why you should}

By default, new user home directories on Athena are created with
``fascist'' file protections\footnote{``Fascist'' is a term used by UNIX
hackers to describe files and directories that are not world readable.
You may have encountered the error ``Did you su in a fascist
directory?'' when trying to become root.  This is occurs on Athena
sometimes because root cannot necessarily read the directories that you
can read}. This is done to protect the privacy of users who have not yet
learned how to modify the protections themselves.  However, part of the
power of UNIX is that it allows users to share files and information
easily.  There are a number of reasons, both practical and
philosophical, why you should consider making most of your files
readable by everyone.  The main philosophical reason is that you are
already benefiting from the practice of open file protections: many of
the programs that you run daily either would not run as well or would
not be available at all if the authors were fascist about the source
code.  Why?  Because a surprising number of bug fixes, enhancements and
other contributions are made voluntarily by random hackers who may have
never met the authors of the original programs, but who are nevertheless
able to help out because the source is easily accessible.  Also, your
Athena account gives you access to the Internet---a seemingly
inexhaustible source of free information on just about anything.  Time
has demonstrated that openness---not fascism---is the primary source of
progress in a computer-oriented world, if not elsewhere.  Philosophy
aside, you will find that making your files readable (with the possible
exception of mail and other distinctly private files) will make your
life easier.  SIPB members and Athena consultants will be able to help
you more easily if you have problems, and it will be easier to refer
someone else to your files.  (Why should you have to mail someone a copy
of your program, lab report, etc., when you can change the permissions
so that they can simply look at the original?)

File protections on the Andrew File System (AFS) are different from
those on vanilla UNIX systems, and it takes a while to get used to them.
If you have the standard directories named {\tt Public} and {\tt
Private} in your home directory, then you automatically have a very
simple way of controlling whether or not everybody can read your files:
unless you force it to be otherwise, files that you put in the {\tt
Public} directory are readable by everybody, and files that you put in
the {\tt Private} directory are readable only by you.  By default, files
that are in the top level of your home directory are listable by anyone,
but not readable.  This includes dotfiles, e.g., {\tt .cshrc.mine,
.environment,} etc.  If you want to make your {\tt .environment} file
readable, you could move it into your {\tt Public} directory, but then
it wouldn't be in the right place, and so it wouldn't be read.  One way
to solve this problem is to create a {\em symbolic link\/} to that file:

\begin{verbatim}
        athena% cd
        athena% mv .environment Public/.environment
        athena% ln -s Public/.environment .environment
\end{verbatim}

This is the way the {\tt .plan} file in your home directory (if you have
one) is made publicly readable.  Now, it is tedious do this for all of
your files.  A better solution is to change the access control list on
the top level of your home directory so that everyone can read the files
there.  You can do this with the following command:

{\tt athena\% fs sa \raisebox{-2.7ex}{{\Huge \~{}}} system:anyuser read}

After doing this, all of the files in the top level of your home
directory will be world-readable.  It is important to note that since
new directories on AFS inherit their permissions from the parent
directory when they are created, the files in any new directories that
you make will inherit this world-readability.  For this reason, you
should learn how to change AFS protections, so that you can control who
can read the files in new directories that you create. The details of
modifying AFS protections are beyond the scope of this introductory
document, but they are described in the SIPB document {\em Inessential
AFS\/} and in the I/S document {\em AFS at Athena: Managing your Athena
Account.} It is strongly recommended that you read these documents, so
that you understand what you are doing when you change access, and so
that you can see what is possible.  These documents also describe how
you can create your own groups, so that you can give read or write
access to a specific set of users---something which is very useful when
you are working on a group project, or if you have files that you want
only your friends to be able to read.









































