Afs - User Guide

Download as pdf or txt
Download as pdf or txt
You are on page 1of 248

Table of Contents

Replace this page with the tab separator for


Table of Contents
AFS Users Guide
-2 AFS Users Guide
About This Guide
This section describes the purpose, organization, and conventions of this document. It
contains the following sections:
Audience and Purpose. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
How To Use This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Document Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
AFS Users Guide vii
About This Guide
Audience and Purpose
!
This guide describes concepts and procedures necessary for using an AFS file system.
!
This document is intended for AFS users who are familiar with UNIX but not
necessarily AFS.
Basic AFS concepts and guidelines for using the AFS file system are described in the
beginning of this document. Concepts important to a specific task (or group of related
tasks) are presented in context, prior to the procedures. The AFS Users Guide also
describes some of the differences between the UNIX file system and AFS.
The remainder of the Users Guide provides explanations, examples and detailed
procedures for basic AFS functions, including logging in, changing a password, listing
information, protecting files, creating groups, and troubleshooting.
Procedures describe the command, switches, and instances necessary to do a specific
task. Procedures are task-specific and may not describe each command option;
Appendix A describes each command in detail.
Organization
This document is divided into nine tabbed sections; some sections have several
chapters. Below is a short description of the contents of these tabbed sections:
! Concepts
This section introduces users to the basic concepts and functions of AFS.
The AFS Users Guide is designed for experienced UNIX users with no
previous knowledge of AFS. It is important that users be familiar with the
terms described in this section before using AFS. The Concepts section
also describes AFS command structure and AFS online help.
! Using AFS
This section describes the concepts and task-oriented procedures for using
AFS: logging in, authenticating, unlogging, logging out, accessing files
and directories in AFS, and changing your passwords.
! Listing Information
This section describes how to list information concerning AFS: listing
your volume quota, the location of directories, the status of file server
machines, and the foreign cells you can access.
! Protecting Directories
This section describes the concepts and procedures necessary to protect
your directories using AFS access control lists: how to list directory
protection, set directory protection, and create and manage groups.
viii AFS Users Guide
About This Guide
! Troubleshooting
This section describes a basic diagnostic sequence and step-by-step
diagnostic and corrective steps for specific problems.
! Appendix A: Command Reference
This section is a reference for AFS command syntax and descriptions and
command short forms and aliases. It is intended for advanced AFS users.
! Appendix B: NFS/AFS Translator
This section describes how to use the NFS/AFS Translator to access the
AFS file space from NFS"(Networking File System).
! Glossary
This section defines terms used in the AFS Users Guide.
! Index
This section provides an overall index listing for the AFS Users Guide and
separate index entries for major topics such as commands, examples,
procedures, and troubleshooting.
AFS Users Guide ix
About This Guide
How To Use This Guide
Before you begin using AFS, read the Concepts section. This will give you an
overview of the AFS file system and define the terms you will encounter while working
with AFS.
Next, follow the procedures outlined in the Using AFS section. This will get you
started using AFS as an authenticated user. This section describes how to access files
in the AFS file space and how to quit AFS.
The remainder of the document describes specific procedures for using AFS. Each
procedure describes the command syntax, the required switches and instances, and then
presents several examples.
If you require more information, Appendix A, gives detailed descriptions and syntax
for AFS commands.
Related Documents
The AFS Documentation Kit also includes the following documents:
! AFS Command Reference Manual
This reference manual details the syntax of each AFS command and is
intended for the experienced AFS administrator, programmer, or user. For
each AFS command, the AFS Command Reference Manual list the
command syntax, aliases and abbreviations, description, arguments,
warnings, output, examples, and related topics. Procedural and conceptual
information is not included. Commands are organized alphabetically.
! AFS System Administrators Guide
This guide describes concepts and procedures necessary for managing an
AFS system. The procedures described in this document should be
performed by AFS system administrators.
! AFS Installation Guide
This guide provides instructions for installing an AFS system. The
procedures described in this document should be performed by an
experienced UNIX administrator when setting up the initial system.
x AFS Users Guide
About This Guide
Document Conventions
The following conventions are used in this document:
1. Command names, switches, and flags appear in bold type.
2. Variable information (user-specific information, such as a machine name)
and command instances appear in italic type.
3. Filenames appear in italic type.
4. New terms appear in bold italic type.
5. Sample command lines appear in bold type.
6. Example screen output appears in typewriter type.
7. The following symbols appear in command syntax and online help. Do
not type these symbols when entering a command.
! Square brackets [ ] surround optional items.
! Angle brackets < > surround instances (user-supplied information).
+
! A plus sign follows a switch that accepts multiple instances.
! A percent sign % represents the command shell prompt. Your
prompt may be different.
AFS Users Guide xi
About This Guide
xii AFS Users Guide
Concepts
Replace this page with the tab separator for
Concepts
AFS Users Guide
-2 AFS Users Guide
1. Basic AFS Concepts
This chapter introduces basic concepts for the AFS file system and defines terms. It
!
assumes that you are already familiar with standard UNIX commands, file protection,
file system hierarchy, and pathname conventions. It includes the following sections:
Section 1.1 Working in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Section 1.2 The Components of AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Section 1.3 Using Files in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
Section 1.4 AFS Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Section 1.5 Differences Between UNIX and AFS . . . . . . . . . . . . . . . . . . . 1-15
Section 1.6 Using AFS with NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
AFS Users Guide 1-1
Working in AFS Basic AFS Concepts
1.1. Working in AFS
AFS makes it easy for people to work together on the same files, no matter where the
files are located. AFS users do not have to know the physical location of files, even
though a file can be stored on any number of file server machines. AFS users simply
request a given file by its uniform UNIX pathname and AFS finds the correct file
automatically, just as systems with a single file storage machine do.
However, while AFS makes file sharing easy, it does not compromise the security of
the shared files. It is just as easy to prohibit other users from accessing files as it is to
give them access.
1.1.1. Client/Server Computing
The AFS file system utilizes a client/server computing model. In client/server
computing, there are two types of machines: server machines and client machines.
Server machines store data and perform services for client machines. Client machines
perform computations for users often by accessing data and services on server
machines. Some machines act as both clients and servers. In most cases, you will
work on a client machine, accessing files stored on a file server machine. Figure 1-1
illustrates the basic client/server interactions.
Client
Server
request
data/services
supply
data/services
Figure 1-1. AFS Uses a Client/Server Computing Model
1-2 AFS Users Guide
Basic AFS Concepts Working in AFS
1.1.2. A Distributed File System
AFS is a distributed file system which joins the file systems of individual file server
machines so that files stored (distributed) on each file server machine in a network is as
accessible to a user as the files stored on his or her client machines local disk. Figure
1-2 graphically represents how a distributed file system like AFS is set up on a
network.
A distributed file system has two main advantages over a conventional centralized file
system:
! Increased System Availability -- Copies of popular software programs can
be distributed on many file server machines so the loss of a single machine
(and sometimes even multiple machines) does not necessarily make those
programs unavailable. Instead, user requests for those programs are routed
to available machines on the network. Under a centralized file system, the
loss of the central file storage machine effectively shuts down the entire
system.
! Increased System Efficiency -- In a distributed file system, the work load
is distributed over many smaller (and less expensive) file server machines
that tend to be more fully utilized than the larger (and more expensive) file
storage machine of a centralized file system.
AFS hides the existence of its underlying distributed nature. Working on AFS "looks
and feels" like working on the file system of a single local machine except you can
access many more files. And because AFS relies on the power of users client
machines for computation, the number of users on the AFS file system do not slow
AFS performance appreciably, making it a very efficient computing environment.
AFS Users Guide 1-3
Working in AFS Basic AFS Concepts
disk
space
AFS File Server
AFS Client
AFS Client
N
E
T
W
O
R
K
disk
space
disk
space
disk
space
Figure 1-2. AFS Operates on a Network of Client and Server Machines
1-4 AFS Users Guide
Basic AFS Concepts The Components of AFS
1.2. The Components of AFS
1.2.1. AFS File Space and Local File Space
Just like a UNIX file system, AFS uses a hierarchical file structure a tree. By
convention, /afs is the root and all of the subdirectories and files under /afs make up the
AFS file space. The AFS file space is an extension of a local machines file space.
The other directories in the file structure, which might include /usr, /etc, /bin, will
either be located on your local disk or contain links to files stored in AFS.
Files relevant only to the local machine are stored in the local machine file space,
freeing the local machines disk space for other uses. All other files can be stored in
AFS, allowing shared access to and use of those files.
Note: You can only use AFS commands on files in the AFS file space or via links
made to the AFS file space.
1.2.2. Cells and Sites
The cell is the administrative domain in the AFS file space. Each cell is autonomously
administered. The cells administrators determine how client machines are configured
and how much file server machine storage space is available to each user.
A cells domain can consist of a company, a university department, or any defined
group of users. From a hardware perspective, a cell is a grouping of client machines
and server machines that are members of the same "home" or local cell. Figure 1-3
illustrates a cell from a hardware perspective An AFS site is a grouping of one or more
related cells. For example, the cells that make up Carnegie Mellon form a single site.
AFS Users Guide 1-5
The Components of AFS Basic AFS Concepts
AFS client
AFS File Servers
AFS client
AFS client
AFS client
AFS client
AFS client
AFS client
Figure 1-3. A Cell from a Hardware Perspective
By convention, the subdirectories of /afs are the cellular file trees which contain
subdirectories and files relevant to a single cell. For example, directories and files
relevant to the Transarc Corporation cell are stored in the subdirectory
/afs/transarc.com.
While it organizes and maintains its own file space, each cell and each site can also
connect with the file space of the other cells and sites running AFS on the same
network. The result is a huge file space that allows file sharing within and across cells
and sites. Figure 1-4 illustrates this interaction.
The cell containing the client machine you are using is called your local cell. All other
cells in the AFS file space are termed foreign cells.
1-6 AFS Users Guide
Basic AFS Concepts The Components of AFS
Cell 2
Cell 1
Cell 3
Cell 1
Cell 1
Cell 2
AFS Site
AFS Site
AFS Site
Figure 1-4. AFS Allows File Sharing within and across Cells and Sites
1.2.3. Volumes and Mount Points
The disks in a computer are divided into sections called partitions. AFS further divides
partitions into subsections called volumes. A volume houses a subtree of related files
and directories. The volume provides a convenient "container" for storing, backing up,
and moving related files and directories.
Access to a volume is through the volumes mount point which points to the location
(the file server machine and partition) of the volume. A mount point looks like a
regular UNIX directory and when you move (that is, cd) to a new directory you may
cross a mount point without even knowing it. When you cross a mount point you move
from one volume to another and possibly from one file server and partition to another.
Of course, this will be transparent to you because AFS interprets mount points and
retrieves the files and directories that you request from the appropriate location,
relieving you of the need to know their volume, partition, and file server locations.
You do not need to know which file server machine and partition houses your volume
because AFS finds your files for you automatically. If you are interested, you can find
a volumes location; section 4.2 tells you how.
AFS Users Guide 1-7
The Components of AFS Basic AFS Concepts
Most AFS cells use one volume for each users home directory; this allows all files and
subdirectories in a users home directory to be stored together on one partition of one
file server machine. User volumes are typically named user.username. For example, a
user named smith in the cell comp.com has a volume named user.smith and a mount
point in the /afs/comp.com/usr directory named smith pointing to the volume
user.smith. Figure 1-5 provides an example of these relationships.
= directory
= AFS mountpoint
user.smith
smith
doc
latex scribe
work
Mailbox
.login
install.tex
message1 message2
Figure 1-5. A Mount Point is the Entrance to a Volume
Because individual user home directories are nearly always contained in the same
volume, when you cd from one home directory to another you often cross volume,
partition, and file server boundaries. This is also true for other related groupings of
directories.
Figure 1-6 illustrates this point. If you start at the root (/afs) of the AFS file tree in the
example Transarc cell, you retrieve information from partition /vicepa on Transarc File
Server 1 (/afs is a mount point to the volume root.afs located on partition /vicepa of
Transarc File Server 1). If you cd into the Transarc cell file space in /afs/transarc.com,
you access the volume root.cell mounted at /afs/transarc.com and you retrieve
information from partition /vicepa on Transarc File Server 2. Notice that smiths home
directory is located in a volume on Transarc File Server 2, while pats home directory
is located in a volume on Transarc File Server 1. If smith needed files in the
cs.cmu.edu cell, he would cd to /afs/cs.cmu.edu and the data retrieved would come
from /vicepa on cs.cmu.edu File Server 1 (in the volume root.cell mounted at
/afs/cs.cmu.edu).
1-8 AFS Users Guide
Basic AFS Concepts The Components of AFS
Because AFS volumes are stored on different file servers, when one file server crashes
only the volumes on that server are inaccessible. Volumes stored on other servers are
still accessible. However, if the mount point to a volume is stored in a volume on a
crashed server, the former volume is also inaccessible. For that reason, volumes
containing frequently used directories (for example, /afs and /afs/<cellname>) are
often copied and distributed to many file servers.
/afs
cs.cmu.edu transarc.com
usr
pat smith
Transarc File Server 1 Transarc File Server 2
cs.cmu.edu File Server 1
root.cell
/vicepa
/vicepb
root.afs
pat
/vicepa
root.cell
usr
smith
/vicepa
Figure 1-6. A Pathname Can Contain Mount Points to Many Volumes
AFS Users Guide 1-9
The Components of AFS Basic AFS Concepts
1.2.4. Volume Quotas
Each volume has a size limit, or quota, assigned by the system administrator. A
volumes quota, measured in 1 kilobyte blocks, represents the maximum amount of
disk space the volume can contain. If you attempt to exceed a volume quota, you will
receive an error message. Section 4.1 explains how to check the quota on a volume.
Volumes have completely independent quotas. For example, say your current directory
is /afs/comp.com/usr/smith/public, and the user.smith volume has 1000 free blocks.
You cd to /afs/comp.com/usr/pat and try to copy a 500 block file from your directory to
pats and discover that you do not have enough space. You check the volume quota for
the user.pat volume, and find that the volume only has 50 free blocks. This occurs
because smiths volume has a different quota than pats.
1-10 AFS Users Guide
Basic AFS Concepts Using Files in AFS
1.3. Using Files in AFS
1.3.1. The Clients Cache Manager
As an AFS user, you work on an AFS client machine. A process called a Cache
Manager on that machine is your agent in accessing information stored in the AFS file
space. When you access a file, the Cache Manager on your client machine requests the
file from the appropriate file server machine and stores (or "caches") a copy of the
requested file on your client machines local disk. Your client machine uses the local
copy of the cached file so it does not need to continue sending network requests to the
file server for data from the stored file.
Because the Cache Manager is storing a copy of the file on your machine, any changes
you make to your copy of the file are not made to the central version until the file
closes. When the Cache Manager sends the changed file back to the appropriate file
server, your changed version replaces the file stored on the server. For instance, every
time you issue your text editors standard "save" command your cached copy is written
to the file servers disk.
Should the file server storing the file you are working on crash, you may continue to
work locally on that file, but you cannot save it until the server is back up.
1.3.2. Updating Copies of Cached Files
When the central version of a file changes on the file server, AFS advises all other
Cache Managers with copies of that file that their version is no longer valid. AFS has a
special mechanism to ensure that these Cache Manager notifications are performed
efficiently. When the file server sends the Cache Manager a copy of a modifiable file,
it also sends a callback. A callback is a "promise" from the file server that it will
contact the Cache Manager if the centrally stored copy of the file is changed while it is
being used. If that happens, the file server "breaks" the callback. If you run a program
requesting data from that changed file, the Cache Manager notices the broken callback
and gets an updated copy of the file from the file server. Callbacks ensure that you are
working with the most recent copy of a file.
Note: The callback mechanism does not guarantee that you will immediately see the
changes someone else makes to a file you are using. Your Cache Manager does not
notice the broken callback until your application program asks it for more data from the
file.
AFS Users Guide 1-11
Using Files in AFS Basic AFS Concepts
1.3.3. Multiple Users Modifying Files
As with a standard UNIX file system, if multiple users modify the same file, the changes
saved last are the changes you see, regardless of who made the changes. When
collaborating with someone on the same files, it is important to coordinate your work
so you do not overwrite each others changes. AFS allows you to prevent other users
from accidentally overwriting your files by limiting access to your directories using
access control lists (ACLs). (See chapter 5 for further information about ACLs.)
1-12 AFS Users Guide
Basic AFS Concepts AFS Security
1.4. AFS Security
Because AFS is easily accessed by many users, several methods are used to ensure
system security, including:
! Passwords and mutual authentication to verify that only authorized users
access AFS.
! Access control lists to allow individual users to restrict or allow access to
their own directories.
1.4.1. Passwords and Mutual Authentication
AFS uses two related methods to ensure that only authorized users access AFS:
passwords and mutual authentication. Both methods require that a user prove his or her
identity to the system.
When you first identify yourself to AFS, you must authenticate yourself to prove that
you are who you say you are. To do this, you must type in the password associated
with your user name.
When you correctly type your AFS password, your Cache Manager receives a token,
indicating that you are a valid AFS user. A token is a package of information that is
scrambled by an AFS authentication program using your AFS password as a key. Your
Cache Manager can unscramble the token because it knows your password and AFSs
method of scrambling. If your Cache Manager can unscramble the token and use its
information, you are authenticated as an authorized AFS user.
The token is proof to the other AFS file servers that you are authenticated and can
access the AFS file space. This serves as the basis for the second means through which
AFS creates security, called mutual authentication. Under mutual authentication, both
parties communicating across the network prove their identities to one another. AFS
requires mutual authentication whenever a server and client (most often, a Cache
Manager) communicate with each other.
The mutual authentication protocol that AFS uses is designed to make it very difficult
for people to fraudulently authenticate; heres how it works. Before it can
communicate with file servers, your Cache Manager must have a valid token; it gets
this token when you authenticate with AFS. When your Cache Manager contacts a file
server, it also sends your token, coded to be recognized only by an AFS file server. If
the server recognizes your token it can communicate with your Cache Manager. In
turn, the Cache Manager accepts the file server as genuine if the file server can
unscramble and use the information in the token. Mutual authentication is complete
when both your Cache Manager and the file server have proven their identities to one
another.
AFS Users Guide 1-13
AFS Security Basic AFS Concepts
1.4.2. Access Control Lists
AFS uses access control lists (ACLs) to determine who can access the information in
the AFS file space. An ACL exists for each directory in the file system, specifying
what actions different users can perform on that directory and its files. An ACL can
contain up to 20 user and/or group entries; each entry lists the user or group and the
access rights of each user or group.
The owner of a directory and system administrators can always define the composition
of an ACL. Users automatically own their home directories and subdirectories. Other
non-owner users can define a directorys ACL only if specifically granted that right on
the ACL. See chapter 5 for more information on access control lists.
A group can be composed of one or more users and client machines. If a user is a
member of a group, he or she has all of the rights granted to that group (as if he or she
were listed directly on the ACL). If a user is logged into a client machine that is a
member of a group, he or she has all of the rights granted to that group. See chapter 6
to learn how to define groups.
Users who are not authenticated in your local cell are automatically assigned to a group
of unauthenticated users called system:anyuser. See section 5.3.3 for a discussion of
how to grant access rights to users in the system:anyuser group.
Note: You can use the UNIX mode bits to further control access on specific files within
an AFS directory; however, the effect of these mode bits is different under AFS than
standard UNIX. See section 1.5.3 for more information.
1-14 AFS Users Guide
Basic AFS Concepts Differences Between UNIX and AFS
1.5. Differences Between UNIX and AFS
AFS is designed to be similar to the UNIX file system. For instance, many of the basic
UNIX file manipulation commands (cp for copy, rmfor remove, etc.) are the same in
AFS as they are as in standard UNIX. All your application programs will also work as
they did before. However, there are differences between a standard UNIX file system
and AFS. These differences are discussed in sections 1.5.1 through 1.5.5.
1.5.1. File Sharing
AFS allows users to share remote files as easily as local files. To access a file on a
remote machine in AFS, you simply specify the files pathname. In standard UNIX, you
must either log in to the remote machine or explicitly transfer the file from the remote
machine to the local machine.
AFS users can see and share all the files under the /afs subtree, given the appropriate
privileges. An AFS user who has the necessary privileges can access a file in any AFS
cell, simply by specifying the files pathname. File sharing in AFS is not restricted by
geographical distances or operating system differences.
1.5.2. Login and Authentication
To become an authenticated AFS user, you need to provide an authentication password
to AFS. There are two methods of doing this:
! In cells using the AFS login program, logging in is a one-step process;
your initial login provides authentication.
! In cells not using AFS login, you must
1. Log in to your local machine.
2. Issue the pagsh command to create a place to hold your token.
3. Issue klog to authenticate with AFS and get your token.
AFS authentication passwords are stored in the AFS Authentication Database, rather
than in the local password file (/etc/passwd or equivalent). If your cell uses AFS login,
you may change your password with a single command. In cells not using AFS login,
you will need to issue two commands to change the passwords in AFSs Authentication
Database and in the local password file.
See section 3.4 for more information on logins and authentication.
AFS Users Guide 1-15
Differences Between UNIX and AFS Basic AFS Concepts
1.5.3. File and Directory Protection
AFS does not rely on the mode bit protections of a standard UNIX system (though it
does interact with these mode bits). Instead, AFS uses an ACL on each directory to
control access. The differences between the two methods are summarized below:
! UNIX mode bits use three types of access rights: execute, read, and write.
You can define up to seven types of access rights on an ACL: read,
lookup, insert, delete, write, lock, and administer. See section 5.2 for a
discussion of these rights. Section 5.7 explains how AFS uses UNIX mode
bits.
! UNIX mode bits allow you to grant three levels of access rights: the rights
of the user (owner), the rights of the other members of the users group
(group), and the rights of all users (other). On an ACL, you may place up
to 20 entries (user/group and corresponding access rights). Unlike
standard UNIX, a user may be a member of an unlimited number of groups
and groups can be defined by both users and system administrators (in
addition to the three system-defined groups). Chapter 6 describes the use
of groups in AFS.
! UNIX mode bits are set individually on each file and directory. An ACL
applies to all of the files in a directory. While at first glance the AFS
method might seem less precise, in actuality (given a proper directory
structure) there are no major disadvantages to directory level protections
and they require much less work to establish and maintain.
1.5.4. Machine Outages
The kinds of failures you experience when a standard UNIX file system goes down is
different than when one or more individual AFS file servers are unavailable. When a
standard UNIX file system crashes, the system simply "locks up" or "freezes" and you
may loose changes to any files in which you were working.
When an AFS file server machine crashes, you will not be able to access the files on
that machine, but if a copy of a file you are attempting to access is available on another
file server machine you may not even notice the server outage. This is because AFS
gives your cells system administrators the ability to store copies of popular programs
on multiple file servers. Choosing between these copies is done by the Cache
Manager; when one copy becomes unavailable, the Cache Manager simply chooses
another.
If there are no other copies of a file stored on a crashed server, you might still be able
to use that file if an up-to-date copy is held by your client machines Cache Manager.
However, you cannot save changes to files stored on a crashed file server until that
server is running again.
1-16 AFS Users Guide
Basic AFS Concepts Differences Between UNIX and AFS
1.5.5. Remote Commands
UNIX remote commands (ftp, rcp, rsh, rlogin) remain available in AFS. The remote
commands run programs on a remote machine without explicitly telnetting to it. If the
remote machine has a Cache Manager, your token is used there also and you are
authenticated as long as the remote command executes. If the remote machine does not
run a Cache Manager, you receive the message:
"Warning: unable to authenticate." You are logged into the remote
machine, but you are not authenticated to AFS. You can access the local files on the
remote machine and the AFS directories as system:anyuser, but you cannot access
protected AFS directories.
AFS Users Guide 1-17
Using AFS with NFS Basic AFS Concepts
1.6. Using AFS with NFS
Many sites currently use the Networking File System (NFS). Their machines can
TM
access the AFS file space through the NFS/AFS Translator . Appendix B explains
the use of the NFS/AFS Translator.
1-18 AFS Users Guide
2. AFS Command Syntax and On-line Help
The AFS commands available to regular users are used to authenticate users, list AFS
information, protect directories, create and manage groups, and create and manage
ACLs. There are three general types of commands available to all AFS users: file
server commands, protection server commands, and miscellaneous commands. This
chapter discusses the syntax of these AFS commands, the rules that must be followed
when issuing them, and ways of accessing help relevant to them.
The chapter includes the following sections:
Section 2.1 AFS Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Section 2.2 Rules for Using AFS Commands . . . . . . . . . . . . . . . . . . . . . . 2-4
Section 2.3 Getting Help in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
AFS Users Guide 2-1
AFS Command Syntax AFS Command Syntax and On-line Help
2.1. AFS Command Syntax
Most AFS commands use the following syntax:
<command suite> <operation code> -switch <instance>+ [-flag]
The command suite indicates the general type of command and the server process that
is contacted to initiate the command. Regular AFS users have access to two main
command suites and a miscellaneous set of commands:
! The fs command suite is used to issue file server commands that interact
with the File Server process.
! The pts command suite is used to issue protection commands that interact
with the Protection Server process.
! The miscellaneous commands are not associated with any command suite;
these commands do not have a command suite, rather they have an
operation code only.
The operation code indicates the action that the command will perform. Miscellaneous
commands have operation codes only.
A command may have multiple arguments and/or flags:
! Arguments are used to supply additional information for use by the
command and consist of a paired switch and instance. A switch defines
the type of argument and is always preceded by a hyphen; arguments may
take multiple instances if a plus sign (+) appears after the instance. An
instance represents some variable piece of information that will be used by
the command. Arguments may be optional or required.
! Flags are used to direct a command to perform in a specific way (for
example, to generate a specific type of output). Flags are always preceded
by a hyphen and are always optional.
2.1.1. AFS Command Symbol Conventions
The following symbols appear in the documentation when describing command syntax.
Do not type these symbols when typing a command.
! Square brackets [ ] surround optional items.
! Angle brackets < > surround instances (user-supplied information).
+
! A plus sign follows an argument that accepts multiple instances.
! A percent sign % represents the command shell prompt.
! Words in italic indicate variable input.
! Words in bold must be typed exactly as they appear.
2-2 AFS Users Guide
AFS Command Syntax and On-line Help AFS Command Syntax
2.1.2. Command Syntax Example
In the following AFS command
% fs setacl -dir $HOME -acl pat all terry none -negative
! fs is the command suite that indicates that this is a file server command.
! setacl is the operation code that directs the File Server process to set an
access control list.
! -dir $HOME and -acl pat all terry none are arguments.
-dir and -acl are switches; -dir indicates the name of the directory
whose ACL should be set, and -acl indicates how the ACL should be
be set.
$HOME and pat all terry none are instances of the arguments.
$HOME defines a specific directory for the directory argument.
The -acl argument has two instances specifying two ACL entries:
pat all and terry none.
! -negative is a flag; it directs the command to put the access list entries on
the negative rather than the normal list.
AFS Users Guide 2-3
Rules for Using AFS Commands AFS Command Syntax and On-line Help
2.2. Rules for Using AFS Commands
This section contains rules you should follow when using AFS commands.
2.2.1. Spaces and Lines
Separate each command element (command suite, operation code, switches, instances,
and flags) with a space. Multiple instances of an argument are also separated by a
space.
Type all AFS commands on one line, followed by a carriage return. Some commands
in this document appear on more than one line, but that is for legibility reasons only.
2.2.2. Abbreviations and Aliases for Operation Codes
You can type operation codes in one of three ways:
! You can type the operation code in full. The operation codes for
miscellaneous commands must always be typed in full.
! You can abbreviate the operation code as long as the abbreviation is
unambiguous (that is, it cannot be confused with any other operation code
in the particular command suite).
! You can use the alias for the operation code, if one exists.
For example, the fs listacl command can be issued as follows:
! fs listacl (full command)
! fs lista (abbreviation)
! fs la (alias)
Appendix A provides information on the full and abbreviated command syntax as well
as any aliases for all of the commands discussed in this guide.
2.2.3. Omitting Argument Switches
You may omit an arguments switch if
! The command has only one argument.
! None of the arguments that precede that argument are missing.
! The arguments are arranged in the proper order (according to the syntax
definition for that command).
! None of the arguments that precede that argument are used to supply
multiple instances.
2-4 AFS Users Guide
AFS Command Syntax and On-line Help Rules for Using AFS Commands
For example,
% fs setacl /afs/tr/usr/terry/private pat rl
is an acceptable short form for
% fs setacl -dir /afs/tr/usr/terry/private -acl pat rl
However, the following is not an acceptable short form because the arguments are not
in the prescribed order:
% fs setacl -acl pat rl /afs/tr/usr/terry/private
2.2.4. Shortening Switches and Flags
If you are required to use a switch or if you decide to use a flag, you can often shorten
the name of that switch or flag. When you shorten a flag or switch name, make sure
that the shortened version cannot be mistaken for any other flag or switch within that
command.
For example, if you were issuing the fs setacl command, you could abbreviate all of the
switches and flags of the command down to the initial letter because all of the switches
and flags begin with a different letter. However, if you were issuing the knfs
command, the -host argument and -help flag both begin with an "h," so the shortest
unambiguous abbreviation for -host is -ho and the shortest for -help is -he. See
appendix A for information on the syntax abbreviations of the commands in this Guide.
2.2.5. Shortening Directory References
Of the AFS command arguments that require directory or pathnames instances, most
will accept one or more of the following short forms:
! Single dot (.) The single dot is used to specify the current working
directory.
! Double dot (..) The double dot is used to specify the parent directory of
the current working directory.
! Home environment variable ($HOME) This environment variable
specifies the users home directory.
For example, if the user terry wanted to give READ and LOOKUP rights on his home
directory to his manager pat, terry might type
% fs setacl -dir $HOME -acl pat rl
or if terry was in his home directory he might type
AFS Users Guide 2-5
Rules for Using AFS Commands AFS Command Syntax and On-line Help
% fs setacl -dir . -acl pat rl
Both of the previous examples are acceptable short forms for
% fs setacl -dir /afs/tr/usr/pat -acl pat rl
2-6 AFS Users Guide
AFS Command Syntax and On-line Help Getting Help in AFS
2.3. Getting Help in AFS
AFS on-line help consists of syntax and alias messages, command descriptions, and
command suite manual pages.
2.3.1. Displaying Command Syntax and Aliases
If you know a command suite and an operation code, but you cannot remember the
syntax or alias(es), use the help operation code to list them. For example, typing
% fs help listacl
displays
fs la: list access control list (alias for listacl)
Usage: fs la [-path <dir/file path>+] [-help ]
You can also display the syntax of a command by using the -help flag, available with
most AFS commands. For example, typing
% fs setacl -help
displays
Usage: fs setacl -dir <directory>+ -acl <access list entries>+
[-clear ] [-negative ] [-help ]
2.3.2. Displaying Operation Code Descriptions
If you want to list a short description about the operation codes in a command suite, use
the help operation code alone with the command suite. Typing fs help displays a short
description of every operation code for the fs command suite.
If you cannot remember the name of a particular operation code but you think it may be
associated with a certain command suite, use the apropos operation code with that
command suite and supply a string relevant to the task you want to perform. If the
string contains spaces, surround it with quotes.
For example, if you want to set the contents of an ACL but you cannot remember
which fs command performed this function, you might type
% fs apropos set
and the following would be displayed:
AFS Users Guide 2-7
Getting Help in AFS AFS Command Syntax and On-line Help
debug: set debugging info
monitor: set cache monitor host address
setacl: set access control list
setcachesize: set cache size
setcell: set cell status
setquota: set volume quota
setserverprefs: set file server ranks
setvol: set volume status
sysname: get/set sysname (i.e. @sys) value
If you type an apropos operation code and a help string with no matches, like
% fs apropos wrong
the following message would appear:
Sorry, no commands found
Note: The help string must be enclosed in double quotes (" ") if it contains spaces.
2.3.3. Accessing Manual Pages
Manual pages are available for AFS command suites. Manual pages list the operation
codes for the command suite, describe which AFS server or client process the
command suite provides an interface to, and detail the syntax of each operation code.
At the command prompt, type
% man <command suite>
For example, typing
% man fs | more
displays
2-8 AFS Users Guide
AFS Command Syntax and On-line Help Getting Help in AFS
30 April 1990 FS(1)
NAME
fs - suite of commands for contacting the AFS File
Server and configuring the Cache Manager.
SYNOPSIS
fs <option>
Each of the the following operation codes is a valid
<option> and has its own set of associated arguments.
See the "OPTIONS" section below for syntax
definitions.
apropos - search by help text
cachesize - set cache size
checkservers - check functioning servers
checkvolumes - check volume/name mappings
cleanacl - clean up access control list
copyacl - copy access control list
debug - set debugging info
diskfree - show server disk space usage
examine - display volume status
exportafs - enable/disable exporters to AFS
flush - flush file from cache
flushvolume - flush all data in volume
getcacheparms - get cache usage info
getcellstatus - get cell status
help - get help on commands
listacl - list access control list
listcells - list configured cells . . .
AFS Users Guide 2-9
Using AFS
2-10 AFS Users Guide
Using AFS
Replace this page with the tab separator for
Using AFS
AFS Users Guide
-2 AFS Users Guide
3. Using AFS the Fundamentals
This section contains instructions for performing four basic AFS tasks: entering AFS,
exiting AFS, accessing directories and files in AFS, and changing your password.
It includes the following sections:
Section 3.1 Entering AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Section 3.2 Exiting AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Section 3.3 Accessing Directories and Files in AFS . . . . . . . . . . . . . . . . . 3-11
Section 3.4 Changing Your Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
AFS Users Guide 3-1
Entering AFS Using AFS the Fundamentals
3.1. Entering AFS
Entering AFS is a two-step process: logging in to the system and becoming
authenticated with AFS. When you log in, you establish your system identity; when
you authenticate, you prove your identity to AFS and establish yourself as an
authenticated AFS user.
When you authenticate with AFS, you are given a token which your Cache Manager
uses on your behalf to prove your status as an authenticated user. Users who are not
authenticated (that is, do not have any tokens) have very limited access to AFS
directories and files.
Sections 3.1.1 and 3.1.2 provide general information on logging in and authentication;
for specific instructions, see page 3-5.
3.1.1. Logging in
Cells using the AFS version of login combine logging in and authenticating into a
one-step procedure. Cells using their own login program use a two-step login
procedure. Your system administrator can tell you which type of login your cell uses
or you can check for tokens after logging in. He or she can also give you information
on any differences between your login procedure and the two standard login methods
described here.
3.1.1.1. AFS Login
If your cell uses the AFS version of the login program, you are automatically
authenticated in your local cell when you correctly type your user name at the login:
prompt and your password at the Password: prompt. You can verify that you are
authenticated by issuing the tokens command. (See section 3.1.2.5 for information on
listing tokens.)
3.1.1.2. Two-Step Login
If your cell does not use AFS login, you will need to perform a two-step procedure:
1. Log in: Log in using the standard UNIX login.
2. Authentication: Issue the pagsh command to create a holder for your
token (called a PAG for process authentication group) and prevent root
users on your machine from being able to use your tokens. Issue the klog
command to authenticate.
Note: If your cell uses a two-step login procedure, you may use different passwords
for logging in and authentication because you are asked to provide a password for each
step. Talk with your system administrator.
3-2 AFS Users Guide
Using AFS the Fundamentals Entering AFS
3.1.2. Authentication
To work effectively in the AFS file space, you must authenticate with AFS. When you
do, your Cache Manager is given a token as proof of your authenticated status. Your
Cache Manager uses your token when requesting services from AFS servers; in turn,
the servers accept the token as evidence of your authentication. If you do not have a
token, AFS considers you to be an anonymous user (a member of the group
system:anyuser) and your access to AFS file space is severely limited.
3.1.2.1. Getting Tokens
The klog command is used to get tokens (i.e., authenticate). If your cell uses the AFS
login program, klog is issued automatically as part of that login. If your cell uses the
two-step login, you must issue the klog command after you log in on your local
machine. If you want to get new tokens, you can always use the klog command. See
section 3.1.1 for information on logging in.
A token is only useful in the cell from which it was issued. Therefore, although you
may have a token for your local cell, that token does not give you any special status in
foreign cells. Unless you are authenticated in a foreign cell, that cell considers you to
be an anonymous user (i.e., a member of system:anyuser).
3.1.2.2. Getting Tokens for Foreign Cells
You can have tokens in use simultaneously for your local cell and for any foreign cells
in which you have an account. To obtain tokens in foreign cells, use the klog
command with the -cell argument.
If you have an account in a foreign cell, it is simple to access the files in the cell; just
authenticate in each cell (using klog) and then access the files in those cells by using
the standard pathnames. This is much simpler than logging in and out of machines in
foreign cells. (See section 3.3 for more information on accessing directories and files.)
3.1.2.3. Limits on Token Acquisition
You can get a maximum of one token per cell per client machine per token holder
(PAG). For example, if you telnet to two different machines, you get a token for each
machine; however, neither machine can use the token of the other.
If you are using the two-step login procedure and you fail to issue the pagsh command
before executing klog, your token will be associated with your UNIX UID (user
identification). This association can cause two problems:
! The user "root" can execute the UNIX su command to assume your UNIX
UID and then use your tokens.
AFS Users Guide 3-3
Entering AFS Using AFS the Fundamentals
! You may be unable to execute certain commands that run in the "set user
ID mode" like lp or lpr.
If you already have a token for a particular cell, issuing klog will overwrite the old
token with a new one. This may be useful if the token is nearing the end of its effective
lifetime and you want to run an extended job in the background. See section 3.1.2.6 for
information on token lifetimes.
3.1.2.4. Getting Tokens as Another User
It is possible to authenticate as another user if you know the users password and the
user has an AFS account (and, of course, you have that users permission to use his or
her account). If you authenticate as another user, you remain logged in as yourself, but
you are authenticated as the other user. Any current token you may have in that users
cell is destroyed because the Cache Manager on your machine can only hold one token
per authentication session in a given cell.
3.1.2.5. Listing Tokens
The tokens command allows you to list your tokens. The output of the tokens
command lists the AFS UID (user identification) of the token owner, the cell that the
token is valid in, and the expiration date of the token.
After authentication, you may want to list your tokens. And if you think one or more
tokens may have expired, issue the tokens command to check.
3.1.2.6. Token Lifetimes
Tokens have a limited lifetime. You can determine the expiration date of a token by
issuing the tokens command. If you are ever unable to perform a task that you
normally can, you should check to see if the appropriate token is still valid. If a token
expires while you are running a background job, that job may fail if it needs a token for
authentication purposes.
The default lifetime of your token is set by your system administrators. If you want a
token with a lifetime that is less than the default lifetime, you may specify that lifetime
with the -lifetime argument on the klog command. You may not specify a lifetime
longer than the default. The page on klog in Appendix A explains how to use the
-lifetime argument. It also discusses the settings, defined by your system
administrator, that limit token lifetime. If you are interested, ask your system
administrator about the settings in your cell.
3-4 AFS Users Guide
Using AFS the Fundamentals Entering AFS
To Log in login
Provide your user name at the initial login: prompt and your login password at the
Password: prompt as shown in the following example. (Your password will not
appear on the screen.)
login: <user name>
Password: <password>
If the "AFS (R) 3.3 login" banner appears after you type your password, your cell
uses the AFS login. You are now an authenticated AFS user. If the AFS banner does
not appear, then the login program did not authenticate you and you should use the
pagsh and klog commands.
To Authenticate with AFS pagsh and klog
If your cell is not using AFS login, you will need to authenticate after login. Use the
pagsh and klog commands to authenticate. (Your password will not appear on the
screen.)
At the command shell prompt, type
% pagsh
% klog
password: <your AFS password>
When your command shell prompt returns, you are an authenticated AFS user. You
can use the tokens command to make sure that you are authenticated.
Note: Appendix A describes the full syntax of the klog command and its uses. The
pagsh command has no arguments or flags; however, Appendix A provides additional
information on this command.
To Check Tokens tokens
Use the tokens command to list your tokens. If you are not authenticated, no tokens
are listed. If you are authenticated, tokens lists the following information for each
token: the AFS UID associated with the token, the expiration date of the token, and the
name of the cell in which the token was issued.
At the command shell prompt, type:
% tokens
If you have no tokens, the following output appears:
Tokens held by the Cache Manager:
--End of list--
AFS Users Guide 3-5
Entering AFS Using AFS the Fundamentals
If you have one or more tokens, your output should look like this:
Tokens held by the Cache Manager:
Users (AFS ID 1022) tokens for [email protected] [Expires Jan 3 14:35]
Users (AFS ID 9554) tokens for [email protected] [Expires Jan 4 1:02]
--End of list--
In the above example, the tokens listed for AFS UID 1022 expire on January 3 at 2:35
p.m for cell comp.com. For AFS UID 9554 the tokens expire on January 4 at 1:02 a.m.
for cell stateu.edu.
Example: Authenticating as Yourself in a Local Cell
A user, terry, cannot save a file. He uses the tokens command and finds that his tokens
have expired. He decides to re-authenticate in his local cell, so he types:
% klog
Password: <terrys password>
When the command shell prompt reappears, terry is authenticated; to make sure he is
authenticated, he types
% tokens
Tokens held by the Cache Manager:
Users (AFS ID 1022) tokens for [email protected] [Expires Jan 3 14:35]
--End of list--
Any tokens terry may have had for previous authentications in his local cell are
destroyed because the Cache Manager on terrys machine allows only one token per
cell per token holder (PAG).
Example: Authenticating as a Another User
In this example, terry wants to authenticate in his local cell as another user, indira. At
the command shell prompt, terry types
% klog indira
Password: <indiras password>
% tokens
Tokens held by the Cache Manager:
Users (AFS ID 1053) tokens for [email protected] [Expires Jan 3 14:55]
--End of list--
The token for terrys previous authentication in his local cell is destroyed because the
Cache Manager on terrys machine allows only one token per authentication session
per cell.
3-6 AFS Users Guide
Using AFS the Fundamentals Entering AFS
Example: Authenticating in a Foreign Cell
Then terry decides to authenticate in another cell where he has an account, stateu.edu.
In stateu.edu, terrys user name is ts09, so he types
% klog -principal ts09 -cell stateu.edu
Password: <ts09_password>
% tokens
Tokens held by the Cache Manager:
Users (AFS ID 9554) tokens for [email protected] [Expires Jan 3 15:37]
Users (AFS ID 1022) tokens for [email protected] [Expires Jan 3 14:35]
--End of list--
Now terry has a token in his local cell and in the cell stateu.edu.
3.1.3. Limits on Failed Authentication Attempts
Your system administrator may set a limit to the number of times that you can
incorrectly enter your password during consecutive authentication attempts (whether
using AFS login or klog). Should you exceed this number, you may be locked out of
your account for a period of time. The purpose of this limit is to keep unauthorized
users from trying to guess your password in an attempt to break into your account.
To find out if your user account has such a limit, issue the kas examine command or
talk to your system administrator. If your account does have such a limit, you should
type your password very carefully to avoid exceeding the limit.
If you receive the following message during authentication you will know that the
authentication failure limit has been exceeded for your account.
Unable to authenticate to AFS because ID is locked - see your
system admin
You should contact your system administrator and explain the circumstances of the
failure. If you believe someone may be attempting to break into your account, you
should explain this to your system administrator. Your system administrator can
unlock your account or inform you of when it should be available again.
AFS Users Guide 3-7
Entering AFS Using AFS the Fundamentals
To list your authentication limit and lockout time kas examine
Issue the kas examine command to determine if there is a limit on the number of
unsuccessful authentication attempts for your user account and any associated lockout
time:
% kas examine <user name>
password for user name: <user names AFS password>
User data for user name
key (0) cksum is 3414844392, last cpw: Thu Dec 23 16:05:44 1993
password will expire: Fri Jul 22 20:44:36 1994
5 consecutive unsuccessful authentications are permitted.
The lock time for this user is 25.5 minutes.
User is not locked.
entry never expires. Max ticket lifetime 100.00 hours.
last mod on Thu Jul 1 08:22:29 1993 by admin
Line three of the output of the command indicates the maximum number of
unsuccessful authentication attempts that are allowed before you will be locked out of
your account. Line four indicates the amount of time that you will be locked out of
your account should the number of failed authentication attempts be exceeded (either
by you or someone else).
3-8 AFS Users Guide
Using AFS the Fundamentals Exiting AFS
3.2. Exiting AFS
Just as accessing AFS is a two-step process (logging in and authenticating), exiting
AFS is a two-step process: unauthenticating and logging out. You need to
unauthenticate because logging out does not necessarily destroy your existing tokens;
whereas unauthenticating specifically destroys tokens. The unlog command is used to
unauthenticate, while the command used to log out is system dependent.
While you should unauthenticate before logging out, you can use the unlog command
any time you feel the need to unauthenticate. For example, you might want to
unauthenticate before leaving your workstation unattended so that other users cannot
walk up to your workstation and access AFS files under your identity. When you come
back to your workstation to resume work, you can re-authenticate using klog.
You should not unlog if you have processes running in the background, even if you log
out. Most processes require the use of your token to prove their authenticity to AFS
servers.
If you have tokens from different cells, you can selectively unauthenticate from some
cells by using the -cell argument with the unlog command. You may want to do this if
you plan no additional work in the corresponding cell.
To Unauthenticate with all cells unlog
When you want to destroy all of your current tokens, use the unlog command by typing
% unlog
To ensure that your tokens were destroyed, use the tokens command. You should see a
display similar to the example below:
% tokens
Tokens held by the Cache Manager:
--End of list--
AFS Users Guide 3-9
Exiting AFS Using AFS the Fundamentals
To Unauthenticate from some cells unlog with the -cell flag
At the command shell prompt, type unlog and the name of each cell for which you
want to destroy your token. It is best to provide the full name of the cell (such as
cell.school.edu or business.com). At the command shell prompt type:
+
% unlog -cell <cell name>
where cell name is used to list one or more specific cells to unauthenticate in; without
this argument, all tokens are destroyed.
Example: Unauthenticating from a Specific Cell
In the following example, a user has tokens in both the accounting and marketing cells
at her company. She wants to destroy the accounting token (for cell accnt.biz.com) but
keep the marketing token (for cell mrkt.biz.com).
% tokens
Tokens held by the Cache Manager:
Users (AFS ID 35) tokens for [email protected] [Expires Jan 3 16:25]
Users (AFS ID 674) tokens for [email protected] [Expires Jan 5 9:57]
--End of list--
% unlog accnt.biz.com
% tokens
Tokens held by the Cache Manager:
Users (AFS ID 35) tokens for [email protected] [Expires Jan 3 16:25]
--End of list--
To Log Out regular logout command
After you have unauthenticated, logging out is just a matter of issuing your regular
logout command. At the command shell prompt, type your log out command:
% logout
or
% exit
or
% <Ctrl-D>
3-10 AFS Users Guide
Using AFS the Fundamentals Accessing Directories and Files in AFS
3.3. Accessing Directories and Files in AFS
Once you have logged in and are authenticated, you can access files in AFS just as you
do in the UNIX file system. The only difference is that you have the potential of
accessing many more files because you are not limited to those on your local disk. Just
as in UNIX, you can only access those files for which you have permission; though, in
AFS, permission is set using access control lists (ACLs). (See chapter 5 for more
information on ACLs.)
3.3.1. AFS Pathnames
AFS pathnames look very similar to standard UNIX file system names. The main
difference is that every AFS pathname begins with /afs. The /afs is the hook that
connects every cells file space into one uniform file space.
The second element in AFS pathnames is generally a cells name, to indicate the cell
that contains the file. For example, the Transarc Corporation cell is called
transarc.com and the pathname of every file in its file space begins with
/afs/transarc.com. Some cell names have matching shortened forms (such as tr and
transarc for transarc.com and andrew for andrew.cmu.edu). The shortened forms may
be used in place of the complete cell names in most cases. Talk with your system
administrator to see if there is an abbreviated name in use by your cell.
The rest of the pathname depends on how your cells administrators organized the local
file space. If you want to learn how a cell has organized its file space, cd to the
/afs/<cellname> directory for that cell and use the ls command to see the directories at
the third level.
To access directories and files in your local cell you must
! Specify the pathname.
! Have permission to access the desired files based on the directorys access
control list.
Example: Viewing Another Users Directory
The user terry wants to look for a file belonging to another user, pat. At the command
prompt, terry types the ls command and the pathname for pats public directory in the
comp.com cell.
% ls /afs/comp.com/usr/pat/public
doc/ directions/
guide/ jokes/
library/
AFS Users Guide 3-11
Accessing Directories and Files in AFS Using AFS the Fundamentals
3.3.2. Accessing Foreign Cells
You can share files not only with people on your own local cell, but with anyone using
AFS on your network, regardless of geographical location. There are two criteria for
sharing files in foreign cells:
! The foreign cell must be on your Cache Managers foreign cell list (set by
your cells system administrator).
! You must have access to the file through the directorys access control list
(set by the owner of the directory).
If you meet these two requirements, you can access directories and files in foreign cells
by specifying the pathname.
3.3.2.1. Your Cache Managers Foreign Cell List
Your system administrators choose the cells your workstation can reach by including
their names on your Cache Managers foreign cell list. If a foreign cell is not listed, the
Cache Manager will not be able to reach that cell. (See chapter 4.4 to learn how to
determine which foreign cells you can access.)
3.3.2.2. Foreign Cell Users on Access Control Lists
To gain access to a file in a foreign cell, you must have permission on the access
control list of the appropriate directory. This permission can be set up in one of two
ways:
! The owner of the directory can give access to the system:anyuser group,
and as a member of that group you gain access. The disadvantage to this
approach is that every other user can access the directory in the same way.
! The system administrator in the foreign cell can set up an account for you,
and the owner of the directory can put your local user name on the access
control list of the directory. This is a much safer method of providing
access to foreign users.
Whether or not you have an account in a foreign cell, you are automatically a member
of system:anyuser. If you have an account in a foreign cell, you must authenticate
(klog) in that cell before you can take advantage of the accounts privileges.
See chapter 5 for information on directory and file protection. See section 3.1.2.2 for
information on authenticating in a foreign cell.
3-12 AFS Users Guide
Using AFS the Fundamentals Changing Your Password
3.4. Changing Your Password
In cells that use the AFS version of login, the AFS password is used for both logging in
and authenticating. In this case, you can use a single command, kpasswd, to change
your AFS password.
Cells that use a two-step login procedure require a UNIX password and an AFS
password. (The two passwords may be the same or different, at your discretion.) In
this case, use kpasswd to change you AFS password and /bin/passwd to change your
UNIX password.
If your system administrator has defined a valid lifetime for your password, you should
change your password prior to its expiration. You can determine the expiration date of
your password by issuing the kas examine command. (The system administrator may
also configure your login mechanism so that the number of days until password
expiration is displayed after a successful authentication; this mechanism may also
prompt you to change your password when the password expiration date is close.)
Of course, you can always change your password prior to the expiration of the
passwords lifetime. However, your system administrator may have established a
minimum time between consecutive password changes; if this is the case, you will be
prevented from changing your password (after a previous change) until the minimum
time has elapsed. If you attempt to change a password before this minimum time has
elapsed, you will receive the following message:
kpasswd: password was not changed because you changed it too
recently; see your system administrator
When you change your password, you should keep the following in mind:
! Your system administrator may have established certain rules for creating
passwords in your cell. For example, passwords in your cell may need to
be eight characters or longer. Talk with your system administrator to
determine if any password creation rules exist in your cell. If you fail to
follow the creation rules, you may be forced to create a new password.
! When you change your password, you may be prevented from reusing any
of your last twenty passwords. Talk with your system administrator to
determine whether or not this restriction applies. If you attempt to reuse
any of your last twenty passwords, you will receive the following message:
kpasswd: Password was not changed because it
seems like a reused password
AFS does not impose any additional restrictions on passwords. Follow the conventions
for your site.
AFS Users Guide 3-13
Changing Your Password Using AFS the Fundamentals
To list password expiration date kas examine
Issue the kas examine command to list the expiration date of your password:
% kas examine <user name>
password for user name: <user names AFS password>
User data for user name
key (0) cksum is 3414844392, last cpw: Thu Dec 23 16:05:44 1993
password will expire: Fri Jul 22 20:44:36 1994
5 consecutive unsuccessful authentications are permitted.
The lock time for this user is 25.5 minutes.
User is not locked.
entry never expires. Max ticket lifetime 100.00 hours.
last mod on Thu Jul 1 08:22:29 1993 by admin
Line two of the output lists the expiration date, if any, of your password.
To Change Your AFS Password kpasswd
At the command shell prompt, type kpasswd. You will be prompted to enter your old
password and new password and to confirm your new password. (Your passwords will
not appear on the screen.)
% kpasswd
Old password: <old_password>
New password (RETURN to abort): <new_password>
Retype new password: <new_password>
To Change Your UNIX Password /bin/passwd
At the command shell prompt, type /bin/passwd. You will be prompted to enter your
old password and new password and to confirm your new password. (Your passwords
will not appear on the screen.)
% /bin/passwd
Changing password for user name.
Old password: <old_password>
New password: <new_password>
Retype new passwd: <new_password>
3-14 AFS Users Guide
Listing Information
Replace this page with the tab separator for
Listing Information
AFS Users Guide
-2 AFS Users Guide
4. Listing Information about AFS
This chapter contains instructions for obtaining information that will help you use AFS
more effectively. It includes instructions on
! Checking volume quota.
! Finding the file server location of a file or directory.
! Listing the status of file server machines.
! Determining access to foreign cells.
It includes the following sections:
Section 4.1 Checking a Directorys Volume Quota . . . . . . . . . . . . . . . . . 4-2
Section 4.2 Locating Files and Directories . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Section 4.3 Checking the Status of File Server Machines . . . . . . . . . . . . . 4-6
Section 4.4 Determining Access to Foreign Cells . . . . . . . . . . . . . . . . . . . 4-8
AFS Users Guide 4-1
Checking a Directorys Volume Quota Listing Information about AFS
4.1. Checking a Directorys Volume Quota
The files in your home directory are generally stored together in a single volume. (See
section 1.2.3 for more information on volumes.) To divide your cells available disk
space as fairly as possible, your system administrators impose a size limit, or quota, on
each volume. You cannot store more data in a volume than its quota allows. If you are
close to exceeding a volumes quota, you may be unable to save the changes you have
made to a file stored in that volume. Similarly, you may sometimes be unable to save a
file because the disk partition that contains a volume is full, even though your volume
is not close to exceeding its quota.
You should check the quota of your home volume periodically to make sure you have
adequate space. Also, if you encounter problems saving a file, check the quota of the
volume in which the file is stored. You can check volume quota using any of the
following fs commands:
! The fs quota command lists the percentage of the volume quota used.
! Both the fs listquota and fs examine commands list the volume name, its
maximum size, and its current size. In addition
The fs listquota command lists the percentage used of both the
volume and the partition.
The fs examine command lists the partitions maximum size, its
current size, and any messages associated with the volume.
To Check Percentage of Quota Used fs quota
The fs quota command lists the percentage of the quota currently used on the volume
that contains a specified directory or file. At the command shell prompt, type
+
% fs quota [-path <dir/file path> ]
where dir/file path specifies the UNIX pathname of each directory whose volume quota
information is to be displayed. You can specify multiple directories or files. If no
dir/file path is specified, the default is the current directory.
For example, if the user terry wants to know the percentage of quota used for the
volumes that contain two directories his home directory and the home directory of
pat, another user he would type
% fs quota -path /afs/cell/usr/terry /afs/cell/usr/pat
34% of quota used.
85% of quota used.
4-2 AFS Users Guide
Listing Information about AFS Checking a Directorys Volume Quota
To List Quota and General Information on a Volume fs listquota
Use the fs listquota command to display
! The name of the volume (usually user.username for a user volume).
! The size of the volume quota, expressed as a number of kilobyte blocks.
Each block is 1024 bytes; therefore, 1024 indicates a one megabyte quota.
! The number of kilobyte blocks currently used.
! The percentage of the quota used.
! The percentage of available space used on the disk partition housing the
volume. This is not directly related to the amount of the volume quota
used.
At the command shell prompt, type
% fs listquota [-path <dir/file path>+]
where dir/file path specifies the UNIX pathname of each directory or file whose volume
quota and other information is to be displayed. You can specify multiple directories or
files. If no dir/file path is specified, the default is the current directory.
For example, if terry wants to display quota information about the volume that houses
his home directory, he would type
% fs listquota ~terry
Volume Name Quota Used % Used Partition
user.terry 10000 3400 34% 86%
Note: If terry is already in a directory contained in his home volume, he could simply
type fs listquota to get the same information.
To List General Information on a Volume fs examine
The fs examine command lists information about the volume that contains a specified
directory or file, including:
! The ID number of the volume (abbreviated in the output as "vid").
! The volume name.
! The volumes quota and current size, in kilobyte blocks.
! The number of kilobyte blocks available on the disk partition housing the
volume and the total size of that partition.
! The current "off-line" message associated with the volume, if any, as set
by a system administrator.
! The current "message of the day" associated with the volume, if any, as set
by a system administrator.
AFS Users Guide 4-3
Checking a Directorys Volume Quota Listing Information about AFS
At the command shell prompt, type
% fs examine [-path <dir/file path>+]
where dir/file path specifies the UNIX pathname of each directory or file whose volume
information is to be displayed. You can specify multiple directories or files. If no
dir/file path is specified, the default is the current directory.
For example, if terry wants to display information about the volume that houses the
current directory, he would type
% fs examine
Volume status for vid = 536871122 named user.terry
Current disk quota is 10000
Current blocks used are 5745
The partition has 1593 blocks available out of 99162
4-4 AFS Users Guide
Listing Information about AFS Locating Files and Directories
4.2. Locating Files and Directories
Normally, you need not be concerned about which file server machine stores a file or
directory. Given the pathname to a file, the Cache Manager on your client machine
accesses the server machine for you automatically (see section 1).
However, it is sometimes useful to know the location of a file or directory. For
example, if a file server that houses a file you are working on goes down, you must
wait until the server comes back up to save that file. And because your system
administrators can move volumes that house specific files to different file server
machines, you may want to occasionally determine the location of the files and
directories that you commonly use. To learn the current location of a file or directory,
use the fs whereis command.
To List the Location of a File or Directory fs whereis
The fs whereis command lists the file server machine on which a file or directory is
stored. If the output of the command contains more than one machine it means that the
volume containing that file or directory is copied and exists at each listed site. In
general, popular files that do not change are often copied so that if one of the servers
containing those files goes down the files are still available on other file servers.
Volumes that contain binary files, such as those for text editors, are often replicated;
user volumes are rarely replicated.
At the command shell prompt, type
+
% fs whereis [-path <dir/file path> ]
where dir/file path specifies the UNIX pathname of each file or directory whose location
is desired. If this argument is omitted, the location of the current directory is returned.
For example, if the user terry, from the cell comp.com, wants to see the location of the
files in his home directory, he would type
% fs whereis /afs/comp.com/usr/terry
File /afs/comp.com/usr/terry is on host fs2.comp.com
If terry wanted to check the locations of his and pats home directories, he would type
% fs whereis ~terry ~pat
File /afs/comp.com/usr/terry is on host fs2.comp.com
File /afs/comp.com/usr/pat is on host fs3.comp.com
AFS Users Guide 4-5
Checking the Status of File Server Machines Listing Information about AFS
4.3. Checking the Status of File Server Machines
Sometimes one or more file server machines in your cell will become unavailable due
to hardware problems, software problems, or routine maintenance. In these cases, you
will be unable to access files stored on those machines or save any changes you have
made to files that are stored on those machines until the machines come back into
service. (Remember, your Cache Manager may have copies of your files stored locally
that you can still work on.)
The fs checkservers commands allows you to check if the file server machines in your
cell (and other cells) are operative. Depending on how the command is issued, you can
control which file server machines are checked; to check the file server machines in
! Your cell only, type fs checkservers without any arguments.
! Every cell that your Cache Manager has been in contact with, add the -all
flag to fs checkservers.
! A particular foreign cell only, type the complete cell name following
fs checkservers.
Note: The fs checkservers command may take a while to complete because it waits a
few minutes for each machine that does not respond immediately. If you want your
command shell prompt to return immediately, run fs checkservers in the background
using the "&" symbol (for example, fs checkservers -all &).
To Check File Server Machine Status fs checkservers
The fs checkservers command allows you to determine the status of the file server
machines. At the command shell prompt, type
% fs checkservers [-cell <cell to check>] [-all]
If all contacted servers are running, you will see the following output:
All servers are running.
Otherwise, the output lists which machines are unavailable:
These servers are still down:
fs1.comp.com
fs3.comp.com
For example, if terry wants to check the file server machines in his cell only, he would
type
% fs checkservers &
All servers are running.
4-6 AFS Users Guide
Listing Information about AFS Checking the Status of File Server Machines
If terry wants to check the file server machines in every cell which his Cache Manager
contacted, he would type
% fs checkservers -all &
These servers are still down:
fs1.comp.com
server7.school.edu
Note: By combining fs checkservers and fs whereis (see section 4.2) you can find out
if a volume you are using is on an unavailable file server machine. If a text file is
stored in a volume kept on a server that is down, you will probably be unable to access
it.
AFS Users Guide 4-7
Determining Access to Foreign Cells Listing Information about AFS
4.4. Determining Access to Foreign Cells
The Cache Manager on your machine maintains a list of foreign cells and the servers in
those cells. You can only authenticate in a foreign cell if it is in your Cache Managers
list (and, of course, if you have an account in that cell). Use the fs listcells command to
list the foreign cells your Cache Manager recognizes.
To List Foreign Cells fs listcells
The fs listcells command has no arguments or flags. However, because it may take a
while to complete you may want to run it in the background using the "&" symbol.
At the command shell prompt, type:
% fs listcells &
Cell athena.mit.edu on hosts
MAEANDER.MIT.EDU
ORF.MIT.EDU.
Cell testers.athena.mit.edu on hosts
DOT.MIT.EDU.
Cell alefnull.mit.edu on hosts
ALEFNULL.MIT.EDU.
Cell aix.ifs.umich.edu on hosts
35.1.37.34.
Cell nih.gov on hosts
vice1.alw.nih.gov
vice3.alw.nih.gov.
Cell mtxinu.com on hosts
kineo.mtxinu.COM.
4-8 AFS Users Guide
Protecting Directories
Replace this page with the tab separator for
Protecting Directories
AFS Users Guide
-2 AFS Users Guide
5. Protecting Your Directories and Files
This chapter explains how to protect the files and directories in AFS by defining access
rights. It includes the following sections:
Section 5.1 Access Control Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Section 5.2 AFS Access Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Section 5.3 Using System Groups on ACLs . . . . . . . . . . . . . . . . . . . . . . . 5-6
Section 5.4 Listing an ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Section 5.5 Changing an ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Section 5.6 Copying ACLs Between Directories . . . . . . . . . . . . . . . . . . . 5-18
Section 5.7 Using the UNIX Mode Bits in AFS . . . . . . . . . . . . . . . . . . . . . 5-20
AFS Users Guide 5-1
Access Control Lists Protecting Your Directories and Files
5.1. Access Control Lists
Every directory has its own access control list (ACL) that is used to define which users
can access the directory and its files and in what manner. Each ACL can have up to 20
user and/or group entries (an entry lists the user or group and the corresponding access
rights for that user/group).
You can grant any combination of rights to a user/group or specifically deny access to
that user/group on an ACL. A user entry applies to the corresponding user only; a
group entry applies to all of the members of a group. Section 5.2 provides information
on the type of rights available on an ACL. Sections 5.4 and 5.5 explain how to
examine and change ACLs, respectively.
A group can consist of both users and machines. If a user is a member of a group, he or
she has all of the rights of that group. If a user is logged into a machine that is a
member of a group, he or she has all of the rights of that group. Both regular users and
system administrators can create groups for use on ACLs. To learn more about group
creation, see chapter 6.
AFS automatically defines three system groups in each cell; these groups can, among
other things, be used to give access to large numbers of users at once. System-defined
groups can be added to an ACL just like any other group. To learn more about the
system-defined groups, see section 5.3.
Although AFS relies on ACLs for basic file and directory protection, it also uses the
UNIX mode bits to a limited extent. See section 5.7 to learn more about UNIX mode bits
and their meaning in AFS.
5.1.1. Directory Level Access Control
Defining access at the directory level has several consequences:
! Files inherit the access rights associated with their parent directory. If you
move a file to a new directory, the file gets the access rights of its new
directory. (So if you want a file to be as protected as in the original
directory, make sure that the new directory has an equally restrictive
ACL.) If you change the ACL on a directory, the protection on all of its
files also changes.
! When you create a subdirectory, it inherits the current access rights of its
parent directory. You can then set the subdirectorys ACL to be different
from its parents. However, if you make the ACL on a parent directory
more restrictive than on a subdirectory, you will make it very difficult for
someone to reach the subdirectory even though they may still have rights
to it. Specifically, a person must have the LOOKUP right (defined in section
5.2) on the parent directory to reach its subdirectories.
5-2 AFS Users Guide
Protecting Your Directories and Files Access Control Lists
As a general rule, it makes sense to have fairly liberal access rights on your home
directory and then create subdirectories with more restrictive rights if you want to
protect certain files more carefully.
AFS Users Guide 5-3
AFS Access Rights Protecting Your Directories and Files
5.2. AFS Access Rights
There are seven standard access rights available on ACLs. To give a user or group a
specific set of rights, you must create an entry for that user or group with the
corresponding rights. The rights apply to the directory on which they are placed. Each
right has an accepted single-character abbreviation, which appears after the complete
name in the following definitions.
Note: Users need the LOOKUP right before they can access files or directories in any
other way.
Below is a list of the seven rights and an explanation of the privileges granted by each
right:
! The LOOKUP (l) right allows the possessor to
Issue the UNIX ls command to list the names of the files and
subdirectories in the directory. It does not allow the possessor to list
the contents of a subdirectory in the directory unless he or she also
has LOOKUP on that subdirectorys ACL.
Issue the UNIX ls -ld command to long list the directory element
itself.
Examine the ACL for the directory.
Access the directorys subdirectories, which are protected by their
own ACLs.
! The INSERT (i) right allows the possessor to
Add new files to the directory, either by creating new files or by
copying existing files.
Create new subdirectories.
! The DELETE (d) right allows the possessor to
Remove files from the directory or move them into other directories
(where the user also has the INSERT right).
Remove subdirectories (from directories where the user also has the
INSERT right).
! The ADMINISTER (a) right allows the possessor to change the ACL for the
directory. Users always have this right on their home directory and its
subdirectories.
! The READ (r) right allows the possessor to read the contents of the files in
the directory (that is, read the data in the file).
! The WRITE (w) right allows the possessor to modify the contents of the
files in the directory and to change their UNIX mode bits with the UNIX
chmod command.
5-4 AFS Users Guide
Protecting Your Directories and Files AFS Access Rights
! The LOCK (k) right allows the possessor to run programs that need to place
advisory locks on files in the directory ("flock" files). Most programs do
not need to place advisory locks on files; however, if you get a message
stating that an application cannot lock a file, it may be because you do not
have LOCK permission on the directory.
5.2.1. Shorthand Forms for Common Combinations of Rights
You are free to combine the rights in any way in an ACL entry, but certain
combinations make more sense than others. Four of the more common combinations
have corresponding shorthand forms. When defining ACLs, you can type either the
individual letters corresponding to the rights or the shorthand forms, which are
! write all rights except ADMINISTER (rlidwk).
! read READ and LOOKUP rights (rl).
! all all seven rights (rlidwka).
! none no rights; this removes the users entry from the ACL entirely.
5.2.2. Normal and Negative Rights
AFS allows you to grant access by setting normal rights and to deny access by setting
negative rights. You can either grant or deny any user or group any combination of the
seven access rights defined previously.
When you set normal rights, you are giving permission for the user or group to perform
the specified actions. See section 5.5.1 to learn how to grant access by adding users to
the Normal rights list.
When you set negative rights, you are explicitly denying the user or group permission
to perform the specified actions by adding them to the Negative rights list. For
example, if you want to give READ rights to all but one person in a group, you would
put the group on the Normal rights list and the person you wanted to deny on the
Negative rights list. See section 5.5.2 to learn how to deny access and section
5.5.3 to learn how to restore access you previously denied.
5.2.3. Other Variable Rights
Eight additional access rights, represented by the uppercase letters A through H, are
available for use on ACLs. These letters have no standard meanings and are usually
ignored by the AFS server processes. Your AFS system administrator may assign
meanings to them and place them on ACLs to control access in new ways. If you
encounter these rights on an ACL, ask your AFS system administrator about their
meaning. You can use the fs listacl and fs setacl commands to inspect, set, and remove
the eight variable rights in the same way as the seven standard rights.
AFS Users Guide 5-5
Using System Groups on ACLs Protecting Your Directories and Files
5.3. Using System Groups on ACLs
AFS defines three system groups that you can put on your ACLs. System groups
enable you to grant access to a wide range of people simultaneously. You do not have
control over the membership of these groups, however, so consider carefully what kind
of rights you wish to give them. (You do control the membership of the groups you
own; see chapter 6 to learn how to create your own groups.)
The three system-defined groups are
! system:anyuser This group includes anyone who can gain access to your
cell, including people who have logged into a workstation locally but have
not authenticated to AFS, people who have used telnet from outside the
cell, or people who have contacted the local file server from a workstation
in another AFS cell.
! system:authuser This group includes anyone who is currently
authenticated in your cell. This means any user who has an AFS account
in your cell and is authenticated. See chapter 3.1.2 to learn more about
authentication.
! system:administrators This group includes only the few people in your
cell designated as system administrators and thus authorized to operate and
administer AFS. There is no reason to specifically grant or deny access to
this group since its members automatically have ADMINISTER rights on all
directories.
5.3.1. Allowing Access to Subdirectories
A user must have the LOOKUP right on a directory to access its subdirectories in any
way. Even if a user has extensive rights on a subdirectory, he will not be able to access
it if he does not have the LOOKUP right to the parent directory.
You can grant the LOOKUP right in one of three ways: grant it to a system group
(system:anyuser or system:authuser), grant it to each authorized user individually, or
grant it to a group of authorized users you define yourself (see chapter 6).
Granting rights to system:anyuser is the easiest option and is generally safe because the
LOOKUP right only allows someone to list the contents of the directory, not to read the
files in it. If you want to be slightly more restrictive, substitute system:authuser for
system:anyuser and only locally authenticated users will be able to list the contents of
the subdirectory.
5-6 AFS Users Guide
Protecting Your Directories and Files Using System Groups on ACLs
5.3.2. Allowing Access to Services
The system:anyuser group may need certain rights on some of your directories so that
process daemons can provide services such as printing and mail delivery. For example,
a printing daemon may need READ rights on certain directories (in addition to LOOKUP
rights) to print the contents of files; or a mail daemon may need INSERT rights to be
able to give you new pieces of mail. Your system administrator has probably already
granted the necessary rights on the appropriate directories when they were created and
should be able to provide you with more information.
Your home directorys ACL may be set to grant READ and LOOKUP rights to
system:anyuser by default. This means that any user who is logged in can read (r) the
files in your directory and display status (l) about those files. Users cannot list and
display the statuses of files in your subdirectories unless they have rl rights on these
subdirectories as well as l rights on your home directory. You can view the ACL on
your home directory with the fs listacl command described in section 5.4.
5.3.3. Allowing Access to Users from Foreign Cells
The only way to grant access to users from foreign cells who do not have an account in
your cell is to put system:anyuser on an ACL. Remember that system:anyuser includes
everyone who can reach your cell, not just authenticated users from foreign cells.
AFS Users Guide 5-7
Listing an ACL Protecting Your Directories and Files
5.4. Listing an ACL
The fs listacl command is used to view a directorys ACL. You should view a
directorys ACL before making changes to it. The ACL of a users home directory
usually grants READ and LOOKUP rights to system:anyuser and all rights (rlidwka) to
the directorys owner. Section 5.3 explains system-defined groups (such as
system:anyuser) and why they should appear on certain ACLs.
To List a Directorys ACL fs listacl
To list an ACL, type
+
% fs listacl [-path <dir/file path> ]
where dir/file path specifies each directory or file whose ACL is to be listed. If you
specify a filename, the parent directory of the file is used. The default is the current
directory.
The output of the fs listacl command lists user names or group names and their
associated access rights (represented by the single letters defined in section 5.2).
Normal rights are shown separately from Negative rights (if negative rights
exist).
Example: Listing the ACL for a Home Directory
If the user terry (local cell is comp.com) wants to see the ACL for his home directory,
he would type:
% fs listacl $HOME
Access list for /afs/comp.com/usr/terry is
Normal rights:
system:anyuser rl
terry rlidwka
This indicates that terry has all seven rights on his home directory, and all users who
belong to the system:anyuser group have READ and LOOKUP rights. This allows all
users to list terrys home directory, read files in terrys home directory, and list terrys
subdirectories.
Note: terry could also have typed fs listacl ~terry; or, if he was already in his home
directory, he could type fs la.
Example: Listing the ACL for the Current Directory
Suppose terry is in his subdirectory called strategy and wants to check its ACL. He
dos not need to specify a directory because the current directory is the default for the fs
listacl command. At the command shell prompt, he would type
5-8 AFS Users Guide
Protecting Your Directories and Files Listing an ACL
% fs listacl
Access list for . is
Normal rights:
system:authuser rl
pat rlw
terry rlidwka
Negative rights:
terry:other-dept rlidwka
The list under Normal rights indicates that terry has all seven access rights; pat has
READ, LOOKUP, and WRITE rights; and anyone belonging to the system:authuser group
has READ and LOOKUP rights.
The list under Negative rights indicates that anyone in the group terry:other-dept
is not allowed to access this directory in any way; terry has denied them all seven
rights. Note that any authenticated user not in the terry:other-dept group has access to
the subdirectory as system:authuser.
See section 5.5.2 to learn more about denying access to directories by using normal and
negative rights. See chapter 6 to learn more about creating groups.
Example: Listing ACLs for Multiple Directories
This example shows the output when more than one directory is specified and how it is
legal to combine different types of pathnames. Interpretation of the lists is the same as
for the other examples.
Suppose terry is in a subdirectory of his home directory and wants to see the ACLs of
three directories: the current directory, the home directory of his manager (pat), and
another subdirectory of his home directory called plans. At the command shell
prompt, he would type
% fs listacl . /afs/comp.com/usr/pat ../plans
Access list for . is
Normal rights:
system:anyuser rl
pat:dept rliw
Access list for /afs/comp.com/usr/pat is
Normal rights:
system:anyuser rl
pat rlidwka
terry rliw
Access list for ../plans is
Normal rights:
terry rlidwka
pat rlidw
AFS Users Guide 5-9
Changing an ACL Protecting Your Directories and Files
5.5. Changing an ACL
You are allowed to change any ACL for which you have the ADMINISTER right. You
always have ADMINISTER rights on your home directory and all its subdirectories.
Even if your ADMINISTER right is removed from the ACLs for your directories, you can
still administer the ACLs in your home directory and its subdirectories.
To determine if you have the ADMINISTER right for any other directory, issue the
fs listacl command with the appropriate directory. Look for the letter a in the list of
rights following your user name or the name of a group to which you belong.
To change a directorys ACL, use the fs setacl command.
+ +
% fs setacl -dir <directory> -acl <access list entries> [-clear] [-negative]
where
directory specifies each directory whose ACL you want to change. Abbreviated
pathnames are interpreted relative to the current directory.
access list entries
defines a list of one or more ACL entries each of which specifies a user or
group name and a corresponding set of access rights.
-clear removes all existing entries on the specified ACL prior to adding the new
ones. Use caution with this flag because if one of the ACL entries does not
grant all rights to the owner of the directory it can become awkward for the
owner to access items in the directory.
-negativeputs the indicated entries on the Negative rights list rather than the
Normal rights list. Users and groups on the Negative rights list are
specifically denied the listed rights.
If an ACL already grants certain rights to a user or group, the rights you specify with
the fs setacl command replace the existing rights; they are not added to them. In other
words, if you want a user or group to retain the rights they already have, include those
rights when you enter the new set of rights.
See the following sections for information on making specific types of changes to
ACLs:
! See section 5.5.1 to learn how to grant access.
! See section 5.5.2 to learn how to deny access.
! See section 5.5.3 to learn how to restore access after denying it.
! See section 5.5.4 to learn how to erase an ACL and replace it with a new
one.
5-10 AFS Users Guide
Protecting Your Directories and Files Changing an ACL
5.5.1. Granting Access to Directories
To grant access to a directory, use the fs setacl command. You must provide the name
of the directory, the users or groups you want to add to its ACL, and their
corresponding rights. An ACL may contain up to 20 entries. Section 5.5 explains
more completely what values are acceptable for specifying users, groups, and access
rights.
To Grant Access to a Directory fs setacl
At the command shell prompt, type
+ +
% fs setacl -dir <directory> -acl <access list entries>
where
directory specifies each directory whose ACL you want to change. Abbreviated
pathnames are interpreted relative to the current directory.
access list entries
defines a list of one or more ACL entries each of which specifies a user or
group name and a corresponding set of access rights.
Example: Adding a User to an ACL
Suppose terry wants to give pat READ and LOOKUP access to his notes subdirectory;
from the notes subdirectory he would type
% fs setacl . pat rl
or
% fs setacl . pat read
To verify the ACL, terry uses the fs listacl command.
% fs listacl .
Access list for . is
Normal rights:
pat rl
terry rlidwka
Example: Adding Multiple Groups and Users to an ACL
Suppose terry wants to give the following access rights to his notes subdirectory:
! READ, LOOKUP, and INSERT for members of system:anyuser.
! All rights for his manager pat.
! All rights except ADMINISTER for his friend indira
AFS Users Guide 5-11
Changing an ACL Protecting Your Directories and Files
In his notes subdirectory, he would type
% fs setacl . system:anyuser rli pat all indira write
or
% fs setacl . system:anyuser rli pat rlidwka indira rlidwk
To verify the ACL, terry uses the fs listacl command in his notes subdirectory:
% fs listacl .
Access list for . is
Normal rights:
system:anyuser rli
pat rlidwka
terry rlidwka
5.5.2. Denying Access to Directories
There are two ways to deny someone access to a directory: remove the user or group
from the Normal rights list or add them to the Negative rights list. Users
that do not appear on the Normal rights list do not have access to that directory
unless they are granted access by belonging to a group on the access control list. In
particular, everyone on the system has the access rights of the group system:anyuser.
To specifically deny a user or group access, put an entry on the Negative rights
list of the ACL. This denies access because the file server computes negative rights
after normal rights so an entry on the Negative rights list cancels out any rights
someone may gain under Normal rights.
Exception: Negative rights do not cancel out system:anyuser normal rights. If
system:anyuser has access rights on the Normal rights list, any user on the
Negative rights list can unlog and use system:anyuser access rights.
Putting users on the Negative rights list is most useful when you want most
members of a group to have a given set of access rights but want to restrict access to a
few group members.
5-12 AFS Users Guide
Protecting Your Directories and Files Changing an ACL
To Remove an Entry from the Normal rights List fs setacl
To remove a user or group from the Normal rights list, type
+
% fs setacl -dir <directory> -acl <user or group name> none
where
directory specifies each directory whose ACL you want to change. Abbreviated
pathnames are interpreted relative to the current directory.
user or group name
specifies the user or group part of the ACL entry; the word none indicates
that user or group name will be given no rights.
You can add someone new to an access list at the same time you remove someone; see
the example below.
Example: Removing a User From the Normal rights List
Suppose terry wants to remove pats entry from the Normal rights part of his
current directorys ACL, he would type
% fs setacl . pat none
% fs listacl .
Access list for . is
Normal rights:
terry:dept rli
system:anyuser ri
terry rlidwka
Note: Keep in mind that if system:anyuser or another group to which pat belongs
appears on the list, pat will still have those access rights. You might also want to deny
pat access by putting her on the Negative rights list and remove system:anyuser
from the Normal rights list.
Example: Removing a User While Adding Another
It is legal to remove a user from the Normal rights list while simultaneously
adding a user to it. Suppose terry wants to remove pat from the Normal rights list
and grant indira rights in the same command, he would type
% fs setacl . pat none indira rlidw
% fs listacl .
Access list for . is
Normal rights:
terry:dept rli
system:anyuser ri
indira rlidw
terry rlidwka
AFS Users Guide 5-13
Changing an ACL Protecting Your Directories and Files
To Add an Entry to the Negative rights List fs setacl -negative
To add an entry to the Negative rights list, you must use the -negative flag with
the fs setacl command. The -negative flag indicates that all of the access list entries
should go on the Negative rights list of the ACL. When you assign users to the
Negative rights list, do not give system:anyuser more rights than the least
privileged user because users can unlog and obtain system:anyuser access rights.
At the command shell prompt, type
+ +
% fs setacl -dir <directory> -acl <access list entries> -negative
where
directory specifies each directory whose ACL you want to change. Abbreviated
pathnames are interpreted relative to the current directory.
access list entries
defines a list of one or more ACL entries each of which specifies a user or
group name and a corresponding set of access rights.
-negativeputs the indicated entries on the Negative rights list rather than the
Normal rights list.
Example: Adding a User to the Negative rights List
Suppose terry had given READ, LOOKUP, INSERT, DELETE, and WRITE access to his
plans subdirectory to all the members of a group terry:dept. The ACL for his directory
might look like this:
% fs listacl /afs/comp.com/usr/terry/plans
Access control list for /afs/comp.com/usr/terry/plans is
Normal rights:
system:anyuser rl
terry:dept rlidw
terry: rlidwka
However, terry notices that one of his co-workers, indira, has been making changes to
files without permission. While terry wants to deny indira WRITE and DELETE rights,
he does not want to remove indira from the terry:dept group entirely. In his plans
subdirectory, terry would type
% fs setacl . indira wd -neg
% fs listacl
Access control list for . is
Normal rights:
system:anyuser rl
terry:dept rlidw
terry: rlidwka
Negative rights:
indira wd
5-14 AFS Users Guide
Protecting Your Directories and Files Changing an ACL
5.5.3. Restoring Access to Directories after Denying It
It is possible to restore rights you have taken away. If you simply used the none access
right group to remove a user or a group from the Normal rights list, use the regular
fs setacl command to restore the right (see section 5.5.1).
If you added a user or a group to the Negative rights list, you must remove the
user or group from that list and then grant them rights on the Normal rights list. If
you forget to remove them from the Negative rights list, the user or group will
still be locked out because negative rights cancel out normal rights.
To Remove an Entry from the Negative rights List fs setacl
-negative
To remove a user or group from the Negative rights list, assign the user or group
the none shorthand grouping of rights on the Negative rights list. Use the
-negative flag and provide the directory, the user or group name, and the none rights
grouping.
Issuing this command returns the specified negative ACL entry to the default condition
of not appearing on the ACL at all. You can then grant the user or group normal rights
or a different set of negative rights with the fs setacl command (see sections 5.5.1 and
5.5.2).
At the command shell prompt, type
+
% fs setacl -dir <directory> -acl <user or group name> none -negative
where
directory specifies each directory whose ACL you want to change. Abbreviated
pathnames are interpreted relative to the current directory.
user or group name
specifies the user or group part of the ACL entry; the word none indicates
that user or group name will be removed from the list.
-negativespecifies that the entry should be removed from the Negative rights list
rather than the Normal rights list.
Example: Restoring Access (Negative rights)
In the example on page 5-14, terry put indira on the Negative rights list for the
plans subdirectory. Now, indira has promised not to change terrys files without
telling him, so terry wants to restore indiras normal rights by removing her from the
Negative rights list. He types
AFS Users Guide 5-15
Changing an ACL Protecting Your Directories and Files
% fs setacl /afs/comp.com/terry/plans indira none -negative
% fs listacl /afs/comp.com/terry/plans
Access control list for /afs/comp.com/usr/terry/plans is
Normal rights:
system:anyuser rl
terry:dept rlidw
terry rlidwka
Note that indira no longer appears on the Negative rights list. So terry can now
grant her normal rights if he chooses; however, this is unnecessary because indira has
rlidw rights by belonging to terry:dept.
5.5.4. Replacing an ACL
You may sometimes want to clear an ACL completely and define new rights for the
directory. Use the -clear flag on the fs setacl command to erase both the Normal
rights and Negative rights lists. The list of new rights you define may be
either normal or negative and each list must be added separately.
Be sure to grant yourself all seven rights when you issue this command. You can get
into difficulty if you take yourself off an ACL. Without the LOOKUP right, you will be
unable to use short-hand directory notation, such as interpreting "." or "..", though you
can still perform these commands if you provide a complete pathname. For example,
you will not be able to use "fs listacl ." or "cd ..", but "fs listacl $HOME" or "cd
/afs/comp.com/usr/terry" will still work.
Note: If you lock yourself out of a directory you own, you can always restore your
rights to it because you always retain implicit ADMINISTER rights on your home
directory and its subdirectories. To restore your rights, use the fs setacl command.
To Replace an ACL fs setacl -clear
Use the -clear flag to replace a directorys ACL completely. The -clear flag erases the
current ACL for the directory, replacing it with the new ACL entry. You can set the
Negative rights list by including the -negative flag or the Normal rights list
by omitting it.
At the command shell prompt, type
+ +
% fs setacl -dir <directory> -acl <access list entries> [-clear] [-negative]
where
directory specifies each directory whose ACL you want to change. Abbreviated
pathnames are interpreted relative to the current directory.
5-16 AFS Users Guide
Protecting Your Directories and Files Changing an ACL
access list entries
defines a list of one or more ACL entries each of which specifies a user or
group name and a corresponding set of access rights.
-clear removes all existing entries on the specified ACL prior to adding the new
ones. Use caution with this flag because if an ACL does not grant all rights
to the owner of the directory, it can become awkward for the owner to access
items in the directory.
-negativeputs the indicated entries on the Negative rights list rather than the
Normal rights list.
Example: Replacing an ACL
Suppose that the ACL on the current directory has become so crowded with groups and
individual users with different combinations of rights that terry is no longer sure what
access he is giving or denying. He can return the ACL to a simpler state, where only he
and pat have rights, by typing
% fs setacl . terry all pat write -clear
% fs listacl .
Access control list for . is
Normal rights:
terry rlidwka
pat rlidwk
AFS Users Guide 5-17
Copying ACLs Between Directories Protecting Your Directories and Files
5.6. Copying ACLs Between Directories
The fs copyacl command allows you to copy an ACL from one directory to one or
more other directories. You can use the command to copy the ACL from any directory
for which you have the LOOKUP right to the ACL of any directory for which you have
the ADMINISTER right. You can specify a filename as the directory from which the
ACL is to be copied, in which case the ACL of the files parent directory is used; but
you must have both READ and LOOKUP rights on that directory. Use the fs listacl
command to determine the rights you have for a directory.
The fs copyacl command does not affect entries on the ACL of the source directory;
however, it affects entries on the ACL of each destination directory as follows:
! If an entry is on the ACL of the source directory but not on the ACL of the
destination directory, it is copied to the ACL of the destination directory.
! If an entry is on the ACL of the destination directory but not on the ACL
of the source directory, one of the following occurs:
If the -clear flag is not included with the command, the entry on the
destination directory is not affected.
If the -clear flag is included with the command, the entry on the
destination directory is removed from the ACL.
To Copy an ACL Between Directories fs copyacl
To copy an ACL from one directory to one or more other directories, type
+
% fs copyacl -fromdir <source directory> -todir <destination directory> [-clear]
where
source directory
specifies the directory whose ACL is to be copied to each destination
directory. It is legal to specify a directory name or a filename. If you specify
a filename, the parent directory of the file is used.
destination directory
specifies each destination directory to receive the ACL from the source
directory.
-clear replace the ACL of each destination directory with the ACL of the source
directory. All entries are removed from the ACL of each destination
directory before the ACL of the source directory is copied.
Example: Copying an ACL from One Directory to Another
Suppose terry is in his home directory and wants to copy its ACL to the ACL of his
plans subdirectory. The current ACLs of the two directories can be listed with the fs
listacl command by typing
5-18 AFS Users Guide
Protecting Your Directories and Files Copying ACLs Between Directories
% fs listacl . plans
Access list for . is
Normal rights:
terry rlidwka
smith rl
jones rl
Access list for plans is
Normal rights:
terry rlidwk
pat rlidk
The fs copyacl command can be used to copy the ACL from the current directory to the
plans subdirectory by typing
% fs copyacl -from . -to plans
The ACLs of the two directories can again be listed with fs listacl:
% fs listacl . plans
Access list for . is
Normal rights:
terry rlidwka
smith rl
jones rl
Access list for plans is
Normal rights:
terry rlidwka
pat rlidwk
smith rl
jones rl
AFS Users Guide 5-19
Using the UNIX Mode Bits in AFS Protecting Your Directories and Files
5.7. Using the UNIX Mode Bits in AFS
In a standard UNIX file system, the UNIX mode bits associated with each file and
directory determine who can access that file or directory and in what manner. The
UNIX mode bits appear in the output line for the standard ls -l command. The first
character of the output from the ls -l command tells the type of the listed element (- for
a file, d for a directory, l for a link). The remaining characters form three rwx
groupings, that specify the read (r), write (w) and execute (x) privileges for each
grouping (that is, the owner, group, and other).
AFS calculates file access based on two factors: the ACL entries of the parent
directory and the UNIX owner mode bits.
! The ACL entries: A user may only access a file in a given way if he or
she has been granted the appropriate rights on the ACL (whether directly,
or through membership in a group).
! The UNIX owner mode bits: AFS ignores the UNIX group and other mode
bits and looks only at the owner mode bits. If the owner mode bits on a
file or directory forbid a specific type of access (for example, writing to the
file), no one may access the file in that way no matter what type of ACL
access rights they have.
Therefore, the following rules apply when working on AFS files:
! A user with appropriate AFS rights can only read a file if its UNIX r owner
mode bit is turned on.
! A user with appropriate AFS rights can only write to a file if its UNIX r
and w owner mode bits are turned on.
! A user with appropriate AFS rights can only execute a file if its UNIX r
and x owner mode bits are turned on.
Note: AFS does not support write-only files; it requires the r mode bit to copy a file to
the Cache Manager on a client workstation.
You can use the standard UNIX chmod command to toggle the owner, group, and other
mode bits. (Of course, the owner mode bits are the only ones of consequence inside
AFS.) You must have the WRITE and LOOKUP rights on the ACL of a directory housing
a file to change the files mode bits.
Note: UNIX also associates three additional mode bits, the "SUID," "SGID," and
"sticky" bits, with a file. This documentation does not address these additional mode
bits.
5-20 AFS Users Guide
Protecting Your Directories and Files Using the UNIX Mode Bits in AFS
Example: Turning Off Write Permission for a File
Suppose terry is chairing a committee that is writing a proposal. As each section is
approved, he turns off write access to that file. Committee members can continue to
write and edit the unapproved sections and can still read and refer to the approved
sections, but terry wants no one to alter an approved section. To turn off write access
to the approved proposal.chap2 section, terry types the following UNIX command in
the proposal subdirectory:
% chmod -w proposal.chap2
% ls -l
-rw-r--r-- 1 terry 5732 Dec 1 19:57 conclusion
-rw-r--r-- 1 terry 5732 Dec 1 19:57 intro
-r--r--r-- 1 terry 5732 Dec 1 19:57 proposal.chap2
-rw-r--r-- 1 terry 5732 Dec 1 19:57 proposal.chap3
-rw-r--r-- 1 terry 5732 Dec 1 19:57 proposal.chap4
Notice that the file proposal.chap2 does not have the w (write) bit. No user that
accesses the proposal subdirectory, including the owner, terry, can write to the file,
even if the user has the WRITE and LOOKUP rights on the ACL of the directory.
AFS Users Guide 5-21
5-22 AFS Users Guide
6. Using Groups
This chapter explains how to create your own groups and suggests different ways to use
them. It contains the following sections:
Section 6.1 About Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Section 6.2 Listing Information About Groups . . . . . . . . . . . . . . . . . . . . . . 6-5
Section 6.3 Listing Group-Related Information About Users . . . . . . . . . . . 6-8
Section 6.4 Creating Groups and Adding Members to Them . . . . . . . . . . . 6-11
Section 6.5 Removing Users from Groups and Deleting Groups . . . . . . . . 6-13
Section 6.6 Protecting Group-Related Information. . . . . . . . . . . . . . . . . . . 6-16
Section 6.7 Changing a Groups Owner or Name . . . . . . . . . . . . . . . . . . . . 6-19
AFS Users Guide 6-1
About Groups Using Groups
6.1. About Groups
An AFS group is a defined list of individual users that you can place on the access
control lists (ACLs) so that you can grant the same access rights to a number of people
at once. Groups make the job of ACL maintenance much easier. Instead of adding
users to (and removing them from) ACLs separately, users can be added to and
removed from groups, thus updating all ACLs on which the groups are included.
When you create a group, you automatically become its owner. A groups owner is the
only one allowed to administer the group. Administering a group includes adding
members to it, removing members from it, renaming it, changing its owner, or deleting
it entirely.
See chapter 5 to learn about ACLs, how AFS file protection works in general, and how
to add individuals and groups to access control lists.
Note: Specific client machines can also be members of a group. If a machine is a
member of a group, anyone logged in to that machine has the access rights of the
group. Most cells that use "machine groups" use them for very specific purposes (like
adhering to software license agreements). Talk with your system administrator before
putting a client machine in a group or using a machine group on an ACL.
6.1.1. Suggestions for Using Groups Effectively
There are three typical ways to use groups, each suited to a particular purpose: private
use, shared use, and group use. The following are only suggestions you are free to
use groups in any way you choose.
6.1.1.1. Private Use
When you create a group for your own convenience and put it on your own access
control lists, without informing the groups members, that group is for your private use.
The only thing the groups members notice is that they are granted (or denied) certain
kinds of access to a directory.
The existence of a private use group and the identity of its members is not necessarily
secret. Anyone can learn that a group exists by seeing it on an ACL when they issue
the fs listacl command (see chapter 5). And anyone can add any group to a directorys
ACL, assuming they have ADMINISTER rights on that directory.
However, as the groups owner, you retain sole administrative control over the group.
Furthermore, you can restrict who can list the members of a group (see section 6.6).
6-2 AFS Users Guide
Using Groups About Groups
6.1.1.2. Shared Use
When you create a group for shared use, you inform the groups members that you
have formed a group with them in it. Like private use groups, anyone can add a shared
use group to their own access control lists; however, under shared use, you specifically
sanction this use. Again, though, as the groups owner, you retain sole control over its
membership.
When you add a group owned by someone else to your ACLs, keep in mind that the
owner can change the group membership without informing you. Thus, someone new
could gain (or be denied) access to your files in a way you did not intend. See section
6.6 to learn how to protect group information.
For example, assume the manager of a department creates a group consisting of all the
employees in the department. The employees can add the group to the directories that
store department-related files so that everyone in the department can look at the files.
However, the manager retains control over the groups membership.
6.1.1.3. Group Use
When you create a group for group use, there are two possible variations:
! Group-owned One group owns another. All members of the owner
group can administer the owned group; the members of the owned group
have no administer rights.
! Self-owned A group owns itself, so the membership of the owned and
owner groups is identical.
Once a group is created, the owner can change the owner to a group, even the group
itself (see section 6.7). Group-owned and self-owned groups make it possible to share
responsibility for administering a group among several people the members of the
owner group (which in the case of a self-owned group are also the members of the
owned group). A single person does not have to keep track of adding and deleting
members; if the original creator leaves the group, he or she does not need to remember
to transfer ownership to someone else.
Keep in mind that everyone in an owner group can make changes that affect others
negatively: removing members from the group, adding members that do not belong, or
changing ownership to themselves exclusively. These problems can be especially
sensitive in a self-owned group. Using an owner group works best if all members
know and trust each other, so it is probably best to keep the number of people in an
owner group small.
AFS Users Guide 6-3
About Groups Using Groups
6.1.2. Group Names
Most group names have two parts, separated by a colon, as follows:
owner-name:group-name
The owner-name is the name of the owner of the group; the group-name is the actual
name of the group. You may also encounter groups that do not have an owner prefix;
these are special groups created by system administrators. All of the groups you create
must have an owner-name and a group-name, separated by a colon.
Together, owner-name plus group-name can amount to a maximum of 63 characters.
The group-name can contain lowercase letters, numbers, or any punctuation except the
colon; uppercase letters or spaces are not allowed.
6.1.3. Group Quota
Your cells system administrators set a group quota for the number of groups you are
allowed to create. When you create a group, your group quota decreases by one. For
information on determining your quota, see section 6.3.
When a group that you created is deleted, your quota increases by one, even if you are
no longer the owner. Transferring ownership of a group does not increase your group
quota because you are still the creator. If you exhaust your group quota and need to
create more groups, contact your system administrator to have your group quota
increased.
6-4 AFS Users Guide
Using Groups Listing Information About Groups
6.2. Listing Information About Groups
You can use the following commands to determine group-related information about
groups:
! Use the pts membership command to determine who belongs to a group.
! Use the pts examine command to determine who owns or who created a
group.
! Use the pts listowned command to determine the groups that a group
owns.
Note: The standard system groups system:anyuser and system:authuser are not listed
in the output from these commands.
You can also check on group-related information about particular users, such as the
groups they own (see section 6.3).
To List the Members of a Group pts membership
You must specify the complete name or AFS User ID (UID) of each group whose
members you want to list. At the command shell prompt, type
+
% pts membership -nameorid <user or group name or id>
where user or group name or id specifies the complete name or AFS UID of each
group about which group membership information is to be displayed.
Example: Listing Members of a Group
Suppose terry wants to make sure that pat belongs to the group terry:dept. He would
check this by typing
% pts membership terry:dept
Members of terry:dept (id: -286) are:
terry
smith
pat
johnson
The output indicates that pat does belong to the group.
AFS Users Guide 6-5
Listing Information About Groups Using Groups
To List Who Owns/Created a Group pts examine
You must specify the complete name or AFS UID of each group about which owner
and creator information is to be displayed. At the command shell prompt, type
+
% pts examine -nameorid <user or group name or id>
where user or group name or id specifies the complete name or AFS UID of each
group about which owner and creator information is to be displayed.
The output from the pts examine command displays information in the following
fields:
! Name Confirms that the group exists in the system.
! id Specifies the groups "AFS UID," a number that AFS servers use
internally. This number is negative for groups, positive for users.
! owner Indicates which user or group owns the group.
! creator Indicates which user created the group.
! membership For user entries, indicates the number of groups to which
the user belongs; for group entries, indicates the number of users who
belong to the group.
! flags Indicates who can perform certain actions on this group entry (see
section 6.6).
! group quota For user entries, indicates the users group quota; it is
meaningless for group entries and should be 0.
Example: Listing a Groups Owner and Creator
Suppose the user terry knows that pat created a group called pat:staff, which includes
members of the department pat manages. terry might want to use this group on access
control lists after finding out who can administer it (who owns it). To do this, terry
could type
% pts examine pat:staff
Name: pat:staff, id: -673, owner: pat:staff, creator: pat,
membership: 15, flags: S-M--, group quota: 0,
It turns out that pat:staff is self-owned. Because everyone in the group can change its
membership, terry needs to decide if he wants to use a self-owned group on his ACLs.
6-6 AFS Users Guide
Using Groups Listing Information About Groups
To List the Groups a Group Owns pts listowned
You must specify the complete name or AFS UID of each group about which
ownership information is to be displayed. At the command shell prompt, type
+
% pts listowned -nameorid <user or group name or id>
where user or group name or id specifies the complete name or AFS UID of each
group about which group ownership information is to be displayed.
Example: Listing the Groups a Group Owns
To find out if terry:dept owns any other groups, terry would type
% pts listowned terry:dept
Groups owned by terry:dept (id: -567) are:
terry:other-dept
terry:friends
The group owns two other groups: terry:other-dept and terry:friends.
AFS Users Guide 6-7
Listing Group-Related Information About Users Using Groups
6.3. Listing Group-Related Information About Users
You can use the following commands to determine group-related information about
users:
! Use the pts membership command to determine the groups to which a
user belongs.
! Use the pts listowned command to determine the groups a user owns.
! Use the pts examine command to determine how many additional groups
a user can create.
To List Groups to Which a User Belongs pts membership
You must specify the user name or AFS UID of each user about which group
membership information is to be displayed. At the command shell prompt, type
+
% pts membership -nameorid <user or group name or id>
where user or group name or id specifies the user name or AFS UID of each user about
which group membership information is to be displayed.
Example: Listing the Groups to Which a User Belongs
Suppose terry wants to know the groups to which both he and pat belong. He would
type
% pts membership terry pat
Groups terry (id: 1022) is a member of:
pat:staff
indira:friends
pat:accounting
Groups pat (id: 1845) is a member of:
pat:staff
sam:managers
To List the Groups a User Owns pts listowned
You must specify the user name or AFS UID of each user about which group
ownership information is to be displayed. At the command shell prompt, type
+
% pts listowned -nameorid <user or group name or id>
where user or group name or id specifies the user name or AFS UID of each user about
which group ownership information is to be displayed.
6-8 AFS Users Guide
Using Groups Listing Group-Related Information About Users
Example: Listing the Groups a User Owns
Suppose terry wants to know the groups that both he and pat own. He can display this
information by typing
% pts listowned terry pat
Groups owned by terry are:
terry:dept
terry:other-dept
terry:friends
terry:confidential
Groups owned by pat are:
pat:staff
pat:plans
pat:managers
To List a Users Group Quota pts examine
You must specify the user name or AFS UID of each user about which group quota
information is to be displayed. At the command shell prompt, type
+
% pts examine -nameorid <user or group name or id>
where user or group name or id specifies the user name or AFS UID of each user about
which group quota information is to be displayed.
The pts examine command displays the same types of information for users that it
displays for groups. It provides information in the following fields:
! Name Confirms that the user exists in the system.
! id Specifies the users "AFS UID," a number that AFS servers use
internally. This number is negative for groups, positive for users.
! owner Indicates which user or group owns the user entry. This is
usually system:administrators for users.
! creator Indicates which user created the user entry.
! membership For user entries, indicates the number of groups to which
the user belongs; for group entries, indicates the number of users who
belong to the group.
! flags Indicates who can perform certain actions on this user entry (see
section 6.6).
! group quota For user entries, indicates the users group quota; it is
meaningless for group entries and should be 0.
AFS Users Guide 6-9
Listing Group-Related Information About Users Using Groups
Example: Listing a Users Group Quota
Suppose pat has created several groups and wants to know how many more she can
create. She would type
% pts examine pat
Name: pat, id: 1045, owner: system:administrators, creator: admin,
membership: 15, flags: S-M--, group quota: 17,
The relevant field is group quota, which shows that pat can create another 17
groups (her current group quota is 17).
6-10 AFS Users Guide
Using Groups Creating Groups and Adding Members
6.4. Creating Groups and Adding Members
You can use the following commands to create groups and add members to them:
! Use the pts creategroup command to create a group.
! Use the pts adduser command to add a user to a group.
Before you can add members to a group, you must create the group. When you create a
group, you become its owner automatically. As explained in section 6.1, this means
you are allowed to add and delete members, change the groups name, transfer
ownership of the group, or delete the group entirely.
A newly created group has no members. You may add users to a group you own at any
time. You cannot make a group a member of another group.
To Create a Group pts creategroup
You must specify the name of each group to be created. At the command shell prompt,
type
+
% pts creategroup -name <group name> [-owner <owner of the group>]
where
group name
specifies the name of each group to be created. A name must be of the form
owner-name:group-name; see section 6.1.2 for information on group naming
restrictions.
owner of the group
specifies the user or group to own each group specified with -name (if the
group(s) is to be owned by a group or a user other than the command issuer).
Specify the user name of an individual or the complete name of a group. By
default, the issuer of the command will be the group owner.
Issuing this command causes your group quota to decrease by one for each group you
create.
Example: Creating a Group
Suppose user terry wants to create a group that contains all members of his department,
he would type
% pts creategroup terry:dept
The pts examine command can be used to display information about the group.
% pts examine terry:dept
Name: terry:dept, id: -104, owner: terry, creator: terry,
membership: 0, flags: S----, group quota: 5.
AFS Users Guide 6-11
Creating Groups and Adding Members Using Groups
To Add Members to a Group pts adduser
You can add members to any group you own. Specify the names of all users to be
added to a group and the complete name of the group to which they are to be added. At
the command shell prompt, type
+ +
% pts adduser -user <user name> -group <group name>
where
user name
specifies the user name of each individual to be added to the groups specified
with -group. Groups cannot be members of other groups.
group name
specifies the complete name of each group to which you want to add the
users specified with -user.
Example: Adding Members to a Group
Suppose terry now wants to add pat, indira, and smith to the group terry:dept. He
would type
% pts adduser -user pat indira smith -group terry:dept
The pts membership command can be issued to list the members of the group.
% pts members terry:dept
Members of terry:dept (id: -286) are:
pat
indira
smith
Note that terry must add himself to the group to be included in its membership.
6-12 AFS Users Guide
Using Groups Removing Users from a Group and Deleting a Group
6.5. Removing Users from a Group and Deleting a
Group
You can use the following commands to remove members from a group, delete a
group, or remove deleted groups from ACLs:
! Use the pts removeuser command to remove a user from a group.
! Use the pts delete command to delete a group entirely.
! Use the fs cleanacl command to remove deleted groups from ACLs.
You must own a group to remove a user from it or to delete it. Use the pts examine
command to determine if you own a group (see section 6.2). Use the pts listowned
command to display a list of all the groups you own (see section 6.3).
When a group that you created is deleted, your group quota increments by one. This is
true even if you no longer own the group. Use the pts examine command to check
your group quota.
When a user or group is deleted, its AFS UID appears on ACLs in place of its AFS
name. Use the fs cleanacl command to remove deleted user or group entries from
ACLs.
Note: Although the pts delete command is also used to delete user entries as well as
group entries, to delete a user entry, you must be a member of system:administrators.
To Remove a User from a Group pts removeuser
You must specify the names of the users to be removed from groups and the complete
names of the groups from which they are to be removed. At the command shell
prompt, type
+ +
% pts removeuser -user <user name> -group <group name>
where
user name
specifies the user name of each user to be removed from each group specified
with -group.
group name
specifies the complete name of each group from which each user specified
with -user is to be removed.
AFS Users Guide 6-13
Removing Users from a Group and Deleting a Group Using Groups
Example: Removing a User from a Group
Suppose terry wants to remove pat from the group terry:dept, he would type
% pts removeuser pat terry:dept
To remove pat from both terry:dept and terry:friends with the same command, terry
would type
% pts removeuser pat -group terry:dept terry:friends
Note: The -group switch must be used with the second pts removeuser command
because multiple group names are specified.
To Delete a Group pts delete
You must specify the complete name or AFS UID of each group to be removed. At the
command shell prompt, type
+
% pts delete -nameorid <user or group name or id>
where user or group name or id specifies the complete name or AFS UID of each
group to be deleted.
Example: Deleting a Group
If terry decided to delete the group terry:dept from the system, he would type
% pts delete terry:dept
Assuming the group terry:dept was included on the ACL for the directory plans,
deleting the group would cause its entry on the ACL to be replaced by its AFS UID, as
follows:
% fs listacl plans
Access list for plans is
Normal rights:
-409 rlidwka
terry:colleagues rl
pat rliw
6-14 AFS Users Guide
Using Groups Removing Users from a Group and Deleting a Group
To Remove a Deleted Group from an ACL fs cleanacl
You must specify the name of each directory (or the name of a file in each directory)
from which the AFS UIDs of deleted groups (and users) are to be removed. At the
command shell prompt, type
+
% fs cleanacl [-path <dir/file path> ]
where dir/file path specifies each directory from whose ACL deleted groups (and users)
are to be removed. If a filename is specified, deleted groups are removed from the
ACL of the files parent directory.
Example: Removing a Deleted Group from an ACL
After terry removes the group terry:dept, the groups AFS UID still appears on any
ACLs on which the group was included.
% fs listacl plans
Access list for plans is
Normal rights:
-409 rlidwka
terry:colleagues rl
pat rliw
To remove the groups AFS UID from the ACL of the plans subdirectory, terry would
type
% fs cleanacl plans
The groups AFS UID no longer appears on the ACL.
% fs listacl plans
Access list for plans is
Normal rights:
terry:colleagues rl
pat rliw
AFS Users Guide 6-15
Protecting Group-Related Information Using Groups
6.6. Protecting Group-Related Information
You can use privacy flags to limit the types of access various people have to
information about your groups. Five privacy flags, each with a corresponding letter,
are used to protect group information. You can use the following commands to set and
view the privacy flags for a group:
! Use the pts setfields command to set the privacy flags for a group.
! Use the pts examine command to display the privacy flags for a group.
6.6.1. Using Privacy Flags
The following list explains the privacy flags in the order in which the pts examine
command displays them:
! STATUS (s) Controls use of the pts examine command to obtain status
information about a group.
! OWNED (o) Controls use of the pts listowned command to determine the
groups that a user or group owns.
! MEMBERS (m) Controls use of the pts membership command to
determine the groups to which a user belongs or the users who belong to a
group.
! ADD (a) Controls use of the pts adduser command to add a user to a
group.
! REMOVE (r) Controls use of the pts remove command to remove a user
from a group.
The default privacy flags for groups are S-M--. These flags allow everyone to obtain
status information about a group and list its members. The owner of a group always
has all of the rights granted by the five privacy flags. The owner can assign privacy
flags to three categories of users:
! The owner of the group provide rights to only the owner of the group by
specifying a hyphen (-).
! The members of the group provide rights to only the owner and the
members of the group by specifying a lowercase letter.
! Everyone (equivalent to system:anyuser on ACLs) provide rights to
everyone by specifying a capital letter.
6-16 AFS Users Guide
Using Groups Protecting Group-Related Information
To List a Groups Privacy Flags pts examine
You must specify the complete name or AFS UID of each group whose privacy flags
you want to display. At the command shell prompt, type
+
% pts examine -nameorid <user or group name or id>
where user or group name or id specifies the complete name or AFS UID of each
group whose privacy flags are to be displayed.
Example: Listing a Groups Privacy Flags
If terry wants to list the privacy flags for his group terry:dept, he would type
% pts examine terry:dept
Name: terry:dept, id: -567, owner: terry, creator: terry,
membership: 6, flags: S-m--, group quota: 0.
The flags: S-m-- field indicates the following:
! Everyone can obtain status information.
! Group members can list member information.
! Only the owner (terry) can list owners, add members, and remove
members.
To Set the Privacy Flags on a Group pts setfields
You must specify the complete name or AFS UID of each group whose privacy flags
you want to set. At the command shell prompt, type
+
% pts setfields -nameorid <user or group name or id> -access <set privacy flags>
where
user or group name or id
specifies the complete name or AFS UID of each group whose privacy flags
are to be set.
set privacy flags
specifies the privacy flags to be set for each group specified with -nameorid.
Specify the privacy flags according to the following guidelines:
! Specify the flags in the order indicated previously (somar).
! The hyphen is equivalent to lowercase letters for self-owned
group entries, because the members of a self-owned group are
owners of the group.
! Include a letter or hyphen for all five privacy flags except the
first slot (s) which must be a letter.
AFS Users Guide 6-17
Protecting Group-Related Information Using Groups
! Do not type the lowercase o in the second slot. Members of a
group are automatically the owners of any groups owned by the
group, so the lowercase o is equivalent to the hyphen in this slot.
! Do not type the uppercase A in the fourth slot or an uppercase R
in the fifth slot; these flags would allow anyone to add or remove
users from the group.
Note: Do not use this command to change the group quota for a group; a group cannot
create another group.
Example: Setting the Privacy Flags on a Group
Suppose terry wants to allow the following access to information about his group
terry:dept:
! S to allow everyone to list status information about terry:dept.
! O to allow everyone to list the groups owned by terry:dept.
! m to allow the members of terry:dept to list their fellow members.
! - to allow only terry to add members.
! - to allow only terry to remove members.
He would type
% pts setfields terry:dept -access SOm--
The pts examine command can then be used to display the privacy flags for the group.
% pts examine terry:dept
Name: terry:dept, id: -567, owner: terry, creator: terry,
membership: 6, flags: SOm--, group quota: 0.
6-18 AFS Users Guide
Using Groups Changing a Groups Owner or Name
6.7. Changing a Groups Owner or Name
You can use the following commands to change the owner or name of a group:
! Use the pts chown command to change the owner of a command.
! Use the pts rename command to change the name of a group.
You must own a group (or be a member of system:administrators) to change the owner
or name of a group. You can change the owner of a group to another user, another
group, or the group itself. If you are going to transfer ownership of a group and you
wish to be a member of the group, make sure to add yourself to the group before you
relinquish ownership.
The pts chown command automatically changes the owner-name prefix of the group
name to the new owner. If the new owner is a group, only the owner-name from the
name of the new owner group is included in the owner-name field. The command does
not, however, automatically change the owner-name prefixes of any groups that the
group owns. (See the examples below for clarification.)
The pts rename command is typically used to change only the group-name (the part
that follows the colon). A groups owner-name can be changed only if the owner of the
group has been changed.
To Change a Groups Owner pts chown
You must type both the complete name of the group whose owner is to change and the
name of the user or group that is to own it. At the command shell prompt, type
% pts chown -name <group name> -owner <new owner>
where
group name
specifies the complete name of the group whose owner is to be changed to
the user or group specified with -owner.
new owner
specifies the user name of the user or the complete name of the group that is
to own the group specified with -name.
Example: Changing a Groups Owner to Another User
Suppose pat is leaving the system and terry wants to assume administration of the
group pat:staff, of which pat is the current owner. Before leaving, pat can make terry
the owner of pat:staff by typing
% pts chown pat:staff terry
AFS Users Guide 6-19
Changing a Groups Owner or Name Using Groups
The pts examine command can be used to display ownership information about the
group.
% pts examine terry:staff
Name: terry:staff, id: -534, owner: terry, creator: pat,
membership: 15, flags: SOm--, group quota: 0.>
Not only is terry the new owner, but the name of the group has changed to terry:staff.
However, the names of any groups owned by terry:staff (the former pat:staff) remain
pat:group-name.
Example: Changing a Groups Owner to Itself
The user terry could make terry:dept a self-owned group by typing
% pts chown terry:dept terry:dept
The pts examine command can be used to list ownership information about the group.
% pts examine terry:dept
Name: terry:dept, id: -678, owner: terry:dept, creator: pat,
membership: 6, flags: SOm--, group quota: 0.
In this case, the name of the group does not change because the owner prefix of the
new owner group is also terry. If terry then decides that smith:cpa should own
terry:dept, he would type
% pts chown terry:dept smith:cpa
Displaying information about the group with the pts examine command shows that the
owner-name of the groups name is now smith.
% pts examine smith:dept
Name: smith:dept, id: -678, owner: smith:cpa, creator: pat,
membership: 15, flags: SOm--, group quota: 0.
The group name changed to smith:dept, because the owner-name of the new owner
group is smith.
To Change a Groups Name pts rename
You must specify the complete versions of the groups current and new names. At the
command shell prompt, type
% pts rename -oldname <old name> -newname <new name>
where
old name specifies the complete name of the group whose name is to be changed.
new name
specifies the complete name the group is to receive.
6-20 AFS Users Guide
Using Groups Changing a Groups Owner or Name
Example: Changing a Groups Name with the Same Owner
Suppose terry decides that the group terry:dept should be called terry:cpa. He would
type
% pts rename terry:dept terry:cpa
Note that terry appeared before the colon in both the old name and the new name, even
though that field did not change; the pts chown command would need to be used to
change the owner of the group before the owner-name of the group could be changed.
The groups new name can now be specified with the pts examine command.
% pts examine terry:cpa
Name: terry:cpa, id: -678, owner: terry:cpa, creator: pat,
membership: 15, flags: SOm--, group quota: 0.
Example: Changing a Groups Name with a Different Owner
Suppose the group pat:staff owned a group named pat:plans. The name of the group
pat:staff changed to terry:staff when terry became the owner of the group. However,
the name of pat:plans, which is now owned by terry:staff, did not change accordingly.
To change its name, terry could type
% pts rename pat:plans terry:plans
This command is possible because the owner group of terry:plans (terry:staff) has terry
as its owner-name prefix. The command could also have been used to change the name
from plans to something else at the same time. The pts examine command can be used
to list information about the group, which is now named terry:plans.
% pts examine terry:plans
Name: terry:plans, id: -678, owner: terry:dept, creator: pat,
membership: 6, flags: SOm--, group quota: 0.
AFS Users Guide 6-21
Troubleshooting
6-22 AFS Users Guide
Troubleshooting
Replace this page with the tab separator for
Troubleshooting
AFS Users Guide
-2 AFS Users Guide
7. Troubleshooting
This chapter discusses some of the more common problems you may encounter when
you work in AFS and some typical ways of solving these problems. To use this
section, find the heading that corresponds to the problem you are having or the error
message you received and follow the directions. If you have problems with any of
these steps, talk with your system administrator.
This chapter includes the following sections:
Section 7.1 Problem: Cannot Save a File . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Section 7.2 Problem: Cannot Access a Directory or File . . . . . . . . . . . . . 7-4
Section 7.3 Problem: Cannot Copy a File . . . . . . . . . . . . . . . . . . . . . . . . 7-6
Section 7.4 Problem: Accidental Removal from an ACL . . . . . . . . . . . . 7-8
Section 7.5 Problem: Cannot Execute Commands . . . . . . . . . . . . . . . . . . 7-9
Section 7.6 Problem: Cannot Grant Access to a Directory . . . . . . . . . . . 7-11
Section 7.7 Diagnosing Common Error Messages . . . . . . . . . . . . . . . . . . 7-12
AFS Users Guide 7-1
Problem: Cannot Save File Troubleshooting
7.1. Problem: Cannot Save File
Step 1: If you cannot save a file, check if the file servers are running by issuing
the fs checkservers command (see section 4.3):
% fs checkservers &
! If the output reads
These servers are still down: fileserver_x
then you should check to see if the file you are attempting to save
is on the downed file server by running the fs whereis command
(see section 4.2):
+
% fs whereis [-path <dir/file path> ]
If your file is on a downed file server (for example, fileserver_x),
then you must wait until that file server is running again before
you can save the file. If it is not on a downed file server, refer to
the next step.
! If the output reads
All servers are running.
then a file server crash is not the cause of your problem; refer to
the next step.
Step 2: If all relevant file servers are running, check to make sure you have
valid tokens by issuing the tokens command (see section 3.1.2):
% tokens
! If your tokens are invalid for this cell, expired, or non-existent,
you must authenticate by issuing the klog command (see section
3.1.2):
% klog
! If your tokens are valid, refer to the next step.
Step 3: If the file servers are running and you have tokens, you should check to
see if you have exceeded your volume quota by issuing the fs quota
command (see section 4.1). You cannot save a file if the new file will
put the underlying volume over its volume quota.
+
% fs quota [-path <dir/file path> ]
! If your volume quota is above 95% used, you may be exceeding
your quota when you attempt the save. You should delete
unnecessary files or ask your system administrator to increase
your quota.
! If your volume quota is below 95% used, you are probably not
exceeding your quota (unless you are attempting to save a very
big file or you have a very small quota). Refer to the next step.
7-2 AFS Users Guide
Troubleshooting Problem: Cannot Save File
Step 4: Although you have not exceeded your volume quota, the partition that
houses the volume containing the destination directory of the file copy
may have exceeded its quota. Issue the fs listquota command to find
out (see section 4.1):
+
% fs listquota [-path <dir/file path> ]
! If the partition is full (near 99%), contact your system
administrator immediately.
! If the partition is not full, refer to the next step.
Step 5: If you have room to save the file, check to make sure that you have the
required rights to save the file (that is, the WRITE right to save an
existing file, the WRITE and INSERT rights to save a new file). Use the
fs listacl command (see section 5.4):
% fs listacl [-path <dir/file path>]
! If you do not have the necessary rights, contact the owner of the
directory or the system administrator to get the necessary access
rights; you automatically have ADMINISTER rights on your home
directory and its subdirectories.
Note: Remember, if you are granted new access rights, you will
need to re-authenticate (issue klog) to use those new rights.
! If you have the necessary rights, contact your system
administrator. He or she has additional tools that may solve your
problem.
AFS Users Guide 7-3
Problem: Cannot Access a Directory or File Troubleshooting
7.2. Problem: Cannot Access a Directory or File
Step 1: If you cannot access a directory or file, check if the file servers are
running by issuing the fs checkservers command (see section 4.3):
% fs checkservers &
! If the output reads
These servers are still down: fileserver_x
then you should check to see if the directory or file you are
attempting to access is on a downed file server by running the
fs whereis command (see section 4.2):
+
% fs whereis [-path <dir/file path> ]
If your directory or file is on a downed file server (for example,
fileserver_x), then you must wait until that file server is running
again before you can access it. If it is not on a downed file
server, refer to the next step.
! If the output reads
All servers are running.
then a file server crash is not the cause of your problem; refer to
the next step.
Step 2: If all relevant file servers are running, check to make sure you have
valid tokens by issuing the tokens command (see section 3.1.2):
% tokens
! If your tokens are invalid for this cell, expired, or non-existent,
you must authenticate by issuing the klog command (see section
3.1.2):
% klog
! If your tokens are valid, refer to the next step.
Step 3: Check to make sure that you have the required rights to access the
directory or file by issuing the fs listacl command. You must have
LOOKUP rights on a directorys ACL to access the files and
subdirectories in any way. You automatically have ADMINISTER rights
on your home directory and its subdirectories. (See section 5.2 for
information on the other rights.)
% fs listacl [-path <dir/file path>]
! If you do not have the necessary rights, contact the owner of the
directory or the system administrator to get the necessary access
rights.
Note: Remember, if you are granted new access rights, you will
need to re-authenticate (issue klog) to use those new rights.
7-4 AFS Users Guide
Troubleshooting Problem: Cannot Access a Directory or File
! If you have the necessary rights, contact your system
administrator. He or she has additional tools that may solve your
problem.
AFS Users Guide 7-5
Problem: Cannot Copy a File Troubleshooting
7.3. Problem: Cannot Copy a File
Step 1: If you cannot copy a file, check if the file servers are running by
issuing the fs checkservers command (see section 4.3):
% fs checkservers &
! If the output reads
These servers are still down: fileserver_x
then you should check to see which file servers store the
directories you want to copy to and from by by issuing the
fs whereis command (see section 4.2):
+
% fs whereis [-path <dir/file path> ]
If either directory is on a downed file server (for example,
fileserver_x), then you must wait until that file server is running
again before you can copy the file. If neither directory is on a
downed file server, refer to the next step.
! If the output reads
All servers are running.
then a file server crash is not the cause of your problem; refer to
the next step.
Step 2: If all relevant file servers are running, check to make sure you have
valid tokens by issuing the tokens command (see section 3.1.2):
% tokens
! If your tokens are invalid for this cell, expired, or non-existent,
you must authenticate by issuing the klog command (see section
3.1.2):
% klog
! If your tokens are valid, refer to the next step.
Step 3: If the file servers are running and you have tokens, you should check to
see if you have exceeded your volume quota in the directory you are
copying the file to by issuing the fs quota command (see section 4.1).
You cannot copy a file if the copy will put you over your volume
quota.
+
% fs quota [-path <dir/file path> ]
! If your volume quota is above 95% used, you may be exceeding
your quota when you attempt the copy. You should delete
unnecessary files or ask your system administrator to increase
your quota.
! If your volume quota is below 95% used, you are probably not
exceeding your quota (unless you are attempting to copy a very
big file or you have a very small quota). Refer to the next step.
7-6 AFS Users Guide
Troubleshooting Problem: Cannot Copy a File
Step 4: Although you have not exceeded your volume quota, the partition that
houses the volume containing the copy destination directory may have
exceeded its quota. Issue the fs listquota command to find out (see
section 4.1):
+
% fs listquota [-path <dir/file path> ]
! If the partition is full (near 99%), contact your system
administrator immediately.
! If the partition is not full, refer to the next step.
Step 5: If you have room to copy the file, check to make sure that you have the
required rights to copy the file (that is, the READ right on the source
directory, the INSERT right on the destination directory). Use the fs
listacl command (see section 5.2):
% fs listacl [-path <dir/file path>]
! If you do not have the necessary rights, contact the owner of each
directory or the system administrator to get the necessary access
rights. You automatically have ADMINISTER rights on your home
directory and its subdirectories.
Note: Remember, if you are granted new access rights, you will
need to re-authenticate (issue klog) to use those new rights.
! If you have the necessary rights, contact your system
administrator. He or she has additional tools that may solve your
problem.
AFS Users Guide 7-7
Problem: Accidental Removal from an ACL Troubleshooting
7.4. Problem: Accidental Removal from an ACL
Step 1: If you accidentally removed yourself from an ACL, check the ACL to
see if you have any remaining rights by issuing the fs listacl command
(see section 5.2). You must have the LOOKUP right in order to issue
this command or list the contents of a directory.
% fs listacl [-path <dir/file path>]
! If the output reads
fs: You dont have the required access
rights on .
or
Access list for <dir/file path> is
then you do not have the necessary rights, contact the owner of
the directory or the system administrator to get the necessary
access rights. You automatically have the ADMINISTER right on
your home directory and its subdirectories, so if you remove
yourself you can always restore your access rights. Refer to the
next step.
Note: Remember, if you are granted new access rights, you will
need to re-authenticate (issue klog) to use those new rights.
! If you have the necessary rights, contact your system
administrator. He or she has additional tools that may solve your
problem.
Step 2: If you do not have the necessary access rights to your home directory
or one of its subdirectories, you can always add the rights. If someone
else owns the directory, the owner or a system administrator will need
to add the rights. Use the fs setacl command (see section 5.2):
+ +
% fs setacl -dir <directory> -acl <access list entries>
Note: If you are restoring your own rights to a directory from which
you removed all rights, you will need to specify the full pathname of
the directory because without the LOOKUP right, pathname
abbreviations are not valid.
7-8 AFS Users Guide
Troubleshooting Problem: Cannot Execute Commands
7.5. Problem: Cannot Execute Commands
Step 1: If you cannot execute a command, you must first determine the
directory location of that command by issuing the UNIX which
command:
% which <command>
! If the output reads
<command>: Command not found
then the file server(s) containing this command may be down;
refer to the next step.
! If the output reads
/<pathname>/command
then refer to the next step.
Step 2: Check if the file servers are running by issuing the fs checkservers
command (see section 4.3):
% fs checkservers &
! If the output reads
These servers are still down:
fileserver_x
fileserver_y
then you should check to see if the command you are attempting
to execute is on the downed file server by running the fs whereis
command (see section 4.2) and specifying the pathname
containing the command you want to execute:
+
% fs whereis [-path <dir/file path> ]
If all of the file servers containing the command are down (for
example, fileserver_x and fileserver_y), then you must wait until
at least one of the file servers is running again before you
execute the command. If at least one of the file servers
containing the command is running, refer to the next step.
! If the output reads
All servers are running.
then a file server crash is not the cause of your problem; refer to
the next step.
Step 3: If at least one relevant file server is running, check to make sure you
have valid tokens by issuing the tokens command (see section 3.1.2):
% tokens
! If your tokens are invalid for this cell, expired, or non-existent,
you must authenticate by issuing the klog command (see section
3.1.2):
AFS Users Guide 7-9
Problem: Cannot Execute Commands Troubleshooting
% klog
! If your tokens are valid, refer to the next step.
Step 4: If the file servers are running and you have tokens, you should check to
see if you have the required access rights to the directory containing the
command. You must have LOOKUP and READ rights on a directorys
ACL to execute the commands the directory contains. Use the fs
listacl command (see section 5.2):
% fs listacl [-path <dir/file path>]
! If you do not have the necessary rights, contact the owner of the
directory or the system administrator to get the necessary access
rights.
Note: Remember, if you are granted new access rights, you will
need to re-authenticate (issue klog) to use those new rights.
! If you have the necessary rights, refer to the next step.
Step 5: Check if your path variable contains the commands path by using the
UNIX echo command:
echo $PATH
! If your path does not contain the commands path, you should
add it to the path variable definition. Talk with your system
administrator if you do not now how to do this.
! If your path contains the commands path, see you system
administrator. He or she has other tools that may solve your
problem.
7-10 AFS Users Guide
Troubleshooting Problem: Cannot Grant Access to a Directory
7.6. Problem: Cannot Grant Access to a Directory
Step 1: If you cannot grant access to a directory, check if you have the
ADMINISTER right on the ACL of that directory by issuing the fs listacl
command (see section 5.2):
% fs listacl [-path <dir/file path>]
! If you do not have the ADMINISTER right, contact the owner of
the directory or the system administrator to have the necessary
right granted.
Note: Remember, if you are granted new access rights, you will
need to re-authenticate (issue klog) to use those new rights.
! If you have the necessary rights, refer to the next step.
Step 2: If you have the ADMINISTER right but cannot grant access to a
directory, check to make sure you have valid tokens by issuing the
tokens command (see section 3.1.2):
% tokens
! If your tokens are invalid for this cell, expired, or non-existent,
you must authenticate by issuing the klog command (see section
3.1.2):
% klog
! If your tokens are valid, see your system administrator. He or
she has other tools that may solve your problem.
AFS Users Guide 7-11
Diagnosing Common Error Messages Troubleshooting
7.7. Diagnosing Common Error Messages
This section contains information on some of the more common error messages and
suggestions for solving the associated problems.
Error Message: "afs: Lost contact with fileserver"
Check if there is a network problem or if the servers are restarting or rebooting by
issuing the fs checkservers command (see section 4.3):
% fs checkservers &
! If the output reads
These servers are still down:
fileserver_x
fileserver_y
then you must wait until the file servers are back up. You can continue to
work on files in your local cache.
! If the output reads
All servers are running.
then a file server crash is not the cause of your problem; see your system
administrator.
Error Message: "<command>: Connection timed out"
Check if there is a network problem or if the servers are restarting or rebooting by
issuing the fs checkservers command (see section 4.3):
% fs checkservers &
! If the output reads
These servers are still down:
fileserver_x
fileserver_y
then you must wait until the file servers are back up. You can continue to
work on files in your local cache.
! If the output reads
All servers are running.
then a file server crash is not the cause of your problem; see your system
administrator.
7-12 AFS Users Guide
Troubleshooting Diagnosing Common Error Messages
Error Message: "fs: You dont have the required access rights on "."
You do not have any access rights to the current directory. If you feel you should have
access rights, contact the owner of the directory or the system administrator. If you are
the owner of the directory and you accidentally removed yourself from the ACL, see
section 7.4.
Error Message: "afs: failed to store file"
Step 1: Check if you have exceeded your volume quota by issuing the fs quota
command (see section 4.1). You cannot copy or save a file if the new
file causes the affected volume to exceed its quota.
+
% fs quota [-path <dir/file path> ]
! If your volume quota is above 95% used, you may be exceeding
your quota when you attempt the copy or save. You should
delete unnecessary files or ask your system administrator to
increase your quota.
! If your volume quota is below 95% used, you are probably not
exceeding your quota (unless you are attempting to copy or save
a very big file or you have a very small quota). Refer to the next
step.
Step 2: Although you have not exceeded your volume quota, the partition that
houses your volume (and other volumes) may have exceeded its quota.
Issue the fs listquota command to find out (see section 4.1):
% fs listquota
! If the partition is full (near 99%), contact your system
administrator immediately.
! If the partition is not full, see your system administrator. He or
she has other tools that may solve your problem.
AFS Users Guide 7-13
Appendix A: Command Reference
7-14 AFS Users Guide
Appendix A: Command Reference
Replace this page with the tab separator for
Appendix A: Command Reference
AFS Users Guide
-2 AFS Users Guide
Appendix A. Command Reference
This chapter describes in detail the AFS commands presented in the AFS Users Guide.
It is intended for advanced AFS users. It does not contain explanations or procedures.
If you have further questions, contact your System Administrator or refer to the AFS
System Administrators Guide.
AFS Users Guide A-1
About the fs Commands Command Reference
A.1. AFS Command Reference Entries
Each entry in this chapter contains the following components:
! COMMAND NAME and a brief description of the commands function
appears on the first line.
! COMPLETE COMMAND SYNTAX, specifying the required order for all
arguments and flags, appears on the second line. The syntax matches the
online help and uses the symbols described on page 2-2.
! ACCEPTABLE ABBREVIATIONS/ALIASES lists the shortest legal abbreviation
for the commands operation code and switches. If the operation code has
an alias, it also appears here. Note that any abbreviations longer than those
shown are also legal.
! DESCRIPTION explains the commands function in detail.
! ARGUMENTS describes the function and required form of each argument
and flag.
! WARNINGS indicates potential complications or damaging (that is,
irreversible) effects of issuing the command. This section appears only
when necessary.
! OUTPUT describes the on-screen output of the command, if any.
! EXAMPLES provides one or more sample commands and resulting output, if
any.
! PRIVILEGE REQUIRED lists the privilege required to perform the command.
! MORE INFORMATION points to related commands.
A.2. About the fs Commands
Some fs commands extend UNIX file system semantics by invoking file-related
functions that UNIX does not provide (setting access control lists, for example). Other
fs commands help users control the performance of the Cache Manager running on
their local client workstation. When using fs commands, pay particular attention to the
kind of privilege required, as it varies from command to command.
A.2.1. Common Arguments and Flags on fs Commands
All fs commands accept the following optional flag. It is listed in the command
descriptions and is described in detail here:
[-help]
This flag has the same function as the fs help command: it prints a commands online
help message on the screen. No other arguments or flags should be provided at the
A-2 AFS Users Guide
Command Reference About the pts Commands
same time as this flag. If they are, this flag overrides them, and the only effect of
issuing the command is that the help message appears.
A.2.2. The Privileges Required for fs Commands
The privileges required for fs commands vary more than those required for commands
in other suites. Pay special attention to the PRIVILEGE REQUIRED section of each
command description.
The necessary privileges for the fs commands in this chapter include:
! Having certain rights on a directorys access control list. For example,
creating and removing mount points requires ADMINISTER, INSERT, and
DELETE rights for the directory in which the mount point resides.
! Belonging to the system:administrators group in the Protection Database.
See the fs delete command for an example.
! No privilege. Many fs commands simply list information and so do not
require any special privilege.
A.3. About the pts Commands
The pts command interface allows system administrators and regular system users to
create, modify, and delete entries in the Protection Database by interacting with the
Protection Server. Members of system:administrators can manipulate any user,
machine, or group entry. Regular users may manipulate the group entries they own or
for which they have the necessary privileges. Consult each command description to
learn about necessary privileges.
A.3.1. File and Directory Protection under AFS
AFS augments and refines the standard UNIX scheme for controlling access to files and
directories. Instead of relying only on the mode bits that define access rights for
individual files, AFS associates an access control list (ACL) with each directory. The
ACL lists the user and group access rights to the files in the associated directory. Each
ACL applies to all of the files in its associated directory. Using ACLs allows AFS to
define seven rights rather than just the standard three. (It is still possible to set the
mode bits, but AFS interprets them in a different way; see the chapter on protection in
the AFS System Administrators Guide for details.)
Another refinement to the standard UNIX protection scheme is that users can define
their own protection groups and then place the groups on ACLs as though they were
individual users. This makes it easy to assign the same rights to many people
simultaneously. Groups make it possible to add someone to many ACLS by adding
AFS Users Guide A-3
About the pts Commands Command Reference
them to a group that already exists on those ACLs (and it is just as easy to remove
someone the same way). Machines can also be members of a group. When logged into
a machine that is a member of a group, a user is given all of the access rights of that
group.
A.3.2. The Protection Database
The Protection Database contains the data required to protect the files and directories in
AFS file space. The majority of the pts commands are used to access or edit the
information in these the Protection Database. A listing of the fields that make up each
record in the Protection Database follows:
! name. For users, this is the character string typed when logging in. For
machines, the name is the IP (Internet Protocol) address (or range of IP
addresses specified with wild cards) corresponding to the machine (or
group of machines).
For groups, there are two different styles of names: regular and
prefix-less. Regular group names have two parts, separated by a colon.
The first part, the owner-name field, specifies the owner of the group. The
second part, the group-name field, is the name of the group, as chosen by
the creator. In a more graphic form
owner-name:group-name
Prefix-less group do not have the owner-name field or the colon. Only
members of the system:administrators group are allowed to create prefix-
less groups.
! AFS UID. This is a unique identification number that the AFS server
processes use internally. It is similar in function to a UNIX UID, but
operates in the AFS file system rather than the UNIX file system. Users and
machines have positive integer AFS UIDs, and groups have negative
integer AFS UIDs.
Normally, the Protection Server assigns AFS UIDs automatically when
creating entries. As a member of the system:administrators group, you can
specify the AFS UID for a user, machine, or group entry as you create it,
and can manipulate the counters used in automatic allocation. See the
pts listmax and pts setmax commands for more information about the
AFS UID counters.
! owner. This is the user or group that owns the entry (that is, is allowed to
make changes to various aspects of an entry like its ownership, name, list
of groups/members, etc.,) or delete it entirely. The owner cannot
necessarily change the group-creation quota, unless he or she is a member
of system:administrators.
As a member of the system:administrators group, you have total
administrative control over every entry in the Protection Database, even if
you are not the owner. See the discussion of the pts setfields command
for more information.
A-4 AFS Users Guide
Command Reference About the pts Commands
! creator. The name of the user who originally created the entry using the
pts createuser and pts creategroup command. This field is mainly useful
as an audit trail, and cannot be changed.
! membership count. For users and machines, this indicates how many
groups the user/machine belongs to. For groups, it indicates how many
members belong to the group. This number cannot be set explicitly.
! privacy flags. This field indicates who is allowed to list certain
information about the entry or change it in certain ways. See the
discussion of the pts examine and pts setfields commands for more
information.
! group-creation quota. This field indicates how many groups a user is
allowed to create. It is set to 20 at the time each user or machine entry is
created. The creation quota for machines is meaningless because it is not
possible to authenticate as a machine. The quota is also meaningless for
groups and should have the value 0.
Only members of system:administrators may reset a group-creation quota
using the pts setfields command. The most common reason is to grant
additional quota to a user who has exhausted the original quota of 20, but
you may also use it to set a lower quota.
! membership list. For users and machines, this lists all the groups they
belong to. The system-defined groups system:anyuser and
system:authuser do not appear.
For groups, this lists all the members of the group. Groups may not be
members of other groups. This information is not available for the system-
defined groups system:anyuser and system:authuser.
! groups owned. This records all the group entries that this user or group
owns. A group may own another group. A machine may theoretically
own a group, but this provides no additional functionality.
A.3.3. The Standard System Groups
In addition to the groups that users and administrators can create, AFS defines three
standard groups:
! system:anyuser. This group is unusual in that it has no stable membership.
Instead, its membership changes as people attempt to access files in the
cells file tree. It includes everyone able to access the local cell,
authenticated or not, including people who have logged into a local
machine as "root," or AFS users from foreign cells who have telnetted to a
local machine.
! system:authuser. This group also lacks a stable membershipits
membership changes as people authenticate and unauthenticate in the local
cell. It includes everyone who is currently authenticated (has a valid
token) in the cell. This means that they have proved their identities to the
Authentication Server by providing the correct passwords, either during
login or by issuing the klog command at another time.
AFS Users Guide A-5
About the pts Commands Command Reference
! system:administrators. This group includes the few users authorized to
administer the cell. Members of this group have implicit ADMINISTER
rights on the ACL of every directory in the system. Only members of
system:administrators can issue privileged pts commands. Because of the
extensive power granted by membership in this group, it is recommended
that only a few high-level administrators be included in this group.
When the Protection Server initializes the Protection Database for the first time in a
cell, it automatically creates entries for these groups in the Protection Database and
allocates them AFS UIDs. (The IDs assigned are standard and should not be altered,
although they may be examined with pts examine.) The counter that the Protection
Server uses when allocating AFS UIDs is set beyond these standard IDs so that there
will be no conflict when other groups are created later.
In addition to having no stable membership, the system:anyuser and system:authuser
groups are unique in other ways. It is not possible to use pts adduser to add members
to these groups, nor can their membership be listed with pts membership. Like other
groups, these two can appear on ACLs, which provides a convenient way to allow all
users (or all authenticated users) certain rights on a directory. As each AFS volume is
created, the ACL on its root directory is set to grant READ and LOOKUP rights to
system:anyuser.
The system:administrators group does have a stable membership, which only current
members of it may alter. The person who installs a cells first file server machine
should add himself or herself to this group or create a "dummy" administrative account
while the Protection Server is still running in "no authorization checking" mode. See
the AFS Installation Guide for details. It is possible to place system:administrators on
ACLs, but that is generally not necessary because members of this group have implicit
ADMINISTER rights on every directory.
A.3.4. Common Arguments and Flags used by pts Commands
All pts commands accept optional arguments and flags. They are listed in the
command descriptions and are described here in detail:
[-cell <cell name>]
This argument indicates that the command should be run in the cell specified by cell
name. The issuer may abbreviate cell name to the shortest form that distinguishes it
from the other cells listed in /usr/vice/etc/CellServDB on the client machine on which
the command is issued. By default, commands are executed in the local cell as defined
! First, by the value of the environment variable AFSCELL. (This variable
is normally undefined. If you are working in another, non-local cell for an
extended period of time, you may want to define AFSCELL to be the name
of that cell.)
A-6 AFS Users Guide
Command Reference About the pts Commands
! Second, in /usr/vice/etc/ThisCell on the client machine on which the
command is issued.
[-noauth]
This flag instructs the Protection Server not to authenticate the user of the command,
and thus establishes an unauthenticated connection between the user and the Protection
Server (the user is recognized as the unprivileged user anonymous). It is useful only
when authorization checking is disabled on the file server machine (during the
installation of a file server machine or when bos setauth has been used during other
unusual circumstances). In normal circumstances, the Protection Server allows only
authorized (privileged) users to issue commands that change the status of a server or
configuration file, and will refuse to perform such an action even if the -noauth flag is
used.
[-test]
This flag directs the pts command interpreter to refer to the CellServDB file in
/usr/afs/etc, not /usr/vice/etc, where it normally would. This is useful when a developer
is testing the Protection Server by running an isolated instance on his or her own
workstation. By including only that workstation (which is not a database server
machine for the cell) in /usr/afs/etc/CellServDB and then using this flag, the developer
makes sure that the test does not affect the real Protection Server and Database in use in
the remainder of the cell.
[-force]
This flag directs the pts command interpreter to continue executing the command, if
possible, even if it encounters problems during the commands execution. The
command interpreter performs as much of the requested operation as possible, rather
than aborting if it encounters a problem. The command interpreter reports any errors it
encounters during the commands execution. This flag is especially useful if you list
many arguments with a commands switch; if one of the arguments is invalid, the
command reports the error and proceeds with the remaining arguments.
[-help]
This flag has the same function as the pts help command: it prints the commands
online help message on the screen. No other arguments or flags should be provided at
the same time. Even if they are, this flag overrides them, and the only effect of issuing
the command is that the help message appears.
A.3.5. Privileges Required for pts Commands
To issue most of the pts commands on a user or group Protection Database entry, the
user issuing the command must have the required privileges. The exact privileges
required, as well as any conditions that must be met, are listed in the PRIVILEGE
AFS Users Guide A-7
About Non-Command Suite Commands Command Reference
REQUIRED section of each pts command listed in this chapter. Below is a summary of
privilege requirements.
Members of the system:administrators group are permitted to issue privileged pts
commands and use privileged command arguments on all user and group Protection
Database entries. (Only someone who already belongs to system:administrators may
add a user to the system:administrators group. See the pts adduser command.)
Regular users (that is, user that are not members of system:administrators) can always
list the information associated with the group entries they own, as well as, their own
user entries. Regular users are not permitted to use certain commands and command
arguments reserved for members of the system:administrators group. Depending on
how a group owner has defined the privacy flags field for his or her owned group,
regular users may also be permitted to access and manipulate the Protection Database
entry for that group. (The pts setfields command is used to define the privacy flags
field.)
A.4. About Non-Command Suite Commands
This appendix also contains information on commands not associated with the AFS
command suites (that is, fs, pts, etc.) These commands are used for a wide variety of
purposes including logging in, authenticating, and unauthenticating. The commands
described include
klog
knfs
kpasswd
pagsh
tokens
unlog
A-8 AFS Users Guide
Command Reference fs apropos
fs apropos show each help entry containing keyword.
fs apropos -topic <help string> [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
fs ap -t <help string> [-h]
DESCRIPTION
Displays the first line of the online help entry for any fs command that has help string
in its name or short description.
ARGUMENTS
-topic specifies the keyword string for which to search. If it is more than a single
word, surround it with double quotes or other delimiters. This argument is
case-sensitive; type help strings for fs commands in lowercase letters.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The first line of a commands online help entry names the command and briefly
describes what it does. The fs apropos command displays that first line for any fs
command where help string is part of the command name or first line.
To see the remaining lines in a help entry, which provide the commands alias (if any)
and syntax, use the fs help command.
EXAMPLES
The following lists all fs commands that have the word "cache" in their operation codes
or short online descriptions:
% fs apropos -topic cache
setcachesize: set cache size
flush: flush file from cache
getcacheparms: get cache usage info
monitor: set cache monitor host address
AFS Users Guide A-9
fs apropos Command Reference
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs help
A-10 AFS Users Guide
Command Reference fs checkservers
fs checkservers check status of file server machines.
fs checkservers [-cell <cell to check>] [-all] [-fast] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
fs checks [-c <cell to check>] [-a] [-f] [-h]
DESCRIPTION
Lists any file server machines in each specified cell that meet two conditions:
1. The Cache Manager has been in contact with the fileserver process
running on the machine, and/or may need to contact it in future.
(Reasons for wanting to contact a file server machine might include
holding a callback from that machine or having locked files on it.)
2. The fileserver process on the machine is not currently responding to
Cache Manager probes (implying that it is not responding to Cache
Manager file requests either).
The Cache Manager constantly maintains a list of file server machines that meet the
first condition, updating it every four to ten minutes by attempting to contact the
fileserver process on each machine in the list. When a process does not respond to the
probe, the Cache Manager marks it as non-functioning. If a machine that previously
did not respond begins to respond again, the Cache Manager erases the "not
functioning" mark.
This command forces the Cache Manager to update its information immediately (rather
than waiting the standard interval). The Cache Manager probes the fileserver process
on the machines in the specified cell that meet the first condition above, records those
that do not respond, and reports the result. If the issuer includes the -fast flag, the
Cache Manager outputs the list it already has at the time the command is issued instead
of probing the machines again.
By default, the Cache Manager probes machines in the local cell only. If the -all flag is
used, it probes all machines (from all cells) that meet the first condition. If a cell name
is specified with -cell, The Cache Manager probes the machines in that cell only. The
fs checkservers command will not use the AFSCELL environment variable.
WARNING
It can take quite a while for this command to produce its entire output if a number of
machines in the Cache Managers list are down when the command is issued. The
delay may occur because after issuing the probe the Cache Manager waits a standard
timeout period before concluding that the fileserver is not responding; this allows for
the possibility of slow cross-network communication. If it is important that the
AFS Users Guide A-11
fs checkservers Command Reference
command shell prompt return quickly, the issuer may wish to put this command in the
background. It is harmless to interrupt the command (with Ctrl-C or another interrupt
signal).
This command is not guaranteed to check the status of all file server machines in a cell.
The Cache Manager probes only those machines that meet the first condition
mentioned earlier.
ARGUMENTS
-cell specifies the complete name of the cell whose file server machines the Cache
manager should probe (shortened forms are not acceptable). Provide this
argument or -all; it may be combined with -fast.
-all causes the Cache Manager to probe all machines that meet the first condition
mentioned earlier. Provide this argument or -cell; it may be combined with
-fast.
-fast tells the Cache Manager to display its current list of down machines, rather
than probing any machines. The displayed output may be up to 10 minutes
old.
-dir is obsolete, but can still be provided on the command line. Previous versions
of this command required a directory argument. If the issuer includes it by
accident, a warning message appears, but the command still executes
correctly.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
If the Cache Manager gets a response from all of the machines that it probes (that is, all
such machines are functioning normally), the output is
All servers are running.
(Remember that this message does not imply that all file server machines in the cell are
running. It reports the status of only those that the Cache Manager tries to probe.)
If a machine fails to respond to the Cache Managers probe within the timeout period,
the output displays its name. The format of a machine name (name in uppercase, name
in lowercase, or Internet address in four-field decimal form) depends on the state of the
local cells name server at the time the command is issued.
EXAMPLES
In the following example, the issuer chooses to see the Cache Managers current list of
down machines that belong to the local cell, rather than waiting for it to probe them
again. The output indicates that all machines responded to the previous probe.
A-12 AFS Users Guide
Command Reference fs checkservers
% fs checks -f
All servers are running.
The following example checks file server machines in all cells that the Cache Manager
has previously contacted. It reports that the machines fs1.transarc.com and
vice3.andrew.cmu.edu did not respond to the machines probe.
% fs checkservers -all &
These servers are still down:
fs1.transarc.com
VICE3.ANDREW.CMU.EDU
The following example checks machines that the Cache Manager has previously
contacted in the athena.mit.edu cell only:
% fs checks athena.mit.edu &
%All servers are running.
PRIVILEGE REQUIRED
None
AFS Users Guide A-13
fs cleanacl Command Reference
fs cleanacl remove obsolete entries from access control list.
+
fs cleanacl [-path <dir/file path> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs cl [-p <dir/file path> ] [-h]
DESCRIPTION
Removes from the access control list of each specified directory or file any entries that
specify a user or group no longer found in the Protection Database. When a user/group
is removed from the Protection Database, its AFS UID appears on access control lists
rather than its name. This command removes such "abandoned" AFS UIDs from
access control lists.
Cleaning access control lists in this way not only keeps them from becoming crowded
with irrelevant information, but also prevents the new possessor of a recycled AFS UID
from obtaining access intended for the former possessor of the ID. (Note that recycling
IDs is not recommended in any case.)
ARGUMENTS
-path specifies a file or directory for which the associated access control list is to be
cleaned. If a filename is specified, the ACL of the files parent directory is
cleaned. If the issuer omits this switch, the current working directory is
assumed.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
If there are no obsolete AFS UIDs on the ACL, the following message appears:
Access list for dir/file path is fine.
Otherwise, the output reports the resulting state of the ACL, following the header:
Access list for dir/file path is now
A-14 AFS Users Guide
Command Reference fs cleanacl
EXAMPLES
In the following example, the user pat cleans the ACL on the current directory and its
subdirectories called reports and sources. The ACLs for the first two have no obsolete
AFS UIDs on them, but sources does.
% fs cl . ./reports ./sources
Access list for . is fine.
Access list for ./reports is fine.
Access list for ./sources is now
Normal rights:
system:authuser rl
pat rlidwka
PRIVILEGE REQUIRED
Issuer must have ADMINISTER rights to the directory; by default, the owner of the
directory and members of system:administrators do.
MORE INFORMATION
fs listacl
AFS Users Guide A-15
fs copyacl Command Reference
fs copyacl copy access control list from one directory to one or more other
directories.
fs copyacl -fromdir <source directory>
+
-todir <destination directory>
[-clear] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs co -f <source directory> -t <destination directory> [-c] [-h]
DESCRIPTION
Copies the access control list (ACL) from the source directory to each destination
directory. The command does not affect entries on the ACL of the source directory. It
affects entries on the ACL of each destination directory as follows:
! If an entry is unique to the ACL of the source directory, it is copied to the
ACL of the destination directory.
! If an entry exists on the ACLs of both directories, it is changed on the ACL
of the destination directory to match the rights granted on the ACL of the
source directory.
! If an entry is unique to the ACL of the destination directory and the -clear
flag is omitted, the entry is not affected.
! If an entry is unique to the ACL of the destination directory and the -clear
flag is included, the entry is removed.
Use the -clear flag to completely replace the ACL of each destination directory with
that of the source directory.
ARGUMENTS
-fromdir specifies the source directory whose ACL is to be copied to each destination
directory. Abbreviated pathnames are interpreted relative to the directory in
which the command is issued. If a filename is provided, the files parent
directory is used as the source directory.
-todir specifies one or more destination directories to receive the ACL from the
source directory. Abbreviated pathnames are interpreted relative to the
directory in which the command is issued. A filename cannot be specified
with this argument.
-clear removes all existing entries from the ACL of each destination directory
before copying the ACL from the source directory. The ACL of each
destination directory is thus completely replaced with the ACL of the source
directory. If the issuer omits this flag, entries that exist on the ACL of a
destination directory but not on the ACL of the source directory are not
affected.
A-16 AFS Users Guide
Command Reference fs copyacl
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
EXAMPLES
The following example uses the fs copyacl command to copy the ACL from the current
directory to the subdirectory named reports. Entries on the ACL of the current
directory are not affected. Because the -clear option is not used, entries on the ACL of
the reports directory that are not on the ACL of the current directory remain unaffected
as well.
% fs la . reports
Access list for . is
Normal rights:
pat rlidwka
smith rlidwk
Access list for reports is
Normal rights:
pat rl
pat:friends rl
Negative rights
jones rlidwka
% fs co . reports
% fs la . reports
Access list for . is
Normal rights:
pat rlidwka
smith rlidwk
Access list for reports is
Normal rights:
pat rlidwka
pat:friends rl
smith rlidwk
Negative rights
jones rlidwka
PRIVILEGE REQUIRED
Issuer must have the LOOKUP right to the source directory and the ADMINISTER right to
each destination directory. To issue the command with a filename used for source
directory, the issuer must have both the LOOKUP and READ rights on the ACL of the
files parent directory.
AFS Users Guide A-17
fs copyacl Command Reference
MORE INFORMATION
fs listacl
fs setacl
A-18 AFS Users Guide
Command Reference fs examine
fs examine show information about volume containing specified directory.
+
fs examine [-path <dir/file path> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs exa [-p <dir/file path> ] [-h]
+
fs listvol [-p <dir/file path> ] [-h]
+
fs lv [-p <dir/file path> ] [-h]
DESCRIPTION
Displays information about the volume containing each specified directory or file. This
information includes the files quota and current size. See the OUTPUT section for a
complete explanation of the information provided. While this command provides the
most information about a volume, the fs listquota and fs quota commands are also
available to display information about a volume.
ARGUMENTS
-path specifies each file and/or directory for which information about the host
volume is desired. Omit this argument to display information about the
volume that contains the current working directory.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The output reports the following information about each volume that contains a
specified directory or file:
! The volume ID number (abbreviated in the output as "vid") of the
volume.
! The volumes name.
! The current "offline" message associated with the volume, as set by a
system administrator using the fs setvol command.
! The current "message of the day" associated with the volume, as set by a
system administrator using the fs setvol command.
! The volumes maximum size quota, in kilobyte blocks.
! Its current size, in kilobyte blocks.
AFS Users Guide A-19
fs examine Command Reference
! The number of kilobyte blocks still available on the disk partition that
houses the volume and the partitions total size.
Note: The partition-related numbers that appear in this output may not always agree
with the corresponding numbers in the output of the standard UNIX df command. The
main reason is that the df output reflects the state of partitions exactly when the
command is issued. The numbers in this commands output may be up to 5 minutes
old, as the Cache Manager polls the File Server for partition information at that
frequency. Another potential difference: the partition size reported by the UNIX df
command includes some reserved space that does not show up in this report of partition
size, and so is likely to be about 10% larger.
EXAMPLES
The following shows the output for the volume user.smith (and the partition
housing it) in the Transarc Corporation cell:
% fs exa /afs/transarc.com/usr/smith
Volume status for vid = 50489902 named user.smith
Current maximum quota is 15000
Current blocks used are 5073
The partition has 46383 blocks available out of 333305
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs listquota
fs quota
fs setquota
A-20 AFS Users Guide
Command Reference fs help
fs help show syntax of specified fs commands or list functional descriptions of all
fs commands.
+
fs help [-topic <help string> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs h [-t <help string> ] [-h]
DESCRIPTION
Displays the first line (name and short description) of every fs commands online help
entry if no help string is provided. For each operation code specified with -topic, it
outputs the entire help entry. See the OUTPUT section.
ARGUMENTS
-topic specifies the operation codes for which syntax is to be provided. If the issuer
omits this argument, the output instead provides a short description of all fs
commands.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The online help entry for each fs command consists of two or three lines:
! The first line names the command and briefly describes what it does.
! The second line displays any aliases the command has (this line does not
appear for every command).
! The final line, which begins with "Usage:," lists the commands
arguments and flags in the prescribed order. Online help entries use the
same symbols (for example, brackets) as the command definitions in this
manual. For an explanation of their meaning, see chapter 2.
AFS Users Guide A-21
fs help Command Reference
EXAMPLES
The following displays the online help entry for the fs setacl command:
% fs help setacl
fs setacl: set access control list
aliases: sa
+
Usage: fs setacl -dir <directory>
+
-acl <access list entries> [-clear] [-negative] [-help]
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs apropos
A-22 AFS Users Guide
Command Reference fs listacl
fs listacl show access control list.
+
fs listacl [-path <dir/file path> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs la [-p <dir/file path> ] [-h]
DESCRIPTION
Displays the access control list (ACL) associated with each directory. It is legal to
provide a filename rather than a directory name for directory, in which case the ACL of
the files parent directory is displayed (because it is not possible to set an ACL for an
individual file, the file is inheriting the ACL from its parent directory). Omit this
argument to display the ACL of the current working directory.
Users who possess the ADMINISTER right on an ACL may change the ACL with the fs
setacl command or copy the ACL from a different directory to it with the fs copyacl
command.
WARNING
The appearance of a user/group on the Negative rights list does not guarantee
that the person is denied those rights. If system:anyuser is granted any rights on the
Normal rights list, a user need only issue unlog to obtain those rights.
ARGUMENTS
-path specifies each file and/or directory for which to display the associated ACL.
If this argument is omitted, the output displays the ACL associated with the
current working directory. If it is a filename, the ACL displayed is
associated with the files parent directory.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The first line of the output names the directory associated with the access control list.
If the issuer used shorthand notation (such as "." for the current directory) when
indicating the directory, it may appear here rather than the full pathname of the
directory.
AFS Users Guide A-23
fs listacl Command Reference
The "Normal rights:" header indicates the list of users who have normal rights to
the directory. Each additional line lists a user/group name and the set of rights the
user/group may exercise. The possible rights and their meanings are listed below:
! r = READ the contents of files in the directory.
! w = WRITE modify the contents of files in the directory.
! l = LOOKUP status information about the files in the directory.
! d = DELETE files from the directory.
! i = INSERT new files into the directory.
! k = LOCK set read or write locks on the files in the directory.
! a = ADMINISTER change the rights on the access control list.
! A, B, C, D, E, F, G, H
By default, these have no meaning to AFS server processes.
Administrators and application programs may assign meanings to them
and place them on ACLs to control access to the directorys contents in
new ways. The letters must be uppercase.
A "Negative rights:" header may appear next, if any negative rights have been
specified for this directory. The format of this list is the same as that of the Normal
rights list. The difference is that each user/group listed is denied rather than granted
the specified rights.
EXAMPLES
The following displays the ACL associated with user pats home directory and its
private subdirectory when the fs listacl command is issued in the home directory:
% fs la . private
Access list for . is
Normal rights:
system:authuser rl
pat rlidwka
pat:friends rlid
Negative rights:
smith rlidwka
Access list for private is
Normal rights:
pat rlidwka
A-24 AFS Users Guide
Command Reference fs listacl
PRIVILEGE REQUIRED
To issue this command with a directory name argument, the issuer must have the
LOOKUP right on the directorys ACL. To issue this command with a filename
argument, the issuer must have both the LOOKUP and READ rights on the ACL of the
files parent directory.
MORE INFORMATION
fs cleanacl
fs copyacl
fs setacl
AFS Users Guide A-25
fs listcells Command Reference
fs listcells show database server machines in cell(s) known to Cache Manager.
fs listcells [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
fs listc [-h]
DESCRIPTION
Formats and displays the Cache Managers kernel-resident list of the database server
machines in its home cell and foreign cells. At each reboot of the workstation, the
Cache Manager copies the contents of /usr/vice/etc/CellServDB into the kernel. It is
possible to modify the kernel-resident list between reboots using fs newcell.
ARGUMENTS
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The output contains a line for each cell for which the kernel has a list of database server
machines. The cell name is followed by a list of its database server machines (referred
to as "hosts"). The format of each machine name (name in uppercase, name in
lowercase, or Internet address in four-field decimal form) depends on the state of the
local cells name server at the time the command is issued.
EXAMPLES
The following shows output for several cells as illustrations of the different formats for
machine names:
% fs listc
Cell transarc.com on hosts fs1.transarc.com fs2.transarc.com
Cell andrew.cmu.edu on hosts VICE11.FS.ANDREW.CMU.EDU
VICE2.FS.ANDREW.CMU.EDU VICE7.FS.ANDREW.CMU.EDU.
Cell athena.mit.edu on hosts 18.80.0.2 orf.mit.edu
A-26 AFS Users Guide
Command Reference fs listcells
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs newcell
AFS Users Guide A-27
fs listquota Command Reference
fs listquota show quota information for the volume containing a file/directory.
+
fs listquota [-path <dir/file path> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs lq [-p <dir/file path> ] [-h]
DESCRIPTION
Displays information about the size and quota of the volume containing each specified
directory or file. See the OUTPUT section for a complete explanation of the information
provided.
ARGUMENTS
-path specifies each file and/or directory for which information about the host
volume is desired. If the issuer omits this argument, the current directory is
assumed.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The output reports the following information about each volume that contains a
specified directory or file:
! The name of the volume.
! Its maximum size quota, in kilobytes.
! Its current size, in kilobytes.
! The percentage of its quota that its current size represents.
! The percentage of the volumes disk partition that is full. This is usually
unrelated to how much of the users quota is used, since it depends on all
the volumes on the partition. A large value may nevertheless prevent a
user from being able to store more data on the partition.
A-28 AFS Users Guide
Command Reference fs listquota
EXAMPLES
The following shows the output for the volume user.smith in the Transarc
Corporation cell:
% fs lq /afs/transarc.com/usr/smith
Volume Name Quota Used % Used Partition
user.smith 15000 5071 34% 86%
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs diskfree
fs examine
fs quota
fs setquota
fs setvol
AFS Users Guide A-29
fs quota Command Reference
fs quota show percent of quota used for volume containing directory/file.
+
fs quota [-path <dir/file path> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs q [-p <dir/file path> ] [-h]
DESCRIPTION
Displays the percent of maximum quota currently used by the volume that contains
each specified directory or file. This is the least informative but quickest fs command
that provides quota information about a volume. The fs examine and fs listquota
commands provide more complete information. Only the system administrator may set
quota.
ARGUMENTS
-path specifies each file and/or directory for which quota information about the host
volume is desired. If the issuer omits this argument, the current directory is
assumed.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The output reports the percent of quota used. It does not name the host volume.
EXAMPLES
The following lists the percent quota used of the volume housing the current working
directory:
% fs quota
17% of quota used.
A-30 AFS Users Guide
Command Reference fs quota
The following lists the percent quota used of both the volume housing the current
working directorys parent directory and the volume housing the directory named
/afs/transarc.com/usr/smith:
% fs quota .. /afs/transarc.com/usr/smith
43% of quota used.
92% of quota used.
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs examine
fs listquota
fs setquota
fs setvol
AFS Users Guide A-31
fs setacl Command Reference
fs setacl sets access control list for a directory.
+ +
fs setacl -dir <directory> -acl <access list entries> [-clear]
[-negative] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+ +
fs sa -d <directory> -a <access list entries> [-c] [-n] [-h]
DESCRIPTION
Puts the specified access list entries on the access control list (ACL) of each specified
directory. Only user and group entries can be placed on an ACL. Machine entries (IP
addresses) cannot be placed directly on an ACL; instead, the machine entry must be
made a member of a group and the group can then be put on the ACL.
WARNING
If the ACL already grants certain rights to a user or group, the rights specified with
access list entries replace them, rather than just being added to them.
Setting negative rights is generally unnecessary and not recommended. Simply
omitting a user or group from the Normal rights list is normally adequate to
prevent access. In particular, note that it is futile to deny rights that are granted to
system:anyuser on the same ACL; all the user needs to do is issue the unlog command
to receive the denied rights.
ARGUMENTS
-dir specifies each directory for which the access control list is to change.
Abbreviated pathnames are interpreted relative to the directory in which the
command is issued.
-acl defines a list of one or more entries, in the following order separated by a
space:
! A user name or group name (in lowercase letters).
! The access right(s) to be associated with the user/group.
This argument is unusual in requiring two parts for each instance. The
accepted abbreviation of each right and the meaning of the right follows:
r READ. Allows the possessor to read the contents of files in the
directory and to "stat" (issue ls -l for) file and subdirectory elements
in the directory.
w WRITE. Allows the possessor to modify the contents of files in the
directory and to change their UNIX mode bits with chmod.
A-32 AFS Users Guide
Command Reference fs setacl
l LOOKUP. Allows the possessor to list the names of files and
subdirectories in the directory (for example, by issuing ls). The
possessor may "stat" (issue ls -l for) the directory itself (but not for
files and subdirectories in it) and may examine the directorys ACL.
d DELETE. Allows the possessor to remove files from the directory.
i INSERT. Allows the possessor to create new files in the directory or
move existing files into it.
k LOCK. Allows the possessor to run programs that need to issue the
"flock" system call on files in the directory.
a ADMINISTER. Allows the possessor to change the directorys ACL.
A, B, C, D, E, F, G, H;
By default, these have no meaning to AFS server processes.
Administrators and application programs may assign meanings to
them and place them on ACLs to control access to the directorys
contents in new ways. The letters must be uppercase.
all all seven standard rights (rlidwka).
none no rights. Removes the user/group from the ACL, but may not
guarantee they have no rights if they belong to groups that remain on
the ACL.
read both r and l.
write all rights except ADMINISTER (rlidwk).
It is legal to mix the individual letters and the words within access list
entries, but not within an individual pairing of user/group and rights.
-clear removes all existing entries on each access control list before placing access
list entries on it. This should be used with caution: if access list entries does
not grant all rights to the owner of the directory, it can become awkward for
the owner to access items in the directory. In particular, not having the
LOOKUP right makes it impossible to resolve the ( . ) and ( . . ) shorthand
from within the directory.
-negativeputs the specified access list entries in the Negative rights section of
each access control list. The user/group is thus explicitly denied the
indicated rights, even if entries on the accompanying Normal rights
section of the access control list grant them rights. However, it is possible to
unlog to obtain rights granted to system:anyuser on the Normal rights
section of the same ACL; see the WARNING above.
This flag affects all directories and access list entries specified. Its use is not
recommended; see the WARNING section above. If the issuer omits this flag,
the access list entries go into the Normal rights section of the access
control list.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
AFS Users Guide A-33
fs setacl Command Reference
EXAMPLES
The following example adds two entries to the Normal rights part of the current
working directorys ACL: the first entry grants READ and LOOKUP rights to
pat:friends, while the other (using the write shorthand) gives all rights except
ADMINISTER to smith.
% fs sa . pat:friends rl smith write
The following shows the effect of the -clear flag on the ACL of the subdirectory
reports by showing the ACL before and after the command is issued:
% fs la reports
Access list for reports is
Normal rights:
system:authuser rl
pat:friends rlid
smith rlidwk
pat rlidwka
Negative rights:
terry rl
% fs sa -clear reports pat all smith write system:anyuser rl
% fs la reports
Access list for reports is
Normal rights:
system:anyuser rl
smith rlidwk
pat rlidwka
The following shows how the -dir and -acl switches are necessary when more than one
directory is specified. The new entry granting READ, LOOKUP, and INSERT rights to
pat:friends is added to the ACL for both the current directory and its public
subdirectory.
% fs sa -d . public -a pat:friends rli
PRIVILEGE REQUIRED
Issuer must have ADMINISTER rights to the directory; the directorys owner and
members of system:administrators always do.
MORE INFORMATION
fs copyacl
fs listacl
A-34 AFS Users Guide
Command Reference fs whereis
fs whereis report name of file server machine(s) housing specified file/directory.
+
fs whereis [-path <dir/file path> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs whe [-p <dir/file path> ] [-h]
DESCRIPTION
Returns the name of the file server machines that house each specified directory or file.
See the OUTPUT section for a description of the information displayed.
ARGUMENTS
-path specifies each file or directory whose location is to be returned. Each
specified file or directory must reside in AFS (not on a local disk). If the
issuer omits this argument, the location of the working directory is returned.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The output includes a line for each specified directory or file. It names the file server
machine on which the volume that houses the specified directory or file resides. A list
of multiple machines indicates that the directory or file is in a replicated volume.
Machine names usually have a suffix indicating their cell membership. If some
question remains, the fs whichcell command names the cell in which a directory or file
resides.
EXAMPLES
The following indicates that the directory /afs/transarc.com resides in a replicated
volume located on both fs1.transarc.com and fs3.transarc.com:
% fs whe /afs/transarc.com
File /afs/transarc.com is on hosts fs1.transarc.com
fs3.transarc.com
AFS Users Guide A-35
fs whereis Command Reference
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs whichcell
fs wscell
A-36 AFS Users Guide
Command Reference fs whichcell
fs whichcell return name of cell to which specified file/directory belongs.
+
fs whichcell [-path <dir/file path> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
fs whi [-p <dir/file path> ] [-h]
DESCRIPTION
Returns the name of the cell in which the volume that houses each indicated directory
or file resides. See the OUTPUT section for a description of the information displayed.
ARGUMENTS
-path specifies each file and/or directory whose cell membership is to be returned.
Each specified directory or file must reside in AFS (not on a local disk). If
the issuer omits this argument, the cell of the working directory is returned.
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The output includes a line for each specified directory or file, naming the cell in which
the directory or file resides.
EXAMPLES
The following shows that the current directory resides in a volume in the Transarc
Corporation cell:
% fs whi
File . lives in cell transarc.com
PRIVILEGE REQUIRED
None
AFS Users Guide A-37
fs whichcell Command Reference
MORE INFORMATION
fs whereis
fs wscell
A-38 AFS Users Guide
Command Reference fs wscell
fs wscell return name of cell to which workstation belongs.
fs wscell [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
fs ws [-h]
DESCRIPTION
Returns the name of the home cell for the workstation from which the command is
issued.
ARGUMENTS
-help prints the online help entry for this command. Do not provide any other
arguments or flags with this one. See section A.2.1 for more details.
OUTPUT
The reported cell name comes from the file /usr/vice/etc/ThisCell on the workstations
local disk.
EXAMPLES
The following results when the fs wscell is issued on a machine in the Transarc
Corporation cell:
% fs wscell
This workstation belongs to cell transarc.com
PRIVILEGE REQUIRED
None
MORE INFORMATION
fs whereis
fs whichcell
AFS Users Guide A-39
kas examine Command Reference
kas examine display information from an Authentication Database entry.
kas examine -name <name of user>
[-admin_username <admin principal to use for authentication>]
[-password_for_admin <admin password>] [-cell <cell name>]
+
[-servers <explicit list of authentication servers> ] [-noauth]
[-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
kas e -na <name of user> [-a <admin principal to use for authentication>]
[-p <admin password>] [-c <cell name>]
+
[-s <explicit list of authentication servers> ] [-no] [-h]
DESCRIPTION
Formats and displays information from the Authentication Database entry for name.
See the OUTPUT section for details.
ARGUMENTS
-name specifies the Database entry from which to display
information.
-admin_username specifies the user name under which the issuer wishes to
perform the command. If the issuer does not provide it,
the current identity is used.
-password_for_admin specifies the issuers password. If provided here, the
password is visible on the screen. If the issuer does not
provide it, it will be prompted for and not be visible on the
screen.
-cell specifies the cell in which to run the command, if not the
local cell.
-servers specifies the database server machine(s) with which to
establish a connection.
-noauth establishes an unauthenticated connection between the
Authentication Servers and issuer, whom they assign the
unprivileged identity anonymous rather than attempting
mutual authentication.
-help prints the online help for this command. Do not provide
any other arguments or flags with this one.
A-40 AFS Users Guide
Command Reference kas examine
OUTPUT
The output reports, in this order:
! The name of the entry.
! One or more status flags, which will only appear if a system administrator
has used the kas setfields command to change a flag from its default value.
A plus sign (+) will separate the flags if more than one appears. The
non-default values which may appear, and their meanings, are:
!
ADMIN. the user is allowed to issue privileged kas commands
(Default: NOADMIN.)
NOTGS. the Ticket Granting Service will refuse to issue tickets to
the user (Default: TGS.)
NOSEAL. the Ticket Granting Service cannot use the contents of this
entrys key field as an encryption key (Default: SEAL.)
NOCPW. the user or server cannot change his/her/its own password
or key (Default: CPW.)
! The word "key" followed by the key checksum in parentheses.
The octal key itself appears only if authorization checking is disabled on
the database server machine to which the kas examine command is
directed with the -servers argument (see the EXAMPLES section). The
reasoning behind this requirement is two-fold. First, it implies that only
someone authorized to issue the bos setauth command or with "root"
access to the database server machines local disk is able to see actual keys
from the Authentication Database. Second, it makes it clear that the
system is in a compromised state of security while keys are being
displayed on the screen. Both turning off authorization checking and
displaying keys on a screen are serious security risks.
In the normal cases when authorization checking is enabled on the
database server machine, a "checksum" appears instead of the key. This is
a decimal number derived by encrypting a constant with the key. In the
case of the "afs" key, this number can be compared to the checksum with
the corresponding key checksum in the output of the bos listkeys
command.
! The date that the user changed his/her own password, indicated as "last
cpw" (which stands for "last change of password")
! The expiration date of the password. If an expiration date appears here, the
user must change his or her password before that expiration date. A
regular user cannot authenticate using an expired password; a system
administrator can get an admin ticket for up to 30 days after expiration. If
there is no expiration date on the password, the entry will say: password
will never expire. The password expiration date is set using the kas
setfields command.
AFS Users Guide A-41
kas examine Command Reference
! The limit on the number of consecutive failed authentication attempts
permitted before the user account will lock. This number is set by the kas
setfields command.
! The lock out time for the user account if the limit on the number of
consecutive failed authentication attempts is exceeded. (This entry will
only appear if there is a limit on the number of failed authentication
attempts.) The lockout time is set by the kas setfields command.
! The lock state of the user account. (This entry will only appear if there is a
limit on the number of failed authentication attempts.) If the account is
locked, the entry will say User is locked until day/date/time. If the
account is not currently locked, the entry will say User is not locked.
A system administrator can unlock a locked account by issuing the kas
unlock command.
! The date on which the entry expires. If this is a user entry, the user will be
unable to authenticate with the Authentication Server after this date.
! The maximum length of time that tickets issued for this entry may be valid
! The date of the last modification to the entry, indicated as "last mod,"
and the user name of the person who issued the modifying command.
Password changes made by the user himself/herself are recorded as "last
cpw" instead.
EXAMPLES
The following shows the privileged user smith examining her own Authentication
Database entry. Note the ADMIN flag, which shows that smith is privileged.
% kas e smith
Password for smith:
User data for smith (ADMIN)
key (0) cksum is 3414844392, last cpw: Thu Dec 23 16:05:44 1993
password will expire: Fri Jul 22 20:44:36 1994
5 consecutive unsuccessful authentications are permitted.
The lock time for this user is 25.5 minutes.
User is not locked.
entry never expires. Max ticket lifetime 100.00 hours.
last mod on Thu Jul 1 08:22:29 1993 by admin
In the following example, the user erz examines her Authentication Database entry to
determine if her account is locked. Sure enough, it is.
% kas e erz
Password for erz:
User data for erz
key (0) cksum is 73829292912, last cpw: Wed Dec 8 11:23:01 1993
password will expire: Sat Jul 9 11:23:01 1994
5 consecutive unsuccessful authentications are permitted.
The lock time for this user is 25.5 minutes.
User is locked until Tue Sep 20 12:25:07 1993
entry expires on never. Max ticket lifetime 100.00 hours.
last mod on Thu Jul 1 08:22:29 1993 by admin
A-42 AFS Users Guide
Command Reference kas examine
In the following an administrator logged in as the privileged user admin uses
bos setauth to turn off authorization checking on the database server machine
db1.transarc.com so that he can look at the key in the afs entry. He enters interactive
mode to open a connection with the Authentication Server on db1.transarc.com only
and uses the -noauth flag to prevent that server from attempting to authenticate him.
% bos setauth db1.transarc.com off
% kas i -servers db1.transarc.com -noauth
ka> examine afs -servers db1.transarc.com
User data for afs
key (12): \357\253\304\352a\236\253\352, last cpw: no date
entry never expires. Max ticket lifetime 100.00 hours.
last mod on Thu Jan 11 14:53:29 1990 by admin
PRIVILEGE REQUIRED
A user may examine his or her own entry. To examine others entries, the issuer must
have the ADMIN flag set in his or her Authentication Database entry.
To look at actual keys, authorization checking must be disabled on the database server
machine with bos setauth, which implies being listed in /usr/afs/etc/UserList; it is not
necessary to have the ADMIN flag in addition.
AFS Users Guide A-43
klog Command Reference
klog authenticate with Authentication Server to obtain token.
klog [-x] [-principal <user name>]
[-password <users password>] [-tmp]
[-cell <cell name>]
+
[-servers <explicit list of servers> ]
[-pipe] [-lifetime <ticket lifetime in hh[:mm[:ss]]>]
[-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
klog [-x] [-pr <user name>] [-pa <users password>] [-t]
+
[-c <cell name>] [-s <explicit list of servers> ]
[-pi] [-l <ticket lifetime in hh[:mm[:ss]]>] [-h]
DESCRIPTION
Authenticates user name in the specified cell. By default, the issuer of the command is
user name. If the issuer of the command successfully identifies users password, he or
she obtains a token accepted by the AFS server processes in that cell. This command
does not change the identity under which the issuer is logged into the local UNIX file
system.
The Cache Manager acting on behalf of user name stores the token in a credential
structure associated with user name. If user name already has a token for the cell, the
token resulting from this command replaces the existing token in the credential
structure.
Note: If you are using the Kerberos version of this command (that is, klog.krb), the
klog command will also write a copy of user names ticket-granting ticket to the /tmp
directory on the local machine. If you have defined the environment variable
KRBTKFILE, the ticket-granting ticket will be written to the directory specified by that
variable.
By default, the token generated by klog is appropriate for the local cell (the one to
which the local machine belongs). The command interpreter contacts an
Authentication Server in the local cell, chosen at random from the list in
/usr/vice/etc/CellServDB, and requests a token for the issuer logged into the local
machine.
Use the -principal argument to acquire a token for a user name other than the name
under which you are identified by the system. Use the -cell argument to acquire a
token for a cell other than the local cell. Use the -servers argument to specify a list of
authentication servers to be used by the command interpreter to obtain the token.
A-44 AFS Users Guide
Command Reference klog
The issuer (or user indicated with -principal) does not have to appear in the local
password file (/etc/passwd or equivalent) to issue this command; in previous versions
of this command, users had to add the -x flag if they did not appear in that file.
During a single login on a given machine, a user can be authenticated in multiple cells
simultaneously; however, a single user can have only one token at a time for a given
cell per login session or machine (that is, he or she can only authenticate under one
identity per cell).
The lifetime of the token resulting from this command is the smallest of the following:
! The lifetime requested by the issuer with the -lifetime argument. If the
issuer does not include this argument, the value defaults to 720 hours (30
days).
! The "maximum ticket lifetime" recorded in the "afs" entry in the
Authentication Database. The default is 100 hours. Administrators can
inspect this value using kas examine, and change it using kas setfields.
! The "maximum ticket lifetime" recorded in the issuers Authentication
Database entry. The default is 25 hours for user entries created by the AFS
3.1 or later versions of the Authentication Server, and 100 hours for user
entries created by the AFS 3.0 version of the Authentication Server.
Administrators and the user himself/herself can inspect this value using
kas examine, and administrators can change it using kas setfields.
! The "maximum ticket lifetime" recorded in the "krbtgt.CELLNAME"
entry in the Authentication Database; this entry corresponds to the ticket-
granting ticket used internally in generating the token. The default is 720
hours (30 days).
If none of these defaults have been changed, then the standard token lifetime is 25
hours for users whose Authentication Database entries were created by the AFS 3.1 or
later version of the Authentication Server, and 100 hours for users whose
Authentication Database entries were created by the AFS 3.0 version of the
Authentication Server. The user can issue klog to request a token with a different
lifetime.
The maximum lifetime for any token is 720 hours (30 days), and the minimum is 5
minutes. Between these values, token lifetimes are not granted on a linear scale; only
certain values are possible.
Lifetimes between 5 minutes and 10 hours 40 minutes are granted at 5 minute intervals,
rounding up. For example, if the issuer requests a lifetime of 12 minutes, the tokens
actual lifetime is 15 minutes.
For token lifetimes greater than 10 hours 40 minutes, consult the following table, which
presents all the possible times in units of hours:minutes:seconds. The number in
parentheses is an approximation of the corresponding time in days and hours (d h). For
example, 282:22:17 means 282 hours, 22 minutes, and 17 seconds, which translates to
approximately 11 days and 18 hours (11d 18h).
AFS Users Guide A-45
klog Command Reference
If the issuer requests a lifetime between two listed values, the tokens lifetime is
rounded up to the next higher value. For example, if 11:24:16 was specified, the klog
command would use 12:11:34.
11:24:15 (0d 11h) 33:14:21 (1d 09h) 96:52:49 (4d 00h) 282:22:17 (11d 18h)
12:11:34 (0d 12h) 35:32:15 (1d 11h) 103:34:45 (4d 07h) 301:53:45 (12d 13h)
13:02:09 (0d 13h) 37:59:41 (1d 13h) 110:44:28 (4d 14h) 322:46:13 (13d 10h)
13:56:14 (0d 13h) 40:37:19 (1d 16h) 118:23:54 (4d 22h) 345:05:18 (14d 09h)
14:54:03 (0d 14h) 43:25:50 (1d 19h) 126:35:05 (5d 06h) 368:56:58 (15d 08h)
15:55:52 (0d 15h) 46:26:01 (1d 22h) 135:20:15 (5d 15h) 394:27:37 (16d 10h)
17:01:58 (0d 17h) 49:38:40 (2d 01h) 144:41:44 (6d 00h) 421:44:07 (17d 13h)
18:12:38 (0d 18h) 53:04:37 (2d 05h) 154:42:01 (6d 10h) 450:53:46 (18d 18h)
19:28:11 (0d 19h) 56:44:49 (2d 08h) 165:23:50 (6d 21h) 482:04:24 (20d 02h)
20:48:57 (0d 20h) 60:40:15 (2d 12h) 176:50:01 (7d 08h) 515:24:22 (21d 11h)
22:15:19 (0d 22h) 64:51:57 (2d 16h) 189:03:38 (7d 21h) 551:02:38 (22d 23h)
23:47:38 (0d 23h) 69:21:04 (2d 21h) 202:08:00 (8d 10h) 589:08:45 (24d 13h)
25:26:21 (1d 01h) 74:08:46 (3d 02h) 216:06:35 (9d 00h) 629:52:56 (26d 05h)
27:11:54 (1d 03h) 79:16:23 (3d 07h) 231:03:09 (9d 15h) 673:26:07 (28d 01h)
29:04:44 (1d 05h) 84:45:16 (3d 12h) 247:01:43 (10d 07h)
31:05:22 (1d 07h) 90:36:53 (3d 18h) 264:06:34 (11d 00h)
WARNING
This command does not create a new PAG (process authentication group); see the
description of the pagsh command in this chapter to learn about PAGs. Users in cells
not using the AFS version of login should issue pagsh before issuing this command, so
that the tokens get stored in a credential structure that is identified by PAG rather than
UNIX UID.
A potential security problem exist when a token is associated with a credential structure
identified by a UNIX UID because anyone logged in as "root" can assume any other
identity by issuing the su command. And when "root" assumes another UNIX UID it
can use use any tokens associated with that UID. Use of a PAG as an identifier
eliminates this problem.
If the issuer entered the current session by issuing the AFS login command, his or her
credential structure is already identified by a PAG. Issuing klog during the same
session creates a new token associated with the existing PAG.
ARGUMENTS
-x appears only for backwards compatibility. Its former function is now the
default behavior of this command, as mentioned in the DESCRIPTION section.
-principal
is the user name under which the issuer wishes to authenticate. By default,
the Authentication Server attempts to authenticate the user logged into the
local machines UNIX file system. This argument allows the issuer to specify
a different user name.
A-46 AFS Users Guide
Command Reference klog
-password
specifies the issuers password (or that of user name if principal is
provided). Use of this argument is strongly discouraged, as it makes the
password visible on the command line. If the issuer omits this argument,
klog prompts for the password and does not echo it visibly:
Password: <users password>
-tmp indicates that a copy of the ticket-granting ticket used to create the token
should be placed in a file on the local machines /tmp directory; the file has
the format /tmp/tktUNIX_UID. (For example for user with UNIX UID 1000,
the file would be named /tmp/tkt1000).
The ticket-granting ticket is an intermediate ticket that the Ticket Granting
Service requires of clients who desire server tickets (the extra level of
indirection increases security). Putting the ticket-granting ticket into /tmp
allows standard Kerberos applications to access it and use it for obtaining
server tickets. If this flag is omitted, the Cache Manager discards the ticket-
granting ticket after it obtains the AFS server ticket. Do not use this flag with
the klog.krb version of this command because, by default, klog.krb
automatically writes the ticket-granting ticket to /tmp.
-cell specifies the cell in which the issuer wishes to authenticate, by directing the
command to that cells Authentication Servers. During a single login on a
given machine, a user may be authenticated in multiple cells simultaneously,
but can have only one token at a time for each of them (that is, can only
authenticate under one identity per cell per machine). The issuer may
abbreviate cell name to the shortest form that distinguishes it from the other
cells listed in /usr/vice/etc/CellServDB on the client machine on which the
command is issued.
If this argument is omitted, the command is executed in the local cell, as
defined
! First, by the value of the environment variable AFSCELL.
! Second, in /usr/vice/etc/ThisCell on the client machine on which
the command is issued.
-servers causes the command interpreter to establish a connection with the
Authentication Server running on each specified database server machine. It
then chooses one of these at random to execute the command. The command
accepts shortened machine names, but exactly which abbreviations are
acceptable depends on the state of the cells name server at the time the
command is issued. This option is useful for testing specific servers if
problems are encountered.
If this argument is omitted, the command interpreter establishes a connection
with each machine listed for the indicated cell in the local workstations copy
of /usr/vice/etc/CellServDB, and then chooses one of those at random for
command execution.
-pipe indicates that the command should run without printing anything on the
screen, including prompts or error messages. The klog command interpreter
Server expects to receive the password from standard input (stdin). The
issuer is discouraged from using this argument; it is for use by application
programs rather than human users.
AFS Users Guide A-47
klog Command Reference
-lifetime indicates the lifetime that the issuer wishes the token to have. The value
provided is considered in the lifetime calculation described in the
DESCRIPTION section, along with the maximum ticket lifetimes mentioned
there.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one.
EXAMPLES
Most often, this command is issued without arguments. The appropriate password is
for the person currently logged into the local UNIX file system. The tickets lifetime is
calculated as described in the DESCRIPTION section above (if no defaults have been
changed, it is 25 hours for a user whose Authentication Database entry was created by
the AFS 3.1 or later version of the Authentication Server, 100 hours for a user whose
Authentication Database entry was created with the AFS 3.0 version).
% klog
Password:
The following allows the issuer working on a machine in the Transarc cell to
authenticate as admin in the Transarc test cell, even though he or she is logged into the
Transarc machine under a different name.
% klog admin -c test.transarc.com
Password: <admins password>
In the following, the issuer requests a ticket lifetime of 104 hours 30 minutes (4 days 8
hours 30 minutes). Presuming that this lifetime is allowed by the maximum ticket
lifetimes and other factors described in the DESCRIPTION section, the token will have an
actual lifetime of 110:44:28, which is the next largest possible value above 104:30:00
(see page A-46).
% klog -life 104:30
Password:
PRIVILEGE REQUIRED
None. An entry for the issuer must exist in the Authentication Database, and the issuer
must supply the correct password.
MORE INFORMATION
login
pagsh
tokens
A-48 AFS Users Guide
Command Reference knfs
knfs enable authenticated access to AFS from an NFS client using NFS/AFS
Translator.
knfs -host <host name> [-id <user ID (decimal)>]
[-sysname <hosts @sys value>] [-unlog] [-tokens]
[-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
knfs -ho <host name> [-i <user ID (decimal)>]
[-s <hosts @sys value>] [-u] [-t] [-he]
DESCRIPTION
Allows a user to authenticate with AFS and work in the AFS file space while working
on an NFS client machine even when using a system type for which AFS binaries are
not available. If AFS defines a system type for the corresponding NFS client, the
authenticated user(s) on that machine will be able to access the AFS file tree and issue
AFS commands (by using the -sysname argument). It AFS does not define a system
type for the NFS client, the authenticated user(s) on that machine will be able to access
the AFS file tree, but will not be able to issue AFS commands.
To properly execute this command, establish a connection to the machine that will act
as the NFS/AFS translator machine for the NFS client machine (host name). Next,
issue the klog command to obtain AFS tokens on the translator machine for every cell
that will be contacted from the NFS client machine. Finally, issue the knfs command
specifying the NFS client machine with the -host argument, and optionally the specific
user who will use the NFS client to access AFS with the -id argument.
Issue this command only over a connection (perhaps established at the console or via
telnet) to the AFS client machine serving as the NFS/AFS translator machine for host
name, never on the NFS client machine itself. The Cache Manager on the translator
machine then uses the credential structure identified by the new PAG (process
authentication group) when accessing AFS on behalf of the issuer working on the NFS
client machine. (If the issuer dos not use the -id argument, he or she may actually be
sharing the credential structure with other users on the NFS client machine; see the
WARNINGS section for details.)
When issued on an NFS/AFS Translator machine, this command creates a PAG
associated with the indicated NFS client machine (host name), and optionally, the user
ID (user ID) that the issuer is using on host name. It associates the issuers existing
AFS token(s) with a new credential structure identified by the new PAG.
The -unlog flag discards the tokens in the credential structure identified by the PAG,
but does not destroy the credential structure itself. The Cache Manager on the
AFS Users Guide A-49
knfs Command Reference
translator machine retains the credential structure until the next reboot, and uses it each
time the issuer accesses AFS through the translator machine. The credential structure
only has tokens in it if the issuer re-issues knfs on the translator machine each time he
or she logs into the NFS client machine.
Users working on NFS client machines of system types for which AFS binaries are
available (and for which the cell has purchased a license) should use klog rather than
the knfs command.
WARNINGS
Although the -id argument is optional, not using it can create potential security
problems and confusion about which users are using which tokens. The security
problems arise because if the issuer does not use -id, then his or her tokens are
associated with a "generic" credential structure identified by a PAG that is associated
only with host name, not with the specific issuer. Every user working on host name
who also does not use the -id argument shares the same generic credential structure and
so uses the issuers tokens. This includes users on host name who do not issue knfs at
all. If another user subsequently issues knfs without -id, his or her tokens replace the
previous issuers tokens in the credential structure, and everyone shares the new tokens
instead. Similarly, when an issuer discards tokens with the -unlog flag and does not
use -id, then everyone using the generic credential structure becomes unauthenticated
at the same time.
The sharing of tokens that result from not using -id is acceptable from a security
standpoint only if
! The host name is used by only one person.
! It is acceptable that all of host names users who do not have their own
credential structure have the same access to AFS files. They should be
aware that they are subject to token sharing.
The DESCRIPTION section mentioned that using the -unlog flag does not destroy the
credential structure, but only discards the tokens associated with it. The Cache
Manager on the translator machine retains the credential structure until the next reboot
and uses it whenever the issuer accesses AFS through the translator machine. One
implication is that once the issuer issues knfs using the -id argument, he or she cannot
use the generic credential structure until the machine is rebooted.
This command does not make it possible for users working on non-supported machine
types to issue AFS commands. This is possible only on NFS clients of a system type
for which AFS is available (and for which the cell has purchased AFS).
A-50 AFS Users Guide
Command Reference knfs
ARGUMENTS
-host names the NFS client machine the issuer is working on. A full name is
safest, but abbreviated forms are acceptable depending on the state of the
cells name server at the time the command is issued.
-id specifies the issuers user ID on the NFS client (a UNIX UID or equivalent),
which NFS passes to the translator machine to identify the user.
-sysnamespecifies the value of the @sys variable if the NFS client machine is running
a defined AFS operating system (that is, one for which AFS binaries are
available). This allows users on NFS client machines using defined system
types to issue AFS commands.
-unlog discards the tokens in the credential structure identified by the PAG
associated with -host and, optionally, -id.
-tokens allows users who do not have access to AFS binaries to obtain information
about their AFS tokens.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one.
EXAMPLES
The following shows a typical use of this command. The issuer smith is working on
nfs-client1.transarc.com and has user ID 1020 on that machine. He is accessing AFS
through the translator machine called translator4.transarc.com. He telnets to
translator4 and uses AFS login as smith in the Transarc cell. He uses klog to obtain
tokens in the Transarc test cell (test.transarc.com) as admin. The knfs command
instructs the Cache Manager on translator4 to associate both tokens with the PAG
identified by nfs-client1 and user ID 1020. He exits the telnet connection and works
normally on nfs-client1.
% telnet translator4.transarc.com
. . .
login: smith
Password:
AFS 3.2 (R) login
% klog admin -c test.transarc.com
Password:
% knfs nfs-client1.transarc.com 1020
% exit
The following shows smith telnetting again to translator4 and discarding his tokens.
% telnet translator4.transarc.com
. . .
login: smith
Password:
AFS 3.2 (R) login
% knfs nfs-client1.transarc.com 1020 -unlog
% exit
AFS Users Guide A-51
knfs Command Reference
PRIVILEGE REQUIRED
The issuer must provide correct password(s) when obtaining tokens on the NFS/AFS
translator machine.
MORE INFORMATION
klog
login (AFS version)
pagsh
A-52 AFS Users Guide
Command Reference kpasswd
kpasswd change password in Authentication Database.
kpasswd [-x] [-principal <user name>]
[-password <users password>]
[-newpassword <users new password>]
[-cell <cell name>]
+
[-servers <explicit list of servers> ]
[-pipe] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
kpasswd [-x] [-pr <user name>] [-pa <users password>]
[-n <users new password>] [-c <cell name>]
+
[-s <explicit list of servers> ]
[-pi] [-h]
DESCRIPTION
Changes password for indicated user in Authentication Database. By default, the
change occurs in the local cells Authentication Database for the user logged into the
local machines UNIX file system.
The issuer (or user indicated with -principal) does not have to appear in the local
password file (/etc/passwd or equivalent) to issue this command; in previous versions
of this command, users had to add the -x flag if they did not appear in that file.
ARGUMENTS
-x appears only for backwards compatibility. Its former function is now the
default behavior of this command, as mentioned in the DESCRIPTION section.
-principal
names the Authentication Database entry in which to change the password.
If this argument is omitted, the change is made to the command issuers
password.
-password
specifies the current password. It is not recommended that the issuer provide
this argument on the command line. If it is omitted, the new password is
prompted for and does not echo visibly:
Old password: <users password>
-newpassword
specifies the new password, which the kpasswd command interpreter
converts into an encryption key (string of octal numbers) before sending it to
the Authentication Server for storage in the users Authentication Database
entry. Unlike the UNIX passwd command, kpasswd does not restrict
passwords to 8 characters; it accepts passwords of virtually any length. All
AFS Users Guide A-53
kpasswd Command Reference
AFS commands that require passwords (klog, the kas suite, kpasswd, and
the AFS version of login) can handle passwords longer than 8 characters, but
some non-AFS programs cannot. This is a consideration if non-AFS
programs handle AFS passwords in the local environment.
It is not recommended that the issuer provide this argument on the command
line. If it is omitted, it is prompted for and does not echo visibly:
New password (RETURN to abort): <new password>
Retype new password: <new password>
-cell specifies the cell in which to change the password, by directing the command
to that cells Authentication Servers. The issuer may abbreviate cell name to
the shortest form that distinguishes it from the other cells listed in
/usr/vice/etc/CellServDB on the client machine on which the command is
issued.
By default, the command is executed in the local cell, as defined
! First, by the value of the environment variable AFSCELL.
! Second, in /usr/vice/etc/ThisCell on the client machine on which
the command is issued.
-servers causes the command interpreter to establish a connection with the
Authentication Server running on each specified database server machine. It
then chooses one of these at random to execute the command. The issuer
may abbreviate the machine name to the extent the cells name server will
accept.
By default, the command interpreter establishes a connection with each
machine listed for the indicated cell in the local workstations copy of
/usr/vice/etc/CellServDB, and then chooses one of those at random for
command execution.
This option is useful for testing specific servers if problems are encountered.
-pipe indicates that the command should run without printing anything on the
screen, including prompts or error messages. The kpasswd command
interpreter expects to receive all necessary arguments, each on a separate line,
from standard input (stdin). The issuer is discouraged from including this
argument; it is for use by application programs rather than human users.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one.
EXAMPLES
The following shows the typical use of this command, when the issuer wishes to
change his or her own password.
% kpasswd
Changing password for user in cell cellname.
Old password:
New password (RETURN to abort):
Verifying, please re-enter new_password:
A-54 AFS Users Guide
Command Reference kpasswd
PRIVILEGE REQUIRED
Issuer must provide correct current password.
MORE INFORMATION
klog
AFS Users Guide A-55
pagsh Command Reference
pagsh create new process authentication group (PAG).
pagsh
DESCRIPTION
Creates a new command shell (owned by the issuer of the command) and associates a
new PAG (process authentication group) with the shell and the user. A PAG is a
number guaranteed to identify the issuer of commands in the new shell uniquely to the
local Cache Manager. The PAG is used, instead of the issuers UNIX UID, to identify
him or her in the credential structure that the Cache Manager creates to track each user.
Any additional tokens issued to the user (presumably for other cells) become associated
with the PAG, rather than with the users UNIX UID. This method for distinguishing
users has two advantages.
! It means that processes spawned by the user inherit the PAG and so share
the token; thus they gain access to AFS as the authenticated user. In many
environments, for example, printer and other daemons run under identities
(such as "root") that the AFS server processes recognize only as
anonymous. Unless PAGs are used, such daemons cannot access files
protected against system:anyuser.
! It closes a potential security loophole: UNIX allows anyone already logged
in as "root" on a machine to assume any other identity by issuing su. If the
credential structure were identified by a UNIX UID rather than a PAG, then
a root user could assume a UNIX UID and use any tokens associated with
that UID. Use of a PAG as an identifier eliminates that possibility.
Note: If you are using the Kerberos version of this command (that is, pagsh.krb), the
PAG credential structure created will support the use of tokens stored in the Cache
Manager kernel and the ticket-granting tickets stored in /tmp (or in the directory
specified by the environment variable KRBTKFILE). This command supports the
placement of ticket-granting tickets by the Kerberos version of the klog (that is,
klog.krb) and login (that is, login.krb) commands.
WARNINGS AND REQUIREMENTS
Each PAG created uses two of the memory slots that the kernel uses to record the UNIX
groups associated with a user. If none of these slots are available, the pagsh command
fails. This is not a problem with most operating systems, which make at least 16 slots
available per user.
Users in cells not using the AFS version of login should issue this command before
issuing klog. If they do not, then the Cache Manager stores the token in a credential
structure identified by UNIX UID rather than PAG. This creates the potential security
loophole described in the DESCRIPTION section.
A-56 AFS Users Guide
Command Reference pagsh
If the command is to be issued on NFS client machines for which AFS is available, the
pagsh binary accessed by the NFS client must be owned by, and grant set user ID
privilege to, "root." The complete set of mode bits should be -rwsr-xr-x. This is
not a requirement when the command is issued on AFS client machines.
EXAMPLES
The following shows the only possible use of the command:
% pagsh
PRIVILEGE REQUIRED
None
MORE INFORMATION
klog
login (AFS version)
tokens
AFS Users Guide A-57
pts adduser Command Reference
pts adduser add users and machines to groups.
+ +
pts adduser -user <user name> -group <group name>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+ +
pts ad -u <user name> -g <group name> [-c <cell name>] [-n] [-t] [-f] [-h]
DESCRIPTION
Makes each specified user and machine entry a member of each specified group name
entry. While there is theoretically no limit to the number of members in a group, the
pts membership command can list no more than 5000 members, even if more exist.
WARNING
The effects of adding a user to a group are not immediate. Before a new user member
of a group gets the access rights of that group, he or she must re-authenticate (issue
klog). As long as a user retains old tokens, he or she retains the access rights acquired
with those tokens.
ARGUMENTS
-user specifies the user name of each user entry and/or the IP address of each
machine entry to be added to each group.
-group specifies the complete group name (including the owner field if applicable)
of each group to which each indicated user and/or machine entry should be
added.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
A-58 AFS Users Guide
Command Reference pts adduser
EXAMPLES
The following adds user smith to system:administrators.
% pts ad smith system:administrators
The following adds user pat to terry:friends and to staff:
% pts ad pat terry:friends staff
The following adds users jones, terry and pat to smith:colleagues. The switches are
necessary because there is more than one instance of the first list-taking argument.
% pts ad -u jones terry pat -g smith:colleagues
The following adds the machine entries in the Transarc Corporation subnet to the group
bin-prot. Because of the IP address range of the Transarc Corporation subnet, the
system administrator was able to group the machines into three machine entries (using
the wildcard scheme discussed under the pts createuser command).
% pts ad 158.98.0.0 192.55.207.0 192.54.226.0 -gr bin-prot
PRIVILEGE REQUIRED
Depends on how the groups fourth privacy flag is set:
! If it is a hyphen, only the groups owner and members of
system:administrators may add members.
! If it is a lowercase a, members of the group may add other members.
! If it is an uppercase A, everyone on the system may add members.
The pts setfields command sets the privacy flags and the pts examine command
displays them.
MORE INFORMATION
pts examine
pts membership
pts removeuser
pts setfields
AFS Users Guide A-59
pts apropos Command Reference
pts apropos show each help entry containing keyword.
pts apropos -topic <help string> [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
pts ap -t <help string> [-h]
DESCRIPTION
Displays the first line of the help entry for any pts command that has help string in its
name or short description.
ARGUMENTS
-topic specifies the keyword string for which to search. If it is more than a single
word, surround it with double quotes or other delimiters. Type all help
strings for pts commands in lowercase letters.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
OUTPUT
The first line of a commands online help entry names the command and briefly
describes what it does. The pts apropos command displays that first line for any pts
command where help string is part of the command name or first line.
To see the remaining lines in a help entry, which provide the commands alias (if any)
and syntax, use the pts help command.
EXAMPLE
The following lists all pts commands that have the word "create" in their operation
code or short online description.
% pts ap create
creategroup: create a new group
createuser: create a new user
PRIVILEGE REQUIRED
None
A-60 AFS Users Guide
Command Reference pts apropos
MORE INFORMATION
pts help
AFS Users Guide A-61
pts chown Command Reference
pts chown change owner of entry in Protection Database.
pts chown -name <group name> -owner <new owner>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
pts ch -na <group name> -o <new owner> [-c <cell name>] [-no] [-t] [-f] [-h]
DESCRIPTION
Changes the owner of group name to new owner, by putting the latter in the owner field
of group names Database entry. The new owner may be either an individual or
another group.
In the case of regular groups, this command automatically changes the owner-name
field (before the colon) of the group name to match new owner. If new owner is itself a
group, then only its owner-name field, not its whole name, is put before the colon in the
new name.
The change in the owner-name field of a regular groups name does not propagate
down to any groups owned by the group. To change the owner names of these groups,
use pts rename.
Note: Although a machine can theoretically own a group entry, this ownership confers
no functionality and is not recommended. All discussion of this command will refer
only to user and group ownership.
ARGUMENTS
-name specifies the current name of the group whose owner is to change.
-owner specifies the name of the user or group which is to become the new owner of
the entry.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
A-62 AFS Users Guide
Command Reference pts chown
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
EXAMPLES
The following shows user terry transferring the ownership of her group terry:friends to
pat. A side effect is that the group name changes to pat:friends.
% pts chown terry:friends pat
The following shows user terry transferring the ownership of her group terry:friends to
the group pat:buddies. A side effect is that the group name changes to pat:friends.
pts chown terry:friends pat:buddies
PRIVILEGE REQUIRED
Issuer must be group names current owner or belong to the system:administrators
group.
MORE INFORMATION
pts rename
AFS Users Guide A-63
pts creategroup Command Reference
pts creategroup create (empty) group entries in Protection Database.
+
pts creategroup -name <group name>
[-owner <owner of the group>]
+
[-id <id (negated) for the group> ] [-cell <cell name>]
[-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
pts cg -na <group name> [-o <owner of the group>]
+
[-i <id (negated) for the group> ] [-c <cell name>] [-no] [-t]
[-f] [-h]
DESCRIPTION
Creates an entry in the Protection Database for each specified group name. The issuer
of the command is recorded as the groups creator. The issuer is also recorded as the
groups owner unless the -owner argument is provided to name a different individual
or a group as the owner. By default, the Protection Server allocates the next available
AFS UID (as determined by the GroupMax counter), but members of
system:administrators can assign a different ID.
Two types of groups can be created: regular and prefix-less; though only a member of
system:administrators may create the latter type. The rules for naming the two types of
groups are discussed in the ARGUMENTS section.
Creating a group lowers the issuers group-creation quota by one. See the pts setfields
or pts examine command for more information.
ARGUMENTS
-name specifies the name of each group. A group name may be up to 63 characters
in length and contain lowercase letters, numbers, and punctuation (except the
colon); uppercase letters are not allowed.
When creating regular groups, group name must have the following format:
owner-name:group-name
The owner-name field must match the true owner of the group, as follows:
! If the issuer does not include the optional -owner argument,
owner-name must match his or her user name.
! If the issuer does use -owner to name an individual, then
owner-name must match the owner of the groups user name.
! If the issuer uses -owner to name a regular group as the owner,
then owner-name must match the owner-name field of the owner
A-64 AFS Users Guide
Command Reference pts creategroup
group. If the issuer uses -owner to name a prefix-less group as
the owner, then owner-name must match the entire owner group
name.
When creating prefix-less groups, the owner-name field is omitted, leaving
only the group-name field; the colon is unnecessary. Only members of
system:administrators can create prefix-less groups.
-owner specifies a user different from the issuer of the command or a group (regular
or prefix-less) that is to own each specified group. If the specified owner is
to be a group, that group must already have at least one member; this
requirement prevents the creator from assigning self-ownership to a group
during its creation.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
EXAMPLES
The following shows pat creating the groups pat:friends and pat:colleagues. Using the
-name switch is required because more than one instance is provided but this argument
is not the last list-taking one.
% pts cg -name pat:friends pat:colleagues
The following shows smith, who belongs to system:administrators, creating the prefix-
less group staff and assigning its ownership to system:administrators rather than to
himself.
% pts cg staff system:administrators
The following shows pat creating the group smith:team-members, which is allowed
because the owner is set to smith at the same time. Note that creation of the group will
be charged against pats group-creation quota, not smiths.
% pts cg smith:team-members smith
AFS Users Guide A-65
pts creategroup Command Reference
PRIVILEGE REQUIRED
To assign AFS UIDs with the -id argument or create prefix-less groups, the issuer must
belong to the system:administrators group. Any user may create regular groups, but he
or she must
! Be authenticated. The command does not work if the -noauth flag is
provided.
! Have a group creation quota greater than 0. The pts examine command
displays this quota.
MORE INFORMATION
pts examine
pts setfields
A-66 AFS Users Guide
Command Reference pts delete
pts delete delete entries from Protection Database.
+
pts delete -nameorid <user or group name or id>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
pts del -na <user or group name or id> [-c <cell name>]
[-no] [-t] [-f] [-h]
DESCRIPTION
Removes each specified user, machine, and/or group entry from the Protection
Database. When a user or group entry is deleted, its AFS UID appears on ACLs
instead of the user name or group name. (Use the fs cleanacl command to remove
obsolete AFS UIDs from ACLs.)
Deleting a user or machine entry removes the user name or IP address from the group
membership lists. Deleting a group entry causes:
! The group name to be removed from the membership list of every user and
machine Protection Database entry on which it appeared.
! The group-creation quota of the groups creator to be incremented by one,
even if the creator no longer owns the group. See the description of the
pts setfields or pts examine command for more information about group
creation quotas.
ARGUMENTS
-name specifies the name or AFS UID of each user or group, or the IP address or
AFS UID of each machine entry to be deleted. Users, machines, and groups
can be specified on the same command line, as can names (IP addresses for
machines) and AFS UIDs. Precede the AFS UID of each group with a
hyphen to indicate that it is negative.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
AFS Users Guide A-67
pts delete Command Reference
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
EXAMPLES
The following shows users pat and terry being removed from the Protection Database:
% pts del pat terry
The following shows the issuer removing the group with AFS UID -215 from the
Protection Database. Using the -i switch is required because no instance is provided
for the -name argument.
% pts del -i -215
PRIVILEGE REQUIRED
To delete user and machine entries, the issuer must belong to the system:administrators
group. To delete group entries, the issuer must either be the groups owner or belong to
the system:administrators group.
MORE INFORMATION
fs cleanacl
pts adduser
pts creategroup
pts examine
pts removeuser
pts setfields
A-68 AFS Users Guide
Command Reference pts examine
pts examine show entries from the Protection Database.
+
pts examine -nameorid <user or group name or id>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
pts e -na <user or group name or id> [-c <cell name>]
[-no] [-t] [-f] [-h]
DESCRIPTION
Displays information about the specified user, machine, and/or group entries, as
described in the OUTPUT section below.
ARGUMENTS
-name specifies the name or AFS UID of each user or group, or the IP address or
AFS UID of each machine whose Protection Database entry is to be
displayed. Users, machines, and groups can be specified on the same
command line, as can names (IP addresses for machines) and AFS UIDs.
Precede the AFS UID of each group with a hyphen to indicate that it is
negative.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
OUTPUT
The output of the command contains the following information about each specified
entry:
! Name. For users, this is the user name. For machines, it is the IP address.
For groups, it is the complete group name with owner field included if
applicable. This field may be changed with the pts rename command.
AFS Users Guide A-69
pts examine Command Reference
! AFS UID. This number is the AFS UID of the entry. It is positive for
users and machines, negative for groups.
! Owner. This is the user/group entitled to administer the entry. For user
and machine entries, this field is automatically set to system:administrators
at creation time and should not be changed. For group entries, this field
may be changed with the pts chown command.
! Creator. This is the user who initially created the entry; its main use is as
an audit trail.
! Memberships. For user and machine entries, this number indicates the
number of groups to which the user or machine belongs; for group entries,
it indicates the number of users and/or machines belonging to the group.
The pts membership command reveals the identities of the groups, users,
and machines.
! Privacy Flags. This field defines the access and manipulation privileges
for the entry. The value may be changed with the pts setfields command.
There are five slots, one for each of the five privacy flags. The flags must
appear in the order listed here, and something must appear in all five slots.
The meaning of the privacy flags and the single letter corresponding to
each follows:
STATUS (s): list status information about an entry (issue the pts
examine command).
OWNED (o): list the groups owned by a user or group (issue the
pts listowned command).
MEMBERSHIP (m): list the groups to which a user or machine belongs
or the users and machines who belong to a group
(issue the pts membership command).
ADD (a): add a user or machine to a group (issue the pts
adduser command). This makes sense only with
group entries.
REMOVE (r): remove a user or machine from a group (issue the
pts removeuser command). This makes sense only
with group entries.
One of three entries may appear in each flag slot; these entries define the
users that possess the right associated with that slot as follows:
A hyphen in the slot indicates that only the owner and members of
system:administrators have the right. For user entries, the user in
question also has the right.
A lowercase letter in the slot indicates that members of the group
have the right. This applies to group entries only.
An uppercase letter in the slot indicates that everyone has the right.
This is equivalent to system:anyuser on standard directory ACLs.
The default privacy flags are "S----" for user and machine entries and
"S-M--" for group entries.
A-70 AFS Users Guide
Command Reference pts examine
User and machine entries do not have members, so the last two slots, ADD
and REMOVE, are meaningless for them. For the same reason, there is no
sensible interpretation of any of the lowercase letters for user entries; they
are equivalent to the hyphen. The lowercase letters are equivalent to the
hyphen for self-owned groups, too, since all the members of a self-owned
group are owners of the group.
! Group quota. This number indicates how many additional groups the user
can create. When a user or machine entry is created, the default value is
20; however, a machine cannot create groups because it is not possible to
authenticate as a machine. The pts setfields command allows system
administrators to reset this number. This field is meaningless for groups
and should always be 0 for them.
EXAMPLES
The following shows the output for terrys entry:
% pts ex terry
Name: terry, id: 1045, owner: system:administrators, creator: admin,
membership: 9, flags: S----, group quota: 15.
The following shows the output for the machine entry 158.98.4.10:
% pts ex 158.98.4.10
Name: 158.98.4.10, id: 5151, owner: system:administrators, creator: kt,
membership: 1, flags: S----, group quota: 20.
In the following, the issuer is interested in the groups with AFS UIDs -673 and -674:
% pts ex -673 -675
Name: terry:friends, id: -673, owner: terry, creator: terry,
membership: 5, flags: S-M--, group quota: 0.
Name: smith:colleagues, id: -675, owner: smith, creator: smith,
membership: 14, flags: SOM--, group quota: 0.
PRIVILEGE REQUIRED
Depends on how the entrys first privacy flag is set
! If it is lowercase s and this is a group entry, only members of the group
and of system:administrators may examine the entry. If this is a user
entry, only members of system:administrators and the user may examine
the entry. If this is a machine entry, only members of
system:administrators may examine the entry.
! If it is uppercase S, everyone on the system may examine the entry.
It is not possible to set this flag to the hyphen (the command interpreter would not be
able to distinguish the hyphen from one that indicates a flag or switch).
The pts setfields command sets the privacy flags.
AFS Users Guide A-71
pts examine Command Reference
MORE INFORMATION
pts adduser
pts rename
pts chown
pts listowned
pts membership
pts removeuser
pts setfields
A-72 AFS Users Guide
Command Reference pts help
pts help show syntax of specified pts command(s) or list functional description for
all of them.
+
pts help [-topic <help string> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
pts h [-t <help string> ] [-h]
DESCRIPTION
Displays the first line (name and short description) of every pts commands help entry,
if no help string is provided. For each operation code specified with -topic, it outputs
the entire help entry. See the OUTPUT section below.
ARGUMENTS
-topic specifies the operation codes for which syntax is to be provided. If it is
omitted, the first line (name and short description) of every pts command is
displayed.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
OUTPUT
The online help entry for each pts command consists of two or three lines:
! The first line names the command and briefly describes what it does.
! The second line shows any aliases the command has (it does not appear for
every command).
! The final line, which begins with "Usage:", lists the commands
arguments and flags in the prescribed order. Online help entries use the
same symbols (for example, brackets) as the command definitions in this
manual. For an explanation of their meaning, see chapter 2.
AFS Users Guide A-73
pts help Command Reference
EXAMPLE
The following displays the online help entry for the pts membership command:
% pts help membership
pts membership: list membership of a user or group
aliases: groups
Usage: pts membership -nameorid <user or group name or id>+
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
PRIVILEGE REQUIRED
None
MORE INFORMATION
pts apropos
A-74 AFS Users Guide
Command Reference pts listowned
pts listowned show groups owned by specified users and/or groups.
+
pts listowned -nameorid <user or group name or id>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
pts listo -na <user or group name or id> [-c <cell name>]
[-no] [-t] [-f] [-h]
DESCRIPTION
Lists the names of the groups owned by the specified users and/or groups. If a value of
0 is provided for -nameorid, the command also lists all "orphaned groups" (groups that
still exist in the database even though their owners have been deleted from it). Only
system administrators may specify 0 with -nameorid.
Note: Although a machine can theoretically own a Protection Database entry, this
ownership confers no functionality and is not recommended. All discussion of this
command will refer only to user and group ownership.
ARGUMENTS
-nameorid
specifies the name or AFS UID of each user or group for which group
ownership information is to be displayed. Users and groups can be specified
on the same command line, as can names and AFS UIDs. Precede the AFS
UID of each group with a hyphen to indicate that it is negative.
Providing a value of 0 (zero) lists entries for groups that still exist in the
database even though the entries for their owners have been deleted. Only
system administrators may specify 0 with -nameorid.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
AFS Users Guide A-75
pts listowned Command Reference
OUTPUT
The command displays group ownership information for each specified user or group.
The first line of the output displays the name and AFS UID of the user or group for
which ownership information is to be displayed, as follows:
Groups owned by name (id: AFS UID) are:
A list of groups owned by the user or group follows. The list does not include groups
owned by groups that the user or group owns or to which the user or group belongs. If
the user or group does not own any groups, the preceding line appears with nothing
after it.
If the second protection flag is the hyphen (as it is by default), most users will not be
allowed to list the owned groups. A Permission denied message is displayed
in this case.
EXAMPLES
The following shows the groups owned by terry and terry:friends:
% pts listo terry terry:friends
Groups owned by terry (id: 1045) are:
terry:friends
terry:project1
terry:project2
Groups owned by terry:friends (id: -673) are:
The following shows the message that smith receives when he tries to list the groups
owned by pat. The message is displayed because the second protection flag on pats
entry is the hyphen.
% pts listo pat
pts: Permission denied so failed to get owner list for pat (id: 1144)
PRIVILEGE REQUIRED
Depends on how the entrys second privacy flag is set
! If it is the hyphen and this is a group entry, only the owner of the group
and members of system:administrators may list the groups owned by this
group. If this is a user entry, only the user himself/herself and members of
system:administrators may list the groups owned by the user. The hyphen
is the default.
! If it is uppercase O, everyone on the system may list the groups owned by
this user/group.
It is not possible to set the second flag to lowercase o (which would be equivalent in
meaning to the hyphen). The pts setfields command sets the privacy flags; the pts
examine command displays them.
A-76 AFS Users Guide
Command Reference pts listowned
MORE INFORMATION
pts examine
pts setfields
AFS Users Guide A-77
pts membership Command Reference
pts membership show membership list for user or group.
+
pts membership -nameorid <user or group name or id>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
pts m -na <user or group name or id> [-c <cell name>]
[-no] [-t] [-f] [-h]
+
pts groups -na <user or group name or id> [-c <cell name>]
[-no] [-t] [-f] [-h]
DESCRIPTION
For each specified user name and/or machine IP address, this command lists the groups
to which the user or machine belongs. For each specified group name, it lists the users
and/or machines who belong to the group. The output is limited to 5000 names for any
user, machine, or group, even if there are actually more in the list.
It is not possible to list the members of system:anyuser or system:authuser, nor do they
appear in the list of groups to which a user belongs. The membership of these groups is
not stable, as it depends on, respectively, each users current login or authentication
status.
The pts adduser command adds users and machines to groups, and the
pts removeuser command removes them from groups
ARGUMENTS
-nameorid
specifies the name or AFS UID of each user or group, or the IP address or
AFS UID of each machine about which group membership information is to
be displayed. Users, machines, and groups can be specified on the same
command line, as can names (IP addresses for machines) and AFS UIDs.
Precede the AFS UID of each group with a hyphen to indicate that it is
negative.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
A-78 AFS Users Guide
Command Reference pts membership
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
OUTPUT
For each specified user and machine, the output contains the following header line
followed by a list of the groups to which the user belongs:
Groups user name (id: AFS UID) is a member of:
For each specified group, the output contains the following header line followed by a
list of the users and/or machines who belong to the group:
Members of group name (id: AFS UID) are:
The command will list up to 5000 members of a group, or 5000 groups to which an
individual belongs.
EXAMPLE
The following shows the groups to which pat belongs and the members of
smith:friends. Note that pats third protection flag must have changed from the default
hyphen for a non-administrative user to elicit this type of listing.
% pts mem -name pat smith:friends
Groups pat (id: 1144) is a member of:
smith:friends
staff
johnson:project-team
Members of smith:friends (id: -562) are:
pat
terry
jones
richard
thompson
The following shows the groups to which machine 158.98.4.10 belongs (bin-prot is a
binary protection group composed solely of machines for licensing purposes):
% pts mem 158.98.4.10
Groups 158.98.4.10 (id: 5151) is a member of:
bin-prot
AFS Users Guide A-79
pts membership Command Reference
PRIVILEGE REQUIRED
Depends on how the entrys third privacy flag is set
! If it is the hyphen and this is a group or machine entry, only the owner of
the group and members of system:administrators may list the members of
the group. If it is a hyphen and this is a user entry, only the user
himself/herself and members of system:administrators may list the groups
to which the user belongs.
! If it is a lowercase m and this is a group entry, privilege extends to
members of the group. If it is a lowercase m and this is a user or machine
entry, the meaning is equivalent to the hyphen.
! If it is an uppercase M, privilege extends to everyone on the system.
The pts setfields command sets the privacy flags, and the pts examine command
displays them.
MORE INFORMATION
pts examine
pts setfields
A-80 AFS Users Guide
Command Reference pts removeuser
pts removeuser remove users from groups in Protection Database.
+ +
pts removeuser -user <user name> -group <group name>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+ +
pts rem -u <user name> -g <group name> [-c <cell name>]
[-n] [-t] [-f] [-h]
DESCRIPTION
Removes each user and/or machine entry from membership in the specified group
name entry. It also removes each group name from the list of memberships stored with
each user and/or machine entry.
The pts adduser command adds users and machines to groups. The pts membership
command lists the members of a group or the groups to which a user or machine
belongs.
WARNING
The effects of removing a user from a group are not immediate. Before a user member
of a group is denied the access rights of that group, he or she must re-authenticate
(issue klog). As long as a user retains old tokens, he or she retains the access rights
acquired with those tokens.
ARGUMENTS
-name specifies the user name of each user entry or the IP address of each machine
entry to be removed.
-group specifies the name of each group from which each user/machine entry should
be removed.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
AFS Users Guide A-81
pts removeuser Command Reference
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
EXAMPLE
The following removes smith from the groups staff and staff:finance. Note that no
switches are necessary because only a single instance is provided for the first argument
(the user name).
% pts rem smith staff staff:finance
The following removes the three machine entries in the Transarc Corporation subnet
from the group bin-prot:
% pts rem 158.98.0.0 192.55.207.0 192.54.226.0 -gr bin-prot
PRIVILEGE REQUIRED
Depends on how the groups fifth privacy flag is set:
! If it is the hyphen, only the groups owner and members of
system:administrators may remove members.
! If it is lowercase r, privilege extends to members of the group.
It is not possible to set the fifth flag to uppercase R.
The pts setfields command sets the privacy flags and the pts examine command
displays them.
MORE INFORMATION
pts adduser
pts membership
pts setfields
A-82 AFS Users Guide
Command Reference pts rename
pts rename change name of entry in Protection Database.
pts rename -oldname <old name> -newname <new name>
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
pts ren -o <old name> -ne <new name> [-c <cell name>] [-no] [-t] [-f] [-h]
DESCRIPTION
Changes the name of a user or group entry called old name to new name. It is not
possible to change a user name to be like a regular group name (with a colon in it).
Members of system:administrators may change regular group names into prefix-less
names and vice versa. When changing a prefix-less group name into a regular group
name or a regular group name to another regular group name, the owner-name field of
the new name must correctly reflect the groups ownership.
WARNING
By convention, many aspects of an AFS user account have the same name as the users
Protection Database entry, including the Authentication Database entry, volume, and
mount point. If this command is used to change a user name, it is recommended for
consistencys sake that the names of all relevant related entities also be changed. See
the chapter on user accounts in the AFS System Administrators Guide for complete
instructions.
ARGUMENTS
-oldname
specifies the current full name of the entry.
-newname
specifies the new full name for the entry. For regular groups, the owner-name
(pre-colon) part of the new name must reflect the true ownership of the
group.
-cell specifies the cell in which to run the command. See section A.3.4 for more
details.
-noauth tells the Protection Server to assign the unprivileged identity anonymous to
the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section A.3.4 for
more details.
-force directs the command to continue performing as much of an operation as it
can, even if it encounters problems while executing. See section A.3.4 for
more details.
AFS Users Guide A-83
pts rename Command Reference
-help prints the online help for this command. Do not provide any other arguments
or flags with this one. See section A.3.4 for more details.
EXAMPLES
The following changes the name of the group staff, owned by the privileged user
admin, to admin:staff:
% pts ren staff admin:staff
In the following example, pat renames terry:plans, a group owned by pat:staff; until
recently, pat:staff was terry:staff. This type of change is necessary, when the owner of
a group changes, because the groups owned by that group are not automatically
renamed to reflect the new owner.
% pts terry:plans pat:plans
PRIVILEGE REQUIRED
To change a regular group name to a prefix-less name or vice versa, the issuer must
belong to system:administrators. For regular-to-regular or prefix-less-to-prefix-less
changes, the issuer must be the groups owner or belong to the system:administrators
group. To change user entries, the issuer must belong to the system:administrators
group.
MORE INFORMATION
pts chown
A-84 AFS Users Guide
Command Reference pts setfields
pts setfields set privacy flags or group creation quota for a protection Database
entry.
+
pts setfields -nameorid <user or group name or id>
[-access <set privacy flags>]
[-groupquota <set limit on group creation>]
[-cell <cell name>] [-noauth] [-test] [-force] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
+
pts setf -na <user or group name or id>
[-a <set privacy flags>] [-g <set limit on group creation>]
[-c <cell name>] [-no] [-t] [-f] [-h]
DESCRIPTION
Sets group-creation quota and/or the privacy flags for each entry indicated. Only
system administrators may change a group-creation quota. Only the owner of an entry
or a system administrator may change privacy flags.
The pts examine command shows the current settings of the quota and flags.
Note: Group-creation quota is meaningless for machines and groups, because it is
impossible to authenticate as a group or machine.
ARGUMENTS
-nameorid specifies the name or AFS UID of each user or group, or the IP address
or AFS UID of each machine for which privacy flags or group creation
quota is to be set. Users, machines, and groups can be specified on the
same command line, as can names (IP address for machines) and AFS
UIDs. Precede the AFS UID of each group with a hyphen to indicate
that it is negative.
-access specifies a list of five characters, one for each of the protection rights
on a Protection Database entry. The default rights for user and
machine entries are S---- and for group entries S-M--. It is
necessary to provide this argument only if the default settings are not
satisfactory.
There are five slots, one for each of the five privacy flags. The flags
always appear in the order listed here, and something always appears
in all five slots. The meaning of the privacy flags and the single letter
corresponding to each follows:
! STATUS (s): list status information about an entry (issue
the pts examine command).
AFS Users Guide A-85
pts setfields Command Reference
! OWNED (o): list the groups a user or group owns (issue the
pts listowned command).
! MEMBERSHIP (m): list the groups to which a user or
machine belongs or the users and machines that belong to
a group (issue the pts membership command).
! ADD (a): add a user or machine to a group (issue the pts
adduser command). This is meaningful only for group
entries.
! REMOVE (r): remove a user or machine from a group
(issue the pts removeuser command). This is meaningful
only for group entries.
The issuer of the command determines who receives each right by
typing one of three types of characters in each slot, as follows:
! To grant the right only to the owner of the entry and
members of system:administrators, type a hyphen in the
slot. For user entries, the hyphen also gives the user this
right.
! To grant the right only to members of the group, type the
lowercase version of the letter associated with the right (as
defined just above). Do not type lowercase letters for user
or machine entries; they are meaningless for them.
! To grant the right to everyone, type the uppercase version
of the letter associated with the right. This is similar to
putting system:anyuser on standard directory ACLs.
The following restrictions define how the issuer may set the rights:
! As mentioned above, it is always necessary to specify a value for
all five flags.
! Do not set the flags (other than the first flag) in user or machine
entries to lowercase letters. Lowercase letters have no sensible
interpretation for these entries, because these entries cannot have
members. The hyphen is equivalent to lowercase letters for self-
owned group entries, too, since all the members of a self-owned
group are owners of the group itself.
! Legal values for the first flag ("check status") are lowercase s
and uppercase S. The hyphen is not legal because the command
interpreter cannot distinguish an initial hyphen from the
indicator of a switch or flag. For user and machine entries, the
lowercase s is equivalent to the hyphen.
! Legal values for the second flag ("list owned") are the hyphen
and uppercase O. For groups, the hyphen is equivalent to the
disallowed lowercase o, because members of a group own any
groups owned by the group.
! Legal values for the third ("membership") flag are the hyphen,
lowercase m, and uppercase M.
A-86 AFS Users Guide
Command Reference pts setfields
! Legal values for the fourth flag ("add members") are the hyphen,
lowercase a, and uppercase A. This flag has no sensible
interpretation for user and machine entries, but must be set
nonetheless, preferably to the hyphen.
! Legal values for the fifth flag ("remove members") are the
hyphen and lowercase r. This flag has no sensible interpretation
for user and machine entries, but must be set nonetheless,
preferably to the hyphen.
-groupquota specifies the number of additional groups a user can create (it does not
matter how many they have created already). This number is
meaningless for groups and machines, since it is not possible to
authenticate as a group or machine; there is no reason to set or change
this value for those entries.
-cell specifies the cell in which to run the command. See section A.3.4 for
more details.
-noauth tells the Protection Server to assign the unprivileged identity
anonymous to the issuer. See section A.3.4 for more details.
-test tells the command interpreter to contact the machine listed in
/usr/afs/etc/CellServDB for execution of the command. See section
A.3.4 for more details.
-force directs the command to continue performing as much of an operation
as it can, even if it encounters problems while executing. See section
A.3.4 for more details.
-help prints the online help for this command. Do not provide any other
arguments or flags with this one. See section A.3.4 for more details.
EXAMPLES
The following changes the privacy flags on the group operators. The group retains the
default "S" and "M" flags, but it acquires the "a" and "r" flags so that its members can
add and remove members.
% pts setf operators -a S-Mar
The following changes the privacy flags and sets group quota on the user entry admin.
The default "S" protection flag is retained, and the "O" and "M" flags are enabled.
% pts setf admin -a SOM-- -g 50
AFS Users Guide A-87
pts setfields Command Reference
PRIVILEGE REQUIRED
For group entries, the issuer must be the groups owner or belong to the
system:administrators group. For user entries, setting group-creation quota requires
that the issuer belong to the system:administrators group; setting the privacy flags
requires that the issuer be the owner of the group or belong to the
system:administrators group.
MORE INFORMATION
pts adduser
pts examine
pts listowned
pts membership
pts removeuser
A-88 AFS Users Guide
Command Reference tokens
tokens display all tokens.
tokens
DESCRIPTION
Instructs the Cache Manager on the local machine to display all tokens (tickets) it has
for the issuer. AFS server processes require that their clients present a token as
evidence that they have authenticated in the servers local cell.
Note: If you are using the Kerberos version of this command (that is, tokens.krb), the
output will also list information the Kerberos-style tokens stored in the /tmp directory.
OUTPUT
The output lists one token for each cell in which the user is authenticated. The output
indicates the
! Users AFS UID, if it is available for display.
! Server for which the token is valid (normally, "afs"). This includes a cell
specification.
! Day and time the token expires.
Note: If you are using tokens.krb, the output will also contain information on the
Kerberos ticket-granting ticket including: the ticket owner, the Kerberos ticket-
granting service that issued the ticket (for example, krbtgt.TRANSARC.COM), and the
expiration date of the ticket.
An --End of list-- message appears at the end of the output. If the user is not
authenticated in any cell, this message is all that appears.
EXAMPLES
The following shows the output when the issuer is not authenticated in any cell:
% tokens
Tokens held by the Cache Manager:
[ 1] --End of list--
The following shows the output when the issuer is authenticated in the Transarc
Corporation cell, where he or she has AFS UID 1000:
% tokens
Tokens held by the Cache Manager:
[ 1]Users (AFS ID 1000) tokens for [email protected]
[Expires Jan 2 10:00]
[ 2] --End of list--
AFS Users Guide A-89
tokens Command Reference
The following shows the output when the issuer is authenticated in the Transarc
Corporation cell, the Andrew cell at Carnegie Mellon University, and the Athena cell at
MIT. The user has different AFS UIDs in the three cells. Tokens for the last cell are
expired.
% tokens
Tokens held by the Cache Manager:
[ 1]Users (AFS ID 1000) tokens for [email protected]
[Expires Jan 3 10:00]
[ 2]Users (AFS ID 4286) tokens for [email protected]
[Expires Jan 3 1:34]
[ 3]Users (AFS ID 22) tokens for [email protected]
[>>Expired<<]
[ 4] --End of list--
The following shows the output when the issuer uses tokens.krb after authenticating in
the Transarc Corporation cell using klog.krb.
% tokens
Tokens held by the Cache Manager:
Users (AFS ID 1000) tokens for [email protected] [Expires Jan 31 00:09]
User smiths tokens for [email protected]
[Expires Jan 31 00:09]
--End of list--
PRIVILEGE REQUIRED
None
MORE INFORMATION
klog
unlog
A-90 AFS Users Guide
Command Reference unlog
unlog discard all tokens.
+
unlog [-cell <cell name> ] [-help]
ACCEPTABLE ABBREVIATIONS/ALIASES
There is no abbreviation or alias for the unlog command; however, you can abbreviate
the switch and flag normally.
DESCRIPTION
Instructs the Cache Manager on the local machine to discard the specified token(s)
currently held for the issuer. If no cell names are provided, the Cache Manager
discards the token for the local cell and all tokens for foreign cells; if cell names are
provided, using the -cell argument, only the tokens for those cells are discared.
Note: Since tokens are granted on a per-machine basis, destroying your tokens on one
machine has no effect on tokens on another machine.
WARNINGS
Specifying one or more cell names may cause brief "authentication outages," during
which the issuer has no valid tokens in any cell. This is because the command actually
discards all tokens and then restores those that the issuer did not specify with cell name
(and so presumably wishes to retain). The authentication outage may interrupt the
operation of jobs that require authentication.
ARGUMENTS
-cell specifies each cell for which the Cache Manager should discard the token. If
omitted, all tokens are discarded. Abbreviated cell names are acceptable, but
which abbreviations are legal depends on the naming service available in the
cell at the time the command is issued.
-help prints the online help for this command. Do not provide any other arguments
or flags with this one.
EXAMPLES
The following discards all tokens:
% unlog
The following discards only the tokens for the transarc.com and athena.mit.edu cells:
% unlog transarc.com athena
AFS Users Guide A-91
unlog Command Reference
PRIVILEGE REQUIRED
None
MORE INFORMATION
klog
tokens
A-92 AFS Users Guide
Appendix B: NFS/AFS Translator
Replace this page with the tab separator for
Appendix B: NFS/AFS Translator
AFS Users Guide
-2 AFS Users Guide
Appendix B. NFS/AFS Translator
If your site uses the Network File System (NFS) and you are using an NFS client
TM
machine, you can still access the AFS file space by using the NFS/AFS Translator .
Furthermore, if your NFS client machine uses an AFS supported operating system, you
can even issue many of the AFS commands from that machine over the NFS/AFS
Translator.
This appendix includes the following sections:
Section B.1 Setting up the Components of the NFS/AFS Translator . . . . B-2
Section B.2 Using AFS Commands through NFS . . . . . . . . . . . . . . . . . . . B-4
Section B.3 Troubleshooting the NFS/AFS Translator . . . . . . . . . . . . . . . B-5
AFS Users Guide B-1
Setting up the Components of the NFS/AFS Translator NFS/AFS Translator
B.1. Setting up the Components of the NFS/AFS
Translator
To use the NFS/AFS Translator (hereafter, translator), your site must have the
following components:
! An NFS/AFS translator machine (hereafter, translator machine). A
translator machine is an AFS client that simultaneously runs as an NFS
server. Your system administrator can provide you with a list of the
translator machines in your cell.
! An NFS client machine configured to use the services of the translator.
The system administrator configures the NFS client by mounting AFS and
by defining two AFS environment variables on the NFS client (AFSCONF
and AFSSERVER). By convention, the NFS mount directory for AFS is
named /afs so that NFS pathnames to the AFS file space match the AFS
pathnames.
Although an AFS user account is not required to access the AFS file space, it is
recommended. If you do not have an AFS user account, you will only be permitted to
access AFS as a member of the group system:anyuser and your access to AFS
directories and files will be limited.
B.1.1. Establishing the NFS/AFS Connection
If your NFS machine uses an operating system supported by AFS (one for which AFS
binaries are available), you can establish the translator connection by authenticating as
if you were working on an AFS client. If your NFS machine uses an unsupported
operating system (one for which no AFS binaries are available), then the procedure for
establishing the translator connection is somewhat different. The instructions that
follow discuss the two methods of establishing the connection.
To connect to AFS on a supported operating system
To establish a connection to AFS on an NFS client machine using a supported
operating system, you must:
1. Log in to the NFS client machine under your NFS user name.
2. Authenticate with AFS by issuing klog; if you do not have an AFS
account, this step is unnecessary. (See section 3.1.2 for information on
authentication.)
3. (Optional) Issue the knfs command to allow use of the @sys variable on
the NFS client. (See the knfs entry in Appendix A for an explanation of
the -sysname argument.)
B-2 AFS Users Guide
NFS/AFS Translator Setting up the Components of the NFS/AFS Translator
To connect to AFS on a non-supported operating system
To establish a connection to AFS on an NFS client machine using an unsupported
operating system, you must
1. Log in to the NFS client machine under your NFS user name.
2. Access the translator machine (for example, via telnet).
3. Authenticate with AFS by issuing klog; if you do not have an AFS
account, this step is unnecessary. (See section 3.1.2 for information on
authentication.)
4. Issue the knfs command so that the Cache Manager on the translator
machine associates the tokens you obtained in the previous step with your
NFS identity.
% knfs <host name> [<user ID (decimal)>]
where
host name
specifies the full name of the NFS client machine from which
you will access AFS.
user ID (decimal)
specifies the UNIX UID or equivalent (not your username) that
is used to identify you as a unique user on the NFS client
machine. If you do not know the user ID (decimal) or think
you may not have one, contact your system administrator. If
you do not have a user ID (decimal), you can omit it, but you
run the risks associated with sharing tokens with other users on
your NFS machine. (See the knfs entry in Appendix A for a
complete explanation.)
5. (Optional) Log out from the translator machine without unauthenticating.
6. Work on the NFS client machine as you normally would.
7. When you are finished accessing AFS, issue the knfs command on the
translator machine again, adding the -unlog flag to destroy your tokens.
(If you logged out in step 5, you must first log in to the translator machine
again.)
% knfs <host name> [<user ID (decimal)> -unlog]
Note: If you are sharing "generic" AFS tokens with other users on the
same NFS client (because when you originally issued knfs, you did not
specify user ID (decimal)), make sure that the other users are finished
with those tokens before issuing the above command.
AFS Users Guide B-3
Using AFS Commands through NFS NFS/AFS Translator
B.2. Using AFS Commands through NFS
You can issue AFS commands while working on an NFS client machine if both of the
following are true:
! Your NFS client machine uses a supported operating system. Ask your
system administrator if you are not sure about the status of your machines
operating system.
! Your system administrator has configured the NFS client machine and
your account to enable you to issue AFS commands. Again, you should
ask your system administrator about the status of your machine and
account.
Note: You cannot issue AFS commands on an NFS client machine if AFS binaries are
not available.
B-4 AFS Users Guide
NFS/AFS Translator Troubleshooting the NFS/AFS Translator
B.3. Troubleshooting the NFS/AFS Translator
Keep in mind that NFS/AFS translator performance depends for the most part on the
stability of the NFS system. While file outages, broken connections, and inaccessible
files may manifest themselves as AFS problems, they may be caused by NFS.
This troubleshooting section will help you diagnose some command problems. If other
problems arise, contact your system administrator. Transarc Customer Support will try
to supply work-arounds for NFS-related problems.
Note: AFS uses a delayed write mechanism. Changes made and written to AFS files
may take up to 30 seconds to be visible to client machines using a different translator
machine.
B.3.1. Your NFS Client Machine is Frozen
Your NFS client machine can "freeze" or "hang" when the translator machine goes
down if the translator was mounted with a hard mount. If the translator does not
respond, you can interrupt the hung process (using <Ctrl-c> or a similar interrupt) and
continue to work locally. If the translator machine will be down for an extended
period, you can mount another translator.
Note: An interrupt will only work if the mount was set using the intr mount option. If
the intr option was not used, you must unmount the translator from another NFS
process.
B.3.2. NFS/AFS Translator Reboots
When your translator machine reboots, the system name for your NFS client machine
needs to be redefined. And if you are authenticated to AFS, you must reauthenticate
using the klog command.
B.3.3. System Error Messages
stale NFS client Your translator machine was rebooted and cannot map the
current directory. cd to your current directory using the full pathname (that is,
/afs/cell/username/directory) and the path will be re-established.
Getpwd: cant read A translator machine has rebooted and cannot map the
current directory. cd using the full pathname, and the path will be re-established.
AFS Users Guide B-5
Troubleshooting the NFS/AFS Translator NFS/AFS Translator
"NFS server <nfsserver> is not responding still trying" If
the translator is mounted using a hard mount, you will get this warning message, but
your machine will continue to retry the request. If the translator is mounted with a soft
mount, the operation will abort after the requested number of transmissions (the default
is 3).
B-6 AFS Users Guide
Glossary
Replace this page with the tab separator for
Glossary
AFS Users Guide
-2 AFS Users Guide
Glossary
Access Control List (ACL) A list associated with an AFS directory that specifies
what actions a user or group may perform on the
directory and the files in it. There are seven access
rights: READ, LOOKUP, INSERT, DELETE, WRITE, LOCK,
and ADMINISTER, each with a corresponding letter
abbreviation, r, l, d, w, k, a.
Access List Entry An entry on an ACL that pairs one user or group of
users with the specific access rights they possess.
Access Right A certain type of access granted on an ACL. Anyone
who possesses the right can perform the action.
Add Privacy Flag Enables the possessor to add a user to a group. Letter:
a.
Administer Right An ACL right that allows the possessor to change the
entries on the ACL. This protection flag enables the
possessor to add and remove users in a group.
NFS/AFS Translator Allows users on NFS client machines to access files in
the AFS file space.
Alias A shortened or alternative form of an AFS command.
"All" ACL Shorthand A shorthand notation used in the fs setacl command to
represent all seven access rights.
Argument A portion of a command that names an entity to be
affected by the command. Arguments consist of two
parts: a switch and instance(s). Some AFS commands
take one or more arguments.
Authenticated To become recognized as a valid AFS user by
providing the correct password. Authentication occurs
during AFS login or when the klog command is issued.
A user is authenticated or recognized as a valid user by
providing the correct password. Only authenticated
users can perform most AFS actions.
Bytes, kilobyte A unit of measure used to specify volume, quota, and
disk usage. A kilobyte block is equal to 1024 bytes.
AFS Users Guide Glossary-1
Glossary
Cache Manager A program on a client machine that accesses files
stored in AFS on behalf of the client machine. When a
user accesses a file, the Cache Manager requests the
file from the appropriate File Server. The Cache
Manager stores ("caches") a copy of the requested file
on the client workstations local disk. The local copy
of the cached file is used, eliminating sending network
requests to File Server machines for data from the
stored file.
Cached File A copy of a file the Cache Manager stores on a
workstations local disk.
Callback A "promise" from the File Server that it will contact
the Cache Manager if the centrally stored copy of the
file is altered while the copy of the file is in use on a
local machine. If the file is altered, the File Server
"breaks" the callback. The next time a program on the
workstation asks for data from the file, the Cache
Manager notices the broken callback and retrieves an
updated copy of the file from the File Server.
Callbacks ensure the user is working with the most
recent copy of a file.
Cell An independently administered site running AFS,
consisting of a collection of file server machines and
client machines defined to "belonging to" the cell. A
machine can belong to only one cell at a time.
Client Machines Workstations which perform computations for users.
In most cases, a user will work on a client machine,
accessing files stored on a file server machine.
Client/Server Machines The two types of computers (each with different
specialized functions) that compose a computer
network: Client Machines and Server Machines.
Command A string of characters specified to an AFS server,
indicating an action to perform. AFS commands can
contain a command name, an operation code,
arguments and flags, and as well as the switch and
instance pairs for the arguments.
Complete Pathname A full specification of a files location in AFS.
Beginning with /afs, it specifies all the directories the
Cache Manager must check to find the file. The names
of the directories are separated by slashes.
Command Suite The first part of a command string which indicates the
group of commands the command belongs to. This is
usually based on function.
Delete Access Right Enables the possessor to remove elements from a
directory. Letter: d.
Glossary-2 AFS Users Guide
Glossary
Directory A logical structure containing a collection of files and
other directories.
Distributed File System A file system that joins the file systems of individual
machines. Files are stored (distributed) on different
machines in the computer network but are accessible
from all machines.
File Server Machines A type of machine in AFS, used to store files and
transfer requested files to client machines.
File A collection of related information stored and retrieved
under a single name.
Flag Part of a command that determines how the command
executes, or the type of output it produces.
Foreign Cell All cells other than the local cell the client machine is
assigned to. Users may authenticate or access files in
foreign cells. The Cache Manager (through which the
user is accessing the AFS file space) remains the same,
and determines which cell is local.
Group A group is a defined list of individual users who can be
placed on the access control lists (ACLs) of directories.
When using groups it is possible to grant the same
access rights to a number of people at one time.
Group-owned Group A group owned by another group. All members of the
"owner" group can administer the "owned" group; the
members of the owned group have no administer rights
themselves.
Hierarchical File Structure A method of organizing and storing data on different
levels of directories.
Home Directory A directory in a file system owned by a user and used
by him/her to store personal files.
Insert Access Right Enables the possessor to add files or directories to a
directory. Letter: i.
Instance That part of a command string defining a specific
switch.
Local Cell The cell the users Cache Manager is assigned to.
Lock Access Right Enables programs run under the users name to place
advisory locks on a file. Letter: k.
Login The process by which a user accesses AFS or a generic
operating system like UNIX.
Logout The process by which a user signs off from a terminal.
Lookup Access Right Enables the possessor to list contents of a directory and
look at the ACL. Letter: l.
AFS Users Guide Glossary-3
Glossary
Mount Point A special type of directory that connects a location in
the AFS file space with a volume. A mount point
looks like a standard UNIX directory; listing the
directory shows the contents of the volume. Users can
cd to it or use ls to list its contents. Each mount point
corresponds to a single volume.
Members Privacy Flag Enables the possessor to list the members of a group or
groups to which a user belongs. Letter: m.
Mutual Authentication A procedure through which two parties communicating
across a network prove their identities to one another.
AFS requires mutual authentication whenever a server
and client talk to one another.
"None" ACL Shorthand A shorthand notation used in the fs setacl command to
delete an entry from an ACL.
Operation Code The second word in an AFS command, indicating the
commands function.
Owner (Group) The person or group allowed (by default) to administer
a group.
Owned Privacy Flag Enables the possessor to list groups owned by the user
or group. Letter: o.
Parent Directory The directory in which a directory or file resides.
Partition A logical section of a disk in a computer.
Password A unique, user-defined string of characters validating
the users system identity. The user must correctly
enter the password in order to be authenticated.
Quota The size limit of a volume assigned by the system
administrator and measured in kilobyte blocks.
"Read" ACL Shorthand A shorthand notation used in the fs setacl command
that grants both the READ and LOOKUP access rights.
Read Access Right Enables the possessor to examine the contents of a file
but not change them. Letter: r.
Relative Pathname A file/directorys location, specified relative to the
current working directory. It may include the "." or "..".
Remote Commands Commands used to run programs on a remote machine
without the need for a user to explicitly telnet to it.
Remove Privacy Flag Enables the possessor to remove members from a
group. Letter: r.
Self-owned Group A group that owns itself. All members of the group are
allowed to administer the group.
Glossary-4 AFS Users Guide
Glossary
Server A program that provides specialized service to other
servers, such as storing and transferring files or
performing authentication.
Status Privacy Flag Enables the possessor to list status information about
users or groups. Letter: s.
Subdirectory A directory that resides in another directory in the file
system hierarchy.
Switch The part of a command string defining the type of an
argument. It is preceded by a hyphen.
Syntax The correct sequence in which a commands arguments
must be keyed in on a command line.
System Administrator A user who is authorized to operate and administer
AFS in a cell.
System Groups Groups created to enable a user to automatically grant
access to predefined AFS groups.
System:administrators group The people in the cell designated as system
administrators, who are authorized to operate and
administer AFS.
System:anyuser A system:anyuser group includes everyone who can
gain access to the cell, including unauthenticated AFS
users, sometimes called anonymous.
System:authuser A system:authuser group includes everyone who is
currently "authenticated" in the cell.
Token A set of data that indicates a user has authenticated.
The AFS server programs accept the token as partial
proof that the user is authorized to request a service. If
a user does not have a token, the identity of anonymous
is assigned and the user has system:anyuser access. If
a user has a token, authuser access is assigned.
UNIX Mode Bits A set of access rights associated with a file/directory in
the UNIX file system which appear when ls -l is
invoked. The rights are: read, write, and execute (r, w,
x). AFS combines their effect with AFS access rights
in order to determine what type of access someone has
to the files.
User name A short string of characters entered at login that
uniquely identifies a person in the local cell.
Volumes A "container" that keeps a set of related files and
directories together on a disk partition that is specific
to AFS.
"Write" ACL Shorthand A shorthand notation used in the fs setacl command to
grant all rights except ADMINISTER.
AFS Users Guide Glossary-5
Glossary
Write Access Right Enables the possessor to modify the contents of a file.
Letter: w.
Glossary-6 AFS Users Guide
Index
Replace this page with the tab separator for
Index
AFS Users Guide
Index
/afs 1-5, 3-11 transparent access in 1-2
/afs/<cellname> 3-11 AFS file space
/bin/passwd command 3-13, 3-14 accessing 3-11
/etc/passwd 1-15 defined 1-5
/usr/vice/etc/ThisCell extension of local machine file space 1-5
See also ThisCell file (client) AFS UID 6-5, 6-6
assigning for group A-64
Access defined A-4
denying 5-2 learning, given user/group name A-69
granting 5-2, 5-11 removing from ACL A-14
restoring 5-15 "all" grouping of access rights 5-5, A-33
to foreign cells 5-7 Angle brackets in AFS command syntax 2-1
to services 5-7 Apropos, operation code 2-7
to subdirectories 5-2, 5-6 Arguments in AFS commands 2-1
Access control lists (ACLs) 1-14, 1-16 Assigning AFS UIDs to groups A-64
accidental removal from 7-8 Authentication 1-13, 1-15, 3-2, 3-3, 3-5
adding entries A-32 as another user 3-4
changing 5-10 in a foreign cell 3-3
cleaning A-14 limits on consecutive failed attempts 3-7
clearing 5-16, A-32 on NFS client of non-supported type A-49,
copying 5-18, A-16 B-3
default rights assigned when volume created on NFS client of supported type A-49, B-2
A-6 tokens as proof of 3-3, A-44
defined A-3 Authentication Database
foreign cells 3-12 listing entry A-40
groups on 6-2 listing key from A-40
interaction with UNIX mode bits 1-16
listing 5-8, A-23 Brackets in AFS command syntax 2-1
removing AFS UIDs from A-14
removing entries A-32 Cache Manager
setting A-32 as agent for user 1-11
system groups on 5-6, A-6 listing database server machines known to
system:anyuser 3-12 A-26
system:anyuser on 5-7 listing downed file server machines A-11
Access rights 5-4 Cached files 1-11
ADMINISTER access right 5-4 Caching 1-11
DELETE access right 5-4 Callbacks 1-11
INSERT access right 5-4 Cell
LOCK access right 5-5 defined 1-5
LOOKUP access right 5-4 Cell argument
WRITE access right 5-4 on all pts commands A-6
Negative rights 5-5 Cells
Normal rights 5-5 administrative domain in AFS 1-5
shorthand for A-33 examining clients kernel-resident list
See also Access control lists (ACLs) A-26
Accessing AFS 3-2 local vs. foreign 1-6
ACL CellServDB file (client)
See also Access control lists (ACLs) transferred into kernel A-26
Add privacy flag 6-16 See also Client machine
Adding Changing
ACL entries A-32 group names 6-19
machines to groups A-58 group owners 6-19
users to groups 6-11, A-58 name of Protection Database entry A-83
ADMINISTER access right 5-4, A-24, A-33 owner of Protection Database entry A-62
AFS password in Authentication Database A-53
security 1-13 your AFS password 3-14
sharing information in 1-2 your UNIX password 3-14
AFS Users Guide Index-1
Index
Checking Copying ACLs 5-18, A-16
file server machine status A-11 Copying files, inability to 7-6
percentage of volume quota used 4-2 Creating
size of volume quota 4-3 groups 6-11, A-64
tokens 3-5 PAG with pagsh command A-56
volume information 4-3 ticket (tokens) for server process A-44
See also Examining, Listing Creator
Chmod command 5-20 of Protection Database entry A-5, A-69
Client machine 1-11
defined 1-2 Database server machine
listing database server machines known to listing from client kernel A-26
A-26 DELETE access right 5-4, A-24, A-33
listing home cell of A-39 Deleting
Client/server computing 1-2 groups 6-13, 6-14
Command suites in AFS commands 2-1 Protection Database entry A-67
Command syntax 2-2 Directories
Commands copying ACLs between 5-18
/bin/passwd 3-13, 3-14 denying access to 5-12, 5-13, 5-14
chmod 5-20 determining location 4-5
fs apropos A-9 granting access to 5-11
fs checkservers 4-6, A-11 inability to access 7-4
fs cleanacl 6-15, A-14 inability to grant access 7-11
fs copyacl 5-18, A-16 listing ACL A-23
fs examine 4-3, A-19 listing home cell A-37
fs help A-21 replacing an ACL 5-16
fs listacl 5-8, A-23 restoring access to 5-15
fs listcells 4-8, A-26 setting access for 5-2
fs listquota 4-3, A-28 setting ACL on A-32
fs quota 4-2, A-30 translating to volume ID number A-19
fs setacl 5-11, 5-13, 5-14, 5-15, 5-16, A-32 translating to volume name A-19, A-28
fs whereis 4-5, A-35 using in AFS 3-11
fs whichcell A-37 Directory references
fs wscell A-39 acceptable short forms 2-5
ftp 1-17 Disk partition
kas examine 3-8, 3-14, A-40 consequences of exceeding size 4-2
klog 3-3, 3-4, 3-5, A-44 listing blocks available A-19
knfs A-49 listing size A-19
kpasswd 3-13, A-53 use in AFS 1-7
login 3-5 Disk space and volume quotas 4-2
man 2-8 Distributed file system
pagsh 3-5, A-56 advantages of 1-3
pts adduser 6-12, A-58 defined 1-3
pts apropos A-60
pts chown 6-19, A-62 Entering AFS 3-2
pts creategroup 6-11, A-64 Error messages, diagnosing 7-12
pts delete 6-14, A-67 Examining
pts examine 6-6, 6-9, 6-17, A-69 Authentication Database entry A-40
pts help A-73 Protection Database entry A-69
pts listowned 6-7, 6-8, A-75 See also Checking, Listing
pts membership 6-5, 6-8, A-78 Examples
pts removeuser 6-13, A-81 adding a user to an ACL 5-11
pts rename 6-20, A-83 adding a user to negative rights list 5-14
pts setfields 6-17, A-85 adding members to a group 6-12
rcp 1-17 adding multiple groups to an ACL 5-11
rlogin 1-17 authenticating 3-6
rsh 1-17 authenticating as another user 3-6
tokens 3-4, 3-5, 3-9, A-89 authenticating in a foreign cell 3-7
unlog 3-9, A-91 changing group names 6-21
Commands, inability to execute 7-9 changing group owners 6-19, 6-20
Common arguments checking status of file servers 4-6
on fs commands A-2 checking volume quota 4-3
on pts commands A-6 checking volume quota percentage used
Communication 4-2
among cells and sites 1-6 copying ACLs 5-18
between clients and servers 1-2 creating a group 6-11
Index-2 AFS Users Guide
Index
examining volume information 4-4 Fs copyacl command 5-18, A-16
listing a users groups 6-9 Fs examine command 4-3, A-19
listing access to a group 6-17 Fs help command A-21
listing ACL for current directory 5-8 Fs listacl command 5-7, A-23
listing ACL for home directory 5-8 Fs listcells command 4-8, A-26
listing ACLs for multiple directories 5-9 Fs listquota command 4-3, A-28
listing group members 6-5 Fs quota command 4-2, A-30
listing group owners 6-6 Fs setacl command 5-11, 5-13, 5-14, 5-15,
listing group quota 6-10 5-16, A-32
listing groups a group owns 6-7 Fs whereis command 4-5, A-35
locating files and directories 4-5 Fs whichcell command A-37
locating multiple files 4-5 Fs wscell command A-39
removing a group 6-14 Ftp command 1-17
removing a user from normal access rights
5-13 Group A-4
removing a user while adding another 5-13 Group privacy flags 6-16
removing deleted groups from ACLs 6-15 Group-creation quota 6-4
removing users from groups 6-14 defined A-5
replacing an ACL 5-17 listing A-69
restoring access, negative rights 5-15 lowered by pts creategroup A-64
setting access to a group 6-18 restored by pts delete A-67
unauthenticating from selected cells 3-10 setting A-85
using chmod 5-21 GroupMax counter in Protection Database
volume/mount point interaction 1-8 A-64
Exiting AFS 3-9 Groups
Expiration date adding members 6-12, A-58
of Authentication Database entry, listing changing name in Protection Database
A-40 A-83
changing name of 6-19
Failed authentication attempts creating in Protection Database A-64
listing limit from Authentication Database creation quota 6-4
entry A-40 deleting 6-13
File server machine deleting from Protection Database A-67
as volume location A-35 group use 6-3
checking status of A-11 group-owned groups 6-3
Files listing members A-78
caching 1-11 listing number of members A-69
denying access 1-12 listing owned groups A-75
determining location 4-5 machines as members 6-2, A-58
inability to access 7-4 mapping name to AFS UID A-69
inability to copy 7-6 naming 6-4
inability to grant access 7-11 on access control lists (ACLs) 6-2
inability to save 7-2 orphaned A-75
listing ACL on parent directory A-23 owner 6-2, 6-11, 6-19
listing home cell A-37 prefix-less A-64
setting ACL on parent directory A-32 private use 6-2
sharing 1-12, 1-15 protecting group information 6-16
translating to volume ID number A-19 regular A-64
translating to volume name A-19, A-28 removing members 6-13, A-81
updating 1-11 removing users 6-13
using in AFS 3-11 restrictions on name format A-64
Flags self-owned groups 6-3
in AFS commands 2-1 setting AFS UID of A-64
See also Privacy flag setting privacy flags on A-85
Force flag on all pts commands A-7 shared use 6-3
Foreign cells 3-12 system-defined A-5
access control lists 3-12
accessing 3-12, 4-8 Help 2-7
defined 1-6 examples 2-7
Fs apropos command A-9 for fs commands A-21
Fs checkservers command 4-6, A-11 for pts commands A-73
Fs cleanacl command 6-15, A-14 on-line 2-7
Fs commands Help flag
common arguments A-2 on all fs commands A-2
privilege requirements A-3 on all pts commands A-7
AFS Users Guide Index-3
Index
Help, operation code 2-7 server encryption key in Authentication
Home cell Database A-40
listing for client machine A-39 tokens held by issuer A-89
listing for directory/file A-37 volume quota percent used A-28, A-30
volume quota, with volume and partition
INSERT access right 5-4, 5-7, A-24, A-33 information A-19
Instances in AFS commands 2-1 volume quota, with volume size A-28
volume size A-19, A-28
Kas examine command 3-8, 3-14, A-40 See also Checking, Examining
Kernel listing of database server machines Local cell, defined 1-6
A-26 Local machine 1-5
Key version number Local password files
listing from Authentication Database A-40 with and without AFS login 1-15
Keyword LOCK access right 5-5, A-24, A-33
using to get help on fs commands A-9 Lock Status
using to get help on pts commands A-60 listing limit from Authentication Database
using with apropos 2-7 entry A-40
Klog command 3-3, 3-4, 3-5, A-44 Locktime
Knfs command A-49, B-3 listing limit from Authentication Database
Kpasswd command 3-13, A-53 entry A-40
Logging in 3-2
Learning Logging out 3-9
AFS UID from user/group name A-69 Login command 3-5
home cell of directory/file A-37 LOOKUP access right 5-4, 5-6, 5-7, A-24, A-33
user/group name given AFS UID A-69
volume ID number given directory/file Machines
name A-19 adding to groups A-58
volume location given directory/file name as members of groups 6-2
A-35 listing groups belonged to A-78
volume name given directory/file name Man command 2-8
A-19, A-28 Manual pages (UNIX style) 2-8
volume quota given directory/file name Members
A-19 adding to groups A-58
Lifetime of system-defined groups A-5
See also Ticket lifetime removing from groups A-81
Limits on authentication attempts 3-8 Members privacy flag 6-16
Listing Mount points
ACL entries A-23 defined 1-7
Authentication Database entry A-40 Mutual authentication 1-13
client machines home cell A-39
creator of Protection Database entry A-69 Negative access rights 5-5, 5-9, 5-13, 5-14,
database server machines from client kernel 5-15, A-32
A-26 Negative rights 5-16
directory/file location 4-5, A-35 NFS
disk partition blocks available A-19 obtaining authenticated AFS access from
disk partition percent used A-28 non-supported client of A-49
disk partition size A-19 using AFS commands on B-4
file or directory location 4-5 using the NFS/AFS Translator 1-18
file server machine status A-11 using with AFS 1-18, B-1
group creator 6-6 NFS/AFS Translator B-1
group information about users 6-8 components B-2
group owner 6-6 connecting to AFS B-2
group-creation quota A-69 required environment variables B-2
groups machine belongs to A-78 required mount point to AFS B-2
groups owned by a group 6-7, A-75 using AFS commands B-4
groups user belongs to A-78 Noauth flag on all pts commands A-7
home cell of directory/file A-37 "none" grouping of access rights 5-5, A-33
information about a group 6-5 Normal access rights 5-5, 5-9, 5-15
key version number from Authentication
Database A-40 Offline message, examining A-19
members of a group A-78 Online help 2-7
number of group memberships A-69 Operation codes
owned groups A-75 abbreviations and aliases 2-4
owner of Protection Database entry A-69 Operation codes in AFS commands 2-1
privacy flags on Protection Database entry Owned privacy flag 6-16
A-69
Index-4 AFS Users Guide
Index
Owner Pts delete command 6-13, 6-14, A-67
changing for Protection Database entry Pts examine command 6-6, 6-8, 6-9, 6-17,
A-62 A-69
listing for Protection Database entry A-69 Pts help command A-73
of Protection Database entry, defined A-4 Pts listowned command 6-7, 6-8, A-75
setting for Protection Database entry A-64 Pts membership command 6-5, 6-8, A-78
Pts removeuser command 6-13, A-81
PAG, creating with pagsh command A-56 Pts rename command 6-20, A-83
Pagsh command 3-5, A-56 Pts setfields command 6-16, 6-17, A-85
Password 1-13
changing your AFS password 3-14 Quitting AFS 3-9
changing your UNIX password 3-14 Quota
changing/setting in Authentication Database See also Group-creation quota, Volume
A-53 quota
Password expiration date 3-14
Password lifetime Rcp command 1-17
listing from Authentication Database entry READ access right 5-4, A-24, A-32
A-40 "read" grouping of access rights 5-5, A-33
Pathnames 3-11 Regular group
Prefix-less group See also Group, regular
See also Group, prefix-less Remote commands 1-17
Privacy flags 6-16 Remove privacy flag 6-16
listing for Protection Database entry A-69 Removing
setting on Protection Database entry A-85 ACL entries A-32
using 6-16 AFS UIDs from ACLs A-14
Privilege requirements deleted groups from ACLs 6-15
for fs commands A-3 users from groups 6-13, A-81
for pts commands A-7 Replacing an ACL 5-16
Privileged users Restoring access to directories after denying it
adding to system:administrators group 5-15
A-58 Rlogin command 1-17
removing from system:administrators group Rsh command 1-17
A-81
Protection Saving files
AFS vs. UNIX A-3 on crashed file servers 4-6
of group information 6-16 Saving files, inability to 7-2
Protection Database A-4 Security
adding member to group A-58 Access control lists (ACLs) 1-14
changing name of entry A-83 in AFS 1-13
changing owner of entry A-62 passwords and mutual authentication 1-13
creating group entry A-64 Server encryption key
creator of entry defined A-5 listing from Authentication Database A-40
deleting entry A-67 Server machines
examining entry A-69 checking status 4-6
group-creation quota defined A-5 defined 1-2
information in entry A-4 Setting
listing entry creator A-69 ACL entries A-32
listing entry owner A-69 AFS UID for group A-64
listing group membership A-69, A-78 group-creation quota A-85
listing groups owned A-75 initial owner for group A-64
listing privacy flags A-69 password in Authentication Database A-53
membership count defined A-5 privacy flags on Protection Database entry
owner of entry defined A-4 A-85
removing members from group A-81 "Shorthand" groupings of access rights A-33
setting group-creation quota A-85 Site
setting initial owner of entry A-64 defined 1-5
setting privacy flags A-85 Status
Protection Server A-4 of file server machines 4-6, A-11
Pts adduser command 6-11, 6-12, A-58 of group 6-16
Pts apropos command A-60 Status flag
Pts chown command 6-3, 6-19, A-62 in Authentication Database, listing A-40
Pts commands Status privacy flag 6-16
common arguments A-6 Subdirectories, accessing 5-2, 5-6
privilege requirements A-7 Switches 2-4, 2-5
Pts creategroup command 6-11, A-64 importance of order 2-4, 2-5
AFS Users Guide Index-5
Index
in AFS commands 2-1 file access/protection 1-16
Syntax of AFS commands explained 2-1 file transfer 1-15
System groups 5-6 login 1-15
list of A-5 passwords 1-15
on ACLs A-6 sharing files 1-15
system:administrators 5-6 UNIX mode bits 5-20
system:anyuser 5-2, 5-6 UNIX mode bits 5-20
system:authuser 5-6 UNIX UID
System:administrators group 5-6, A-6 functional difference from AFS UID A-4
System:anyuser group 3-12, 5-2, 5-6, A-5 Unlog command 3-9, A-91
System:authuser group 5-6, A-5 User account lockout time 3-8
Users
Test flag adding to groups 6-12, A-58
on all pts commands A-7 changing name in Protection Database
ThisCell file (client) A-39 A-83
Ticket lifetime deleting from Protection Database A-67
listing from Authentication Database A-40 listing groups belonged to 6-12, A-78
Tickets listing groups owned 6-7, A-75
creating for server process A-44 listing number of group memberships 6-6,
destroying A-91 A-69
listing A-89 mapping name to AFS UID A-69
Tokens removing from groups 6-13, A-81
as proof of authentication 1-13, 3-2 setting group-creation quota A-85
creating for server process A-44 setting privacy flags A-85
destroying 3-9, A-91
getting 3-3 Volume
lifetime 3-4 and disk partition size A-19
listing 3-4, 3-5, A-89 messages associated with A-19
proof of authentication 3-3 partition percent use, listing A-28
use in mutual authentication 1-13 percent use, listing A-28
used by Cache Manager 3-3 size, listing A-19, A-28
Tokens command 3-4, 3-5, 3-9, A-89 Volume ID number
Translating learning given directory/file name A-19
AFS UID to user/group name A-69 Volume location
directory/file name to volume ID number learning given directory/file name A-35
A-19 Volume name
directory/file name to volume location learning given directory/file name A-19,
A-35 A-28
directory/file name to volume name A-19, Volume quota
A-28 checking percentage used 4-2
directory/file name to volume quota A-19, checking size of 4-3
A-28 exceeding 4-2
directory/file name to volume quota percent listing percent used A-30
used A-30 listing with volume and partition
user/group name to AFS UID A-69 information A-19
Troubleshooting listing with volume size A-28
accidental removal from ACL 7-8 Volumes
common error messages 7-12 accessing via mount points 1-7
inability to access directory/file 7-4 defined 1-7
inability to copy file 7-6 getting information on 4-3
inability to execute command 7-9 volume/mount point interaction 1-10
inability to grant access 7-11
inability to save file 7-2 Workstation
See also Client machine
UID WRITE access right 5-4, A-24, A-32
See also AFS UID, UNIX UID "write" grouping of access rights 5-5, A-33
Unauthenticating 3-9, A-91
as part of logout 3-9
defined 3-9
from selected cells 3-9
UNIX
differences between AFS and UNIX 1-15
manual pages for AFS command suites 2-8
UNIX differences
commands 1-17
Index-6 AFS Users Guide
Table of Contents
About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Audience and Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
How To Use This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Concepts
1. Basic AFS Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1. Working in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
1.1.1. Client/Server Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
1.1.2. A Distributed File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.2. The Components of AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
1.2.1. AFS File Space and Local File Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
1.2.2. Cells and Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
1.2.3. Volumes and Mount Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
1.2.4. Volume Quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
1.3. Using Files in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
1.3.1. The Clients Cache Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
1.3.2. Updating Copies of Cached Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
1.3.3. Multiple Users Modifying Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
1.4. AFS Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
1.4.1. Passwords and Mutual Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
1.4.2. Access Control Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.5. Differences Between UNIX and AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
1.5.1. File Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
1.5.2. Login and Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
1.5.3. File and Directory Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
1.5.4. Machine Outages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
1.5.5. Remote Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
1.6. Using AFS with NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
2. AFS Command Syntax and On-line Help . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.1. AFS Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.1.1. AFS Command Symbol Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.1.2. Command Syntax Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.2. Rules for Using AFS Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.2.1. Spaces and Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.2.2. Abbreviations and Aliases for Operation Codes . . . . . . . . . . . . . . . . . . . 2-4
2.2.3. Omitting Argument Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.2.4. Shortening Switches and Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.2.5. Shortening Directory References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.3. Getting Help in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
AFS Users Guide i
Table of Contents
2.3.1. Displaying Command Syntax and Aliases . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.3.2. Displaying Operation Code Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.3.3. Accessing Manual Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Using AFS
3. Using AFS the Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.1. Entering AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.1.1. Logging in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.1.1.1. AFS Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.1.1.2. Two-Step Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.1.2. Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.1.2.1. Getting Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.1.2.2. Getting Tokens for Foreign Cells . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.1.2.3. Limits on Token Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.1.2.4. Getting Tokens as Another User . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.1.2.5. Listing Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.1.2.6. Token Lifetimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
To Log in login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
To Authenticate with AFS pagsh and klog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
To Check Tokens tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.1.3. Limits on Failed Authentication Attempts . . . . . . . . . . . . . . . . . . . . . . . . 3-7
To list your authentication limit and lockout time kas examine . . . . . . . . . . . . 3-8
3.2. Exiting AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
To Unauthenticate with all cells unlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
To Unauthenticate from some cells unlog with the -cell flag . . . . . . . . . . . . . . . 3-10
To Log Out regular logout command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
3.3. Accessing Directories and Files in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
3.3.1. AFS Pathnames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
3.3.2. Accessing Foreign Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
3.3.2.1. Your Cache Managers Foreign Cell List . . . . . . . . . . . . . . . . . . . 3-12
3.3.2.2. Foreign Cell Users on Access Control Lists . . . . . . . . . . . . . . . . . . 3-12
3.4. Changing Your Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
To list password expiration date kas examine . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
To Change Your AFS Password kpasswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
To Change Your UNIX Password /bin/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Listing Information
4. Listing Information about AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.1. Checking a Directorys Volume Quota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
To Check Percentage of Quota Used fs quota . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
To List Quota and General Information on a Volume fs listquota . . . . . . . . . . 4-3
To List General Information on a Volume fs examine . . . . . . . . . . . . . . . . . . . . 4-3
4.2. Locating Files and Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
To List the Location of a File or Directory fs whereis . . . . . . . . . . . . . . . . . . . . 4-5
4.3. Checking the Status of File Server Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
To Check File Server Machine Status fs checkservers . . . . . . . . . . . . . . . . . . . . 4-6
4.4. Determining Access to Foreign Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
To List Foreign Cells fs listcells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
ii AFS Users Guide
Table of Contents
Protecting Directories
5. Protecting Your Directories and Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.1. Access Control Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.1.1. Directory Level Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.2. AFS Access Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.2.1. Shorthand Forms for Common Combinations of Rights . . . . . . . . . . . . 5-5
5.2.2. Normal and Negative Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
5.2.3. Other Variable Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
5.3. Using System Groups on ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
5.3.1. Allowing Access to Subdirectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
5.3.2. Allowing Access to Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.3.3. Allowing Access to Users from Foreign Cells . . . . . . . . . . . . . . . . . . . . . . 5-7
5.4. Listing an ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
To List a Directorys ACL fs listacl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.5. Changing an ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
5.5.1. Granting Access to Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
To Grant Access to a Directory fs setacl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
5.5.2. Denying Access to Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
To Remove an Entry from the Normal rights List fs setacl . . . . . . . . . . . . . . . . 5-13
To Add an Entry to the Negative rights List fs setacl -negative . . . . . . . . . . . . 5-14
5.5.3. Restoring Access to Directories after Denying It . . . . . . . . . . . . . . . . . . . 5-15
To Remove an Entry from the Negative rights List fs setacl -negative . . . . . . . 5-15
5.5.4. Replacing an ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
To Replace an ACL fs setacl -clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
5.6. Copying ACLs Between Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
To Copy an ACL Between Directories fs copyacl . . . . . . . . . . . . . . . . . . . . . . . . 5-18
5.7. Using the UNIX Mode Bits in AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
6. Using Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.1. About Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.1.1. Suggestions for Using Groups Effectively . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.1.1.1. Private Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.1.1.2. Shared Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.1.1.3. Group Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.1.2. Group Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
6.1.3. Group Quota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
6.2. Listing Information About Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
To List the Members of a Group pts membership . . . . . . . . . . . . . . . . . . . . . . . 6-5
To List Who Owns/Created a Group pts examine . . . . . . . . . . . . . . . . . . . . . . . 6-6
To List the Groups a Group Owns pts listowned . . . . . . . . . . . . . . . . . . . . . . . . 6-7
6.3. Listing Group-Related Information About Users . . . . . . . . . . . . . . . . . . . . . . . . 6-8
To List Groups to Which a User Belongs pts membership . . . . . . . . . . . . . . . . 6-8
To List the Groups a User Owns pts listowned . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
To List a Users Group Quota pts examine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
6.4. Creating Groups and Adding Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
To Create a Group pts creategroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
To Add Members to a Group pts adduser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
6.5. Removing Users from a Group and Deleting a Group . . . . . . . . . . . . . . . . . . . . 6-13
To Remove a User from a Group pts removeuser . . . . . . . . . . . . . . . . . . . . . . . 6-13
To Delete a Group pts delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
To Remove a Deleted Group from an ACL fs cleanacl . . . . . . . . . . . . . . . . . . . 6-15
AFS Users Guide iii
Table of Contents
6.6. Protecting Group-Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
6.6.1. Using Privacy Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
To List a Groups Privacy Flags pts examine . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
To Set the Privacy Flags on a Group pts setfields . . . . . . . . . . . . . . . . . . . . . . . . 6-17
6.7. Changing a Groups Owner or Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
To Change a Groups Owner pts chown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
To Change a Groups Name pts rename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
Troubleshooting
7. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.1. Problem: Cannot Save File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.2. Problem: Cannot Access a Directory or File . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.3. Problem: Cannot Copy a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
7.4. Problem: Accidental Removal from an ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
7.5. Problem: Cannot Execute Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
7.6. Problem: Cannot Grant Access to a Directory . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
7.7. Diagnosing Common Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
Appendix A: Command Reference
Appendix A. Command Reference A-1
A.1. AFS Command Reference Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
A.2. About the fs Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
A.2.1. Common Arguments and Flags on fs Commands . . . . . . . . . . . . . . . . . . A-2
A.2.2. The Privileges Required for fs Commands . . . . . . . . . . . . . . . . . . . . . . . A-3
A.3. About the pts Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
A.3.1. File and Directory Protection under AFS . . . . . . . . . . . . . . . . . . . . . . . . A-3
A.3.2. The Protection Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
A.3.3. The Standard System Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
A.3.4. Common Arguments and Flags used by pts Commands . . . . . . . . . . . . A-6
A.3.5. Privileges Required for pts Commands . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
A.4. About Non-Command Suite Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
fs apropos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
fs checkservers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
fs cleanacl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
fs copyacl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16
fs examine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-19
fs help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-21
fs listacl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23
fs listcells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26
fs listquota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28
fs quota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-30
fs setacl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-32
fs whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-35
fs whichcell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-37
fs wscell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-39
kas examine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-40
klog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-44
knfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-49
kpasswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-53
pagsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-56
iv AFS Users Guide
Table of Contents
pts adduser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-58
pts apropos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-60
pts chown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-62
pts creategroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-64
pts delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-67
pts examine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-69
pts help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-73
pts listowned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-75
pts membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-78
pts removeuser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-81
pts rename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-83
pts setfields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-85
tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-89
unlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-91
Appendix B: NFS/AFS Translator
Appendix B. NFS/AFS Translator B-1
B.1. Setting up the Components of the NFS/AFS Translator . . . . . . . . . . . . . . . . . . B-2
B.1.1. Establishing the NFS/AFS Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
To connect to AFS on a supported operating system . . . . . . . . . . . . . . . . . . . . . . B-2
To connect to AFS on a non-supported operating system . . . . . . . . . . . . . . . . . . . B-3
B.2. Using AFS Commands through NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4
B.3. Troubleshooting the NFS/AFS Translator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
B.3.1. Your NFS Client Machine is Frozen . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
B.3.2. NFS/AFS Translator Reboots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
B.3.3. System Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
Glossary
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Glossary-1
Index
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
AFS Users Guide v

You might also like