logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

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 SEEALSO 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", "---".

Examples

       A minimum ACL:

         chaclu::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:

         chaclu::rwx,g::r-x,o::r--,u:bob:r--,m::r-xfile1file2

       To set the default and access ACLs on newdir to be the same as on olddir, you could type:

         chacl-b`chacl-lolddir|\sed-e's/.*\[//'-e's#/##'-e's/]$//'`newdir

Name

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

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.

See Also

getfacl(1), setfacl(1), chmod(1), umask(1), acl_from_text(3), acl(5), xfsdump(8)

September 2001                                 ACL File Utilities                                       CHACL(1)

Synopsis

chaclaclpathname...chacl-bacldaclpathname...chacl-ddaclpathname...chacl-Rpathname...chacl-Dpathname...chacl-Bpathname...chacl-lpathname...chacl-rpathname...

See Also