Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fs(1) — AOS 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

FS(1)  —  

NAME

fs - file system program (AFS only)

SYNOPSIS

To check the volume or space allocation for a directory:

fs lv directoryname
fs lq directoryname

To list or change protections:

fs la directoryname
fs sa directoryname [ -negative ] username < [ rwidlak ] [ all ] [ none ] [ read ] [ write ] >
fs sac directoryname [ -negative ] username < [ rwidlak ] [ all ] [ none ] [ read ] [ write ] >

To flush a file from the venus cache:

fs flush filename

To force venus to check the status of all file servers immediately to see whether they have crashed or restarted:

fs checkservers <name of any file name in the Andrew file system>

To find on which server a file resides:

fs whereis directoryname

More fs commands are described in the last section. 

DESCRIPTION

fs displays information about the andrew file servers.  Most often, people use it to see how much of their allocated storage space they are currently using and to change the protection on their personal directories.  fs will only change the protection or "rights" on directories and not on individual files.  To change protection on individual files, you need chmod. 

OPTIONS/ARGUMENTS

lv :  for "list volume."  Shows the current status of the volume on which the directory is stored. 

lq : for "list quota." Similar to "lv", but presented in a tabular format (e.g. similar to ps ux). 

la :  for "list access."   Shows the permissions on the directory specified. 

sa :  for "set access."  Sets the access to the directory specified for the user named. 

sac :  for "set access and clear."  Sets the access to the directory specifed for the user(s) named and also clears any old accesses.  Where "fs sa" adds the specified users to the existing access list, "fs sac" replaces the existing access list with the specified usernames. 

directoryname : the name of the directory for which you are checking or changing the access.  You can suppy the tilde  ( ~ ) as a directory name to check your home directory. 

-negative : makes the rights you specify for username negative, or denies the named user the rights you specify.  See the Examples below. 

username : the name of the user for whom you are checking or changing the access. 

rwidlak : one or more of the following letters which represent different permissions:

r (read) :   Allows the user to read any file in the directory. 
w (write) :   Allows the user to edit any existing file in the directory. 
i (insert) :   Allows the user to create new files or subdirectories in the directory. 
d (delete) :  Allows the user to remove files or subdirectories in the directory. 
l (lookup) :  Allows the user to obtain status information about the files in the directory, for example, to list the names of the files in the directory. 
a (administer) :  Allows the owner of a directory to change the access list on that directory.  You are automatically assigned administer rights to your home directory and any directories you create in it. 
k (lock) :   Allows read locks to be placed on any file in the directory.  Lock is used mainly for application programs.  If you are not writing any application programs, you can ignore Lock.  A read lock prvents any other user from writing to the file. 

all :  allows the specified user all the above permissions. 

none :  allows the specified user none of the above permissions. 

read :  allows the specified user the rights normally associated with the ability to read files (that is, rl ). 

write :  allows the specified user the rights normally associated with the ability to write files (that is, rwildk ). 

flush :  removes the file from the venus cache.  This command should never be needed.  See the Examples section below. 

checkservers :  forces venus to check whether any server that it previously thought was down has come back up again.  This command is needed only by the very impatient, since venus checks these suspected down servers every 4 minutes anyway.  You can give the name of any file when using this command (as long as it is served by venus and not located, for example, on your local hard disk).  The filename is used by the kernel to route this command to the appropriate venus if more than one is running on a workstation. 

NOTES ON CHANGING ANDREW PROTECTIONS

All your directories and the files they contain have certain protections assigned to them, regulating user access. 

Before you start changing the protections on your directories, we recommend that you read the help file on protection to be certain that you understand the basics about protection on Andrew.  We give a quick summary here only as a review. 

The Andrew file system has been set up so that  you should automatically have all rights to all directories and files that you own.  All other users have read and lookup rights on your home directory, read and lookup rights on your home directory and your public subdirectory, and no rights on your private subdirectory.  This means that they can read, list, and copy the files in your home directory and in "public"; and that they cannot even lookup any files in "private".  It also means that as an Andrew user, you have read and lookup rights to every other user’s home directory and public subdirectory, and no rights to their private subdirectory. 

Any subdirectory that you create will automatically be assigned the same protection as the directory immediately above it (its parent directory).  Any file you create will automatically take on the protection of the directory in which it appears.  For instance, a file created in the public subdirectory will be readable by any Andrew user, while a file created in the private subdirectory will be inaccessible to other users.  If you are careful about where you store your files, you will not need to change protections as often.  When you do need to change protections, you can do so for any directory that you own, including your home directory and your public and private subdirectories. 

EXAMPLES

Substitute the names of your own directories and the appropriate users for the ones used in the examples below. 

1.  To list the access on a directory you own, give a command like this:

fs la /ibm/eeKr/texts

