# chacl

## NAME



           chacl - change the access control list of a file or directory
    


## SYNOPSIS



           **chacl acl pathname...**
           **chacl -b acl dacl pathname...**
           **chacl -d dacl pathname...**
           **chacl -R pathname...**
           **chacl -D pathname...**
           **chacl -B pathname...**
           **chacl -l pathname...**
           **chacl -r pathname...**
    


## DESCRIPTION



           _chacl_ is an IRIX-compatibility command, and is maintained for
           those users who are familiar with its use from either XFS or IRIX.
           Refer to the **SEE ALSO** section below for a description of tools
           which conform more closely to the (withdrawn draft) POSIX 1003.1e
           standard which describes Access Control Lists (ACLs).
    
           _chacl_ changes the ACL(s) for a file or directory.  The ACL(s)
           specified are applied to each file in the _**pathname** _arguments.
    
           Each ACL is a string which is interpreted using the
           acl_from_text(3) routine.  These strings are made up of comma
           separated clauses each of which is of the form, tag:name:perm.
           Where _**tag** _can be:
    
           "user" (or "u")
                  indicating that the entry is a "user" ACL entry.
    
           "group" (or "g")
                  indicating that the entry is a "group" ACL entry.
    
           "other" (or "o")
                  indicating that the entry is an "other" ACL entry.
    
           "mask" (or "m")
                  indicating that the entry is a "mask" ACL entry.
    
           _**name** _is a string which is the user or group name for the ACL
           entry.  A null _**name** _in a user or group ACL entry indicates the
           file's owner or file's group.  _**perm** _is the string "rwx" where each
           of the entries may be replaced by a "-" indicating no access of
           that type, e.g. "r-x", "--x", "---".
    


## OPTIONS



           **-b** Indicates that there are two ACLs to change, the first is
                  the file access ACL and the second the directory default
                  ACL.
    
           **-d** Used to set only the default ACL of a directory.
    
           **-R** Removes the file access ACL only.
    
           **-D** Removes directory default ACL only.
    
           **-B** Remove all ACLs.
    
           **-l** Lists the access ACL and possibly the default ACL
                  associated with the specified files or directories.  This
                  option was added during the Linux port of XFS, and is not
                  IRIX compatible.
    
           **-r** Set the access ACL recursively for each subtree rooted at
                  _**pathname**_(s).  This option was also added during the Linux
                  port of XFS, and is not compatible with IRIX.
    


## EXAMPLES



           A minimum ACL:
    
             **chacl u::rwx,g::r-x,o::r-- file**
    
           The file ACL is set so that the file's owner has "rwx", the file's
           group has read and execute, and others have read only access to
           the file.
    
           An ACL that is not a minimum ACL, that is, one that specifies a
           user or group other than the file's owner or owner's group, must
           contain a mask entry:
    
             **chacl u::rwx,g::r-x,o::r--,u:bob:r--,m::r-x file1 file2**
    
           To set the default and access ACLs on _**newdir** _to be the same as on
           _**olddir**_ , you could type:
    
             **chacl -b `chacl -l olddir | \**
                 **sed -e 's/.*\[//' -e 's#/# #' -e 's/]$//'` newdir**
    


## CAUTIONS



           _chacl_ can replace the existing ACL.  To add or delete entries, you
           must first do _**chacl -l** _to get the existing ACL, and use the output
           to form the arguments to _chacl_.
    
           Changing the permission bits of a file will change the file access
           ACL settings (see chmod(1)).  However, file creation mode masks
           (see **umask**(1)) will not affect the access ACL settings of files
           created using directory default ACLs.
    
           ACLs are filesystem extended attributes and hence are not
           typically archived or restored using the conventional archiving
           utilities.  See **attr**(5) for more information about extended
           attributes and see xfsdump(8) for a method of backing them up
           under XFS.
    


* * *