link to zulip src
[wiki.git] / doc / afs-and-you.html
index d2934c427b1b7ee4ccf62f5ddaf6f38b9b07ffd6..bf7c16b9d46c2fd6e13514468a67301acf2ab943 100644 (file)
@@ -19,7 +19,7 @@
                        </ol>
                <li><a href="#Troubleshooting">Troubleshooting</a>
                        <ol>
-                               <li><a href="#ImtryingtoaccessmyfilesfslasaysIshouldhavepermissionsherebutitstillsays">I'm trying to access my files, <tt>fs la</tt> says I should have permissions  &hellip;</a></li>
+                               <li><a href="#ImtryingtoaccessmyfilesfslasaysIshouldhavepermissionsherebutitstillsays">I'm trying to access my files, <tt>fs listacl</tt> says I should have permissions  &hellip;</a></li>
                                <li><a href="#IdreallypreferthatnoteveryonecouldlistmyfileshowshouldIstopthis">I'd really prefer that not everyone could list my files, how should I stop  &hellip;</a></li>
                                <li><a href="#Itwasaround6amonaSundaymorningandsuddenlyIcouldntaccessmyfiles">It was around 6am on a Sunday morning and suddenly I couldn't access my  &hellip;</a></li>
                                <li><a href="#ItisntSundayandIcantgettomyfiles">It isn't Sunday and I can't get to my files</a></li>
@@ -122,10 +122,10 @@ If this information is good enough for you, then you are done. If not, read on.
 You may be familiar with Unix permissions. Sad to say, but that knowledge is more or less useless here. While Unix permissions are per-file, AFS permissions are controlled by <strong>Access Control List</strong>s (<strong>ACL</strong>s) on a per-directory basis. (AFS does however, attend to the e<stong>x</strong>ecute Unix permission on a file. )
 </p>
 <p>
-To view the ACL for a given directory (where you have permission to do so), run <tt>fs listacl</tt> or <tt>fs la</tt>, for short. For a typical user locker, the ACL in the top level will look like this 
+To view the ACL for a given directory (where you have permission to do so), run <tt>fs listacl</tt>, or <tt>fs la</tt> for short. For a typical user locker, the ACL in the top level will look like this 
 
 </p>
-<pre>user@host:~$ fs la
+<pre>user@host:~$ fs listacl
 Access list for . is
 Normal rights:
   system:expunge ld
@@ -152,7 +152,7 @@ This is a list of users or <a href="#CreatinganAFSGroup">AFS groups</a> and thei
 To add a user or group to the ACL for a given directory simply run <tt>fs setacl</tt> or <tt>fs sa</tt> as follows:
 
 </p>
-<pre>fs sa &lt;directory&gt; &lt;user or group&gt; &lt;permissions&gt; [&lt;user or group&gt; &lt;permissions&gt;]*
+<pre>fs setacl -dir &lt;directory&gt; [&lt;directory&gt;]* -acl &lt;user or group&gt; &lt;permissions&gt; [&lt;user or group&gt; &lt;permissions&gt;]*
 </pre><dl><dt><tt>&lt;directory&gt;</tt></dt><dd>
 can be an absolute or relative path, usually you will want <tt>.</tt>
 </dd><dt><tt>&lt;user or group&gt;</tt></dt><dd>
@@ -166,11 +166,11 @@ can be a string of the above letters (in any order) or any of the words <tt>read
 For example, if <tt>user</tt> wants his friends <tt>sipbtest</tt> and <tt>jarandom</tt> to be able to read and write files and anyone to be able to read files in his <tt>awesome_project</tt> directory, he might have a session that looks like this
 </p>
 <pre>user@host:~$ cd awesome_project/
