# Troubleshooting

This chapter explains how to investigate and solve some problems you can sometimes encounter when working with AFS files. To use the instructions, find the heading that describes your problem or matches the error message you received.

## Problem: Cannot Access, Copy, or Save File

1. Issue the tokens command to verify that you have valid tokens. For complete instructions, see To Display Your Tokens.

          % tokens

   - If your tokens are valid, proceed to Step 2.

   - If your do not have tokens for the relevant cell, or they are expired, issue the aklog command to authenticate. You may also need to first obtain a kerberos ticket usingkinit since tokens often expire at the same time as TGT's. For complete instructions, see To Authenticate with AFS. Then try accessing or saving the file again. If you are not successful, proceed to Step 2.

            % aklog

2. Issue the fs checkservers command to check the status of file server machines. For complete instructions, see Checking the Status of Server Machines.

          % fs checkservers &

   - If the following message appears, proceed to Step 3.

            All servers are running.

   - Output like the following indicates that your Cache Manager cannot reach the indicated file server machines.

            These servers unavailable due to network or server problem:
            list of machines.

     Issue the fs whereis command to check if the file you are attempting to access or save is stored on one of the inaccessible file server machines. For complete instructions, see Locating Files and Directories.

            % fs whereis <dir/file path>

     If your file is stored on an inaccessible machine, then you cannot access the file or save it back to the File Server until the machine is again accessible. If your file is on a machine that is not listed as inaccessible, proceed to Step 3.

3. Issue the fs listacl command to verify that you have the permissions you need for accessing, copying, or saving the file. For complete instructions, see To display an ACL.

          % fs listacl <dir/file path>

   You need the indicated permissions:

   - To access, copy, or save a file, you must have the l (lookup) permission on the directory and on all directories above it in the pathname.

   - To save changes to an existing file, you must in addition have the w (write) permission. To create a new file, you must in addition have the i (insert) and w permissions.

   - To copy a file between two directories, you must in addition have the r (read) permission on the source directory and the i permission on the destination directory.

   If you do not have the necessary permissions but own the directory, you always have the a (administer) permission even if you do not appear on the ACL. Issue the fs setacl command to grant yourself the necessary permissions. For complete instructions, see Changing an ACL.

          % fs setacl  -dir <directory>+ -acl <access list entries>+

   If you do not have the necessary permissions and do not own the directory, ask the owner or a system administrator to grant them to you. If they add you to a group that has the required permissions, you must issue the aklog command to reauthenticate before you can exercise them.

   If you still cannot access the file even though you have the necessary permissions, contact your system administrator for help in investigating further possible causes of your problem. If you still cannot copy or save the file even though you have the necessary permissions, proceed to Step 4.

4. If copying a file, issue the fs listquota command to check whether the volume into which you are copying it, or the partition that houses that volume, is almost full. For saving, check the volume and partition that contain the directory into which you are saving the file. For complete instructions, see Displaying Volume Quota.

          % fs listquota  <dir/file path>

   The command produces output as in the following example:

          % fs listquota /afs/abc.com/usr/terry
          Volume Name     Quota    Used    % Used   Partition
          user.terry      10000    3400       34%         86%

   - If the value in the `Partition` field is not close to 100%, the partition is not almost full. Check the value in the `% Used` field. If it is close to 100%, then the volume is almost full. If possible, delete files from the volume that are no longer needed, or ask your system administrator to increase the volume's quota.

     If the value in the `% Used` field is not close to 100% (is, say, 90% or less), then it is unlikely that you are exceeding the volume's quota, unless the file is very large or the volume's quota is small. Contact your system administrator for help in investigating further possible causes of your problem.

   - If the value in the `Partition` field is very close to 100%, the partition is possibly nearly full. However, server machine partitions are usually very large and can still have enough space for an average file when nearly full. You can either ask your system administrator about the partition's status, or issue the fs examine command. The final line in its output reports how many kilobyte blocks are still available on the partition. For complete instructions, see Displaying Volume Quota.

            % fs examine  <dir/file path>

     If there is enough free space on the partition but you still cannot save the file, ask your system administrator for help in investigating further possible causes of your problem.

## Problem: Accidentally Removed Your Entry from an ACL

1. If you own the directory from which you have accidentally removed your ACL entry, then you actually still have the a (administer) permission even if it does not appear on the ACL. You normally own your home directory and all of its subdirectories, for instance. Issue the fs setacl command to grant yourself all other permissions. For complete instructions, see To Add, Remove, or Edit Normal ACL Permissions.

          % fs setacl  -dir <directory> -acl <your_username> all

   For `directory`, provide the complete pathname to the directory (for example, /afs/abc.com/usr/`your_username`). This is necessary because AFS cannot interpret pathname abbreviations if you do not have the l (lookup) permission.

2. If you do not own the directory, issue the fs listacl to check if any remaining entries grant you the permissions you need (perhaps you belong to one or more groups that appear on the ACL). For complete instructions, see To display an ACL.

          % fs listacl <dir/file path>

   - The following message displays the directory's ACL. If you need permissions that no entry currently grants you, ask the directory's owner or your system administrator for help.

            Access list for <dir/file path> is
            Normal rights
            list of entries

   - If the command returns the following error message instead of an ACL, then you do not have the l permission.

            fs: You don't have the required access rights on 'dir/file path'

     Ask the directory's owner or your system administrator to grant you the permissions you need. If they add you to a group that has the required permissions, you must issue the aklog command to reauthenticate before you can exercise them.

## Error Message: "afs: Lost contact with fileserver"

Issue the fs checkservers command to check the status of file server machines. For complete instructions, see Checking the Status of Server Machines.

       % fs checkservers &

- If the following message appears, ask your system administrator for assistance in diagnosing the cause of the `Lost contact` error message.

         All servers are running.

- Output like the following indicates that your Cache Manager cannot reach the indicated file server machines. You must wait until they are again accessible before continuing to work with the files that are stored on them.

         These servers unavailable due to network or server problem:
         list_of_machines.

## Error Message: "`command`: Connection timed out"

Issue the fs checkservers command as described in Error Message: afs: Lost contact with fileserver.

## Error Message: "fs: You don't have the required access rights on '`file`'"

You do not have the ACL permissions you need to perform the operation you are attempting. If you own the directory and have accidentally removed yourself from the ACL, see Problem: Accidentally Removed Your Entry from an ACL. Otherwise, ask the directory's owner or your system administrator to grant you the appropriate permissions.

## Error Message: "afs: failed to store file"

Follow the instructions in Problem: Cannot Access, Copy, or Save File.