You will see a listing like this:

Normal rights:
System:AnyUser  rl
eeKr  rlidwa

This listing tells you that any user on the Andrew system can read (r) and lookup (l) files in the directory called "texts".  eeKr, the owner of the directory, has the following rights: read (r), lookup (l), insert (i), delete (d), write (w), and administer (a). 

2.  To give another user access to a directory that you own:

fs sa /ibm/eeKr/texts dgRv  rwild

This line means that user eeKr has allowed user dgRv read, write, insert, lookup, and delete access to the texts directory.  Now the command "fs la /ibm/eeKr/texts" would show this information:

Normal rights: System:AnyUser  rl eeKr  rlidwa dgRv  rwild

3.  To deny another user access to a directory you own:

To give a user "negative" rights (that is, to deny that user a particular set of rights to a directory), you must add "-negative" before the user’s name in the command line.  For instance, suppose user toma decides that all Andrew users except sallyq should have read and lookup access to a directory called "notes."  This could be accomplished with:

fs sa /ibm/toma/notes System:AnyUser rl -negative sallyq rl

fs sa /ibm/toma/notes -minus sallyq rl -plus System:AnyUser

Fs considers all the rights you add to be positive unless it sees a -negative or -minus; then it considers all the rights that follow to be negative unless it sees a -positive or -plus.  Now, if toma lists the access on the notes directory using "fs la /ibm/toma/notes", the following information will appear:

Normal rights:
  System:AnyUser rli
  toma rlidwka
Negative rights:
  sallyq rli

4.  To remove negative rights, or to restore rights you have previously denied:

If you have denied a user access to a directory by using "-negative", you must also restore the rights using -negative.  That is, to restore sallyq’s rights in the examples given above, it would not be sufficient for toma to give the command "fs sa /ibm/toma/notes sallyq none".  Instead, toma would have to issue this command:

fs sa /ibm/toma/notes -negative sallyq none

which says that user sallyq should no longer have any negative rights.  That will allow sallyq to inherit the rights of System:AnyUser and thus have the read and lookup rights that were denied in the previous example. 

5.  To remove all rights for all users:

fs sa /ibm/toma/accounts  System:AnyUser  none

The above command would remove all rights from all users except toma to the subdirectory called "accounts."

6.  To replace the copy of a program in your cache with a new copy from the file system:

On occasion, the copy of a program that you are using may become corrupted and refuse to work properly.  On these occasions it sometimes helps to have venus get a new copy from the file system.  You can do this by removing the cached copy using the fs flush command and then starting the program, which will force venus to fetch a new copy. 

If, for example, you felt that your local copy of the Console program had become corruped, you could give the following command to get a new copy:

fs flush /usr/andrew/bin/console

and then start Console to bring in the new copy. 

FOR SYSTEM OPERATORS ONLY

The following commands are for use by system operators only.  You can cause yourself a large amount of heartache by using them if you are not authorized to do so. 

fs sv directoryname [-i minquota] [-a maxquota] [-n name] [-m motd] [-o offmsg]

where  the volume attributes are:

minimum quota --currently not used. 
maximum quota --the maximum amount of space this volume is permitted to store.  If this amount is 0, no quota is enforced. 
name --the name of the volume.  The name is the same name as place in mount points, so renaming a volume may cause it to essentially disappear from its old mounted position. 
motd --the message of the day.  A string that an operator may attach to a volume, describing some news relevant to the volume. 
offmsg --the offline message for the volume.  If a volume is offline, this message should explain why. 

fs mkmount filename volumename [-rw]
fs rmmount filename
fs lsmount filename

mkmount : create a mount point.  Mount volumename at the point in the file system described by filename.  If the -rw flag is set, the corresponding read-only volume will not be used for a volume.  Otherwise, if a read-only volume exists (and the parent is also on a read-only volume), use the read-only volume. 
rmmount :  delete a mount point.  Remove a mount point from the file system.  The volume itself is not changed. 
lsmount :  list the contents of a mount point.  This command can be used to tell what volume a mount point refers to. 

fs checkbackups <name of any file in the Andrew file system>

checkbackups :  re-evaluate all the mount points for backup volumes immediately.  Thus if a new backup volume has been created for a particular volume, the mount point to that volume will be evaluated to this very latest volume.  Venus periodically checks the status of backup volumes in any event.  The file name need only refer to a file served by venus ; it is used by the kernel to route the command to the appropriate venus if more than one is running on a workstation. 

fs cachesize <name of any file in the Andrew file system> <new size in 1K units>

cachesize : adjusts the venus cache size to the specified size.  A size of 0 resets the cache size to the value active when the machine last rebooted.  This page intentionally left blank. 

PRPQs 5799-WZQ/5799-PFF: IBM/4.3  —  Sept 1988

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026