-user@host:~/awesome_project$ fs sa . system:anyuser read
-user@host:~/awesome_project$ fs sa . jarandom write
-user@host:~/awesome_project$ fs sa . sipbtest write
-user@host:~/awesome_project$ #alternatively: fs sa . system:anyuser read jarandom write sipbtest write
-user@host:~/awesome_project$ fs la
+user@host:~/awesome_project$ fs setacl -dir . -acl system:anyuser read
+user@host:~/awesome_project$ fs setacl -dir . -acl jarandom write
+user@host:~/awesome_project$ fs setacl -dir . -acl sipbtest write
+user@host:~/awesome_project$ #alternatively: fs setacl -dir . -acl system:anyuser read jarandom write sipbtest write
+user@host:~/awesome_project$ fs listacl
 Access list for . is
 Normal rights:
   system:expunge ld
@@ -183,13 +183,13 @@ user@host:~/awesome_project$
 </pre><p>
 See also: <tt>man 1 fs</tt>, <tt>fs help &lt;command&gt;</tt>, <tt>man fs_listacl</tt>.
 
-There is also such thing as negative permissions to deny rights to certain members of a larger group to which positive permissions are granted. In the words of the fs_setacl manpage, however, <blockquote>Setting negative permissions is generally unnecessary and not recommended. Simply omitting a user or group from the "Normal rights" section of the ACL is normally adequate to prevent access. In particular, note that it is futile to deny permissions that are granted to members of the system:anyuser group on the same ACL; the user needs only to issue the unlog command to receive the denied permissions.</blockquote> For an example of negative permissions used on Athena run <tt>fs la /afs/athena.mit.edu/contrib/games/</tt>.
+There is also such thing as negative permissions to deny rights to certain members of a larger group to which positive permissions are granted. In the words of the fs_setacl manpage, however, <blockquote>Setting negative permissions is generally unnecessary and not recommended. Simply omitting a user or group from the "Normal rights" section of the ACL is normally adequate to prevent access. In particular, note that it is futile to deny permissions that are granted to members of the system:anyuser group on the same ACL; the user needs only to issue the unlog command to receive the denied permissions.</blockquote> For an example of negative permissions used on Athena run <tt>fs listacl /afs/athena.mit.edu/contrib/games/</tt>.
 
 
 </p>
 <h2 id="CreatinganAFSGroup">Creating an AFS Group</h2>
 <p>
-The "normal" way to make an AFS group would be with a command similar to <tt>pts creategroup &lt;your user name&gt;:&lt;group name&gt;</tt> and then add people with <tt>pts adduser &lt;user&gt; &lt;full group name&gt;</tt>(e.g. If Donald Guy wanted to created a group for people to edit his www directory (including <tt>sipbtest</tt> and <tt>jflorey</tt>, he might use the following chain of commands <tt>pts creategroup fawkes:www ; pts adduser sipbtest fawkes:www; pts adduser jflorey fawkes:www; fs sa /mit/fawkes/www fawkes:www write</tt>
+The "normal" way to make an AFS group would be with a command similar to <tt>pts creategroup &lt;your user name&gt;:&lt;group name&gt;</tt> and then add people with <tt>pts adduser &lt;user&gt; &lt;full group name&gt;</tt>(e.g. If Donald Guy wanted to created a group for people to edit his www directory (including <tt>sipbtest</tt> and <tt>jflorey</tt>, he might use the following chain of commands <tt>pts creategroup fawkes:www; pts adduser sipbtest fawkes:www; pts adduser jflorey fawkes:www; fs setacl -dir /mit/fawkes/www -acl fawkes:www write</tt>
 </p>
 <p>
 You can see general information about a group by running <tt>pts examine &lt;group&gt;</tt> and see the membership of a group by running <tt>pts membership &lt;group&gt;</tt>. In the above example:
@@ -197,7 +197,7 @@ You can see general information about a group by running <tt>pts examine &lt;gro
 fawkes@dr-wily:~$ pts examine fawkes:www
 Name: fawkes:www, id: -33555072, owner: fawkes, creator: fawkes,
   membership: 2, flags: S-M--, group quota: 0.
-fawkes@dr-wily:~$ pts mem fawkes:www
+fawkes@dr-wily:~$ pts membership fawkes:www
 Members of fawkes:www (id: -33555072) are:
   jflorey
   sipbtest
@@ -232,9 +232,9 @@ Unfortunately, adding specific users to an AFS ACL does not mean they can see th
 </pre></li><li>You can require that the reader be a member of one of certain moira groups (notice these are <strong>moira</strong> groups, there is no "system:". For example:
 <pre>require group sipb-staff sipb-prospectives
 </pre></li></ul><p>
-<p>Note that you cannot mix users and groups in the same directory</p>.
+<p>Note that you cannot mix users and groups in the same directory.</p>
 
-<p>Finally <tt>fs sa &lt;dir&gt; system:htaccess.mit read </tt>.</p>
+<p>Finally <tt>fs setacl -dir &lt;dir&gt; -acl system:htaccess.mit read</tt>.</p>
         
 Thereafter, the users should be able to get to the folders at <tt>http<b>s</b>://web.mit.edu/&lt;locker&gt;/&lt;path to folder&gt;</tt> if they have certificates and no one should be able to reach it via http. Make sure to add yourself if you are going to be accessing it.
 
@@ -243,7 +243,7 @@ Thereafter, the users should be able to get to the folders at <tt>http<b>s</b>:/
 see also: <a href="http://ist.mit.edu/services/web/reference/web-resources/https">http://ist.mit.edu/services/web/reference/web-resources/https</a>
 </p>
 <h2 id="Troubleshooting">Troubleshooting</h2>
-<h3 id="ImtryingtoaccessmyfilesfslasaysIshouldhavepermissionsherebutitstillsays">I'm trying to access my files, <tt>fs la</tt> says I should have permissions here, but it still says <tt>: Permission denied</tt></h3>
+<h3 id="ImtryingtoaccessmyfilesfslasaysIshouldhavepermissionsherebutitstillsays">I'm trying to access my files, <tt>fs litacl</tt> says I should have permissions here, but it still says <tt>: Permission denied</tt></h3>
 <p>
 There are two likely possibilities. First, its likely that your tokens may have expired. You can check this by running <tt>tokens</tt>. If they are, in fact, expired (or missing) get new tokens as follows: first, make sure you have valid kerberos tickets and then run <tt>aklog</tt>. Another possibility is that you have tokens but not for the correct cell. <tt>tokens</tt> will tell you what tokens you already have. In all likelihood, if you are reading this, you probably want <tt>aklog athena sipb</tt>. Finally, a third possibility is that your group membership has changed since you acquired tokens. Try running <tt>aklog -force</tt>
 
@@ -258,7 +258,7 @@ What you <strong>don't</strong> want to do is take away the l permission from <t
   &lt;meta http-equiv="Refresh" content="0; url=http://web.mit.edu/&lt;lockername&gt;/www"&gt;
 &lt;/head&gt;
 &lt;body&gt;
-  &lt;p&gt;Please go to my &lt;a href="http://web.mit.edu/&lt;lockername&gt;/www"&gt;www/a&gt;!&lt;/p&gt;
+  &lt;p&gt;Please go to my &lt;a href="http://web.mit.edu/&lt;lockername&gt;/www"&gt;www&lt;/a&gt;!&lt;/p&gt;
 
 &lt;/body&gt;
 &lt;/html&gt;
@@ -319,7 +319,7 @@ While it is easily possible to make an AFS group for yourself, it is harder to g
 </p>
 
 <h2 id="Findouttechnicalinformationaboutmylocker">Find out technical information about my locker</h2>
-<p>Figure out the volume name of the locker. One way to do this is to run <tt>fs lq .</tt> in the directory and look in the left column. Once you have the volume name, run <tt>vos examine &lt;volume name&gt;</tt>. This will tell you information such as what server it is located on, its ID numbers, when it was last accessed, when it was last backed up, etc. For example:
+<p>Figure out the volume name of the locker. One way to do this is to run <tt>fs listquota .</tt> in the directory and look in the left column. Once you have the volume name, run <tt>vos examine &lt;volume name&gt;</tt>. This will tell you information such as what server it is located on, its ID numbers, when it was last accessed, when it was last backed up, etc. For example:
 <pre>
 $ vos examine user.sipbtest
 user.sipbtest                     537058147 RW      69785 K  On